From f4f1444e244d78dda4453051842d068106ef1fb7 Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Tue, 20 Jun 2017 11:35:16 +0100 Subject: [PATCH] prepare for complete rewrite --- .editorconfig | 18 - .gitignore | 0 .gitmodules | 4 - LICENSE.md | 201 - _embed/public/ace | 1 - _embed/public/css/fonts.css | 137 - _embed/public/css/material/icons.woff2 | Bin 44300 -> 0 bytes _embed/public/css/normalize.css | 461 - _embed/public/css/old.css | 1207 --- .../css/roboto/medium-cyrillic-ext.woff2 | Bin 15292 -> 0 bytes .../public/css/roboto/medium-cyrillic.woff2 | Bin 10060 -> 0 bytes .../public/css/roboto/medium-greek-ext.woff2 | Bin 1412 -> 0 bytes _embed/public/css/roboto/medium-greek.woff2 | Bin 7176 -> 0 bytes .../public/css/roboto/medium-latin-ext.woff2 | Bin 11912 -> 0 bytes _embed/public/css/roboto/medium-latin.woff2 | Bin 14596 -> 0 bytes .../public/css/roboto/medium-vietnamese.woff2 | Bin 4780 -> 0 bytes .../css/roboto/normal-cyrillic-ext.woff2 | Bin 15832 -> 0 bytes .../public/css/roboto/normal-cyrillic.woff2 | Bin 9996 -> 0 bytes .../public/css/roboto/normal-greek-ext.woff2 | Bin 1432 -> 0 bytes _embed/public/css/roboto/normal-greek.woff2 | Bin 7208 -> 0 bytes .../public/css/roboto/normal-latin-ext.woff2 | Bin 12008 -> 0 bytes _embed/public/css/roboto/normal-latin.woff2 | Bin 14584 -> 0 bytes .../public/css/roboto/normal-vietnamese.woff2 | Bin 4896 -> 0 bytes _embed/public/css/styles.css | 1207 --- _embed/public/js/common.js | 685 -- _embed/public/js/editor.js | 278 - _embed/public/js/form2js.js | 1 - _embed/public/js/listing.js | 580 -- _embed/templates/base.tmpl | 289 - _embed/templates/editor.tmpl | 57 - _embed/templates/frontmatter.tmpl | 56 - _embed/templates/listing.tmpl | 103 - _embed/templates/minimal.tmpl | 1 - _embed/templates/single.tmpl | 23 - assets/assets.go | 33 - assets/binary.go | 7413 ----------------- cmd/filemanager/main.go | 21 - editor.go | 120 - file.go | 161 - filemanager.go | 116 - frontmatter/frontmatter.go | 275 - frontmatter/runes.go | 58 - frontmatter/runes_test.go | 131 - frontmatter/types.go | 13 - frontmatter/types_test.go | 49 - http.go | 168 - http_checksum.go | 50 - http_command.go | 135 - http_download.go | 95 - http_listing.go | 144 - http_put.go | 138 - http_search.go | 117 - http_single.go | 50 - listing.go | 184 - page.go | 219 - pre-build.sh | 7 - response_writer.go | 29 - utils.go | 58 - utils_test.go | 41 - 59 files changed, 15134 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .gitignore delete mode 100644 .gitmodules delete mode 100644 LICENSE.md delete mode 160000 _embed/public/ace delete mode 100644 _embed/public/css/fonts.css delete mode 100644 _embed/public/css/material/icons.woff2 delete mode 100644 _embed/public/css/normalize.css delete mode 100644 _embed/public/css/old.css delete mode 100644 _embed/public/css/roboto/medium-cyrillic-ext.woff2 delete mode 100644 _embed/public/css/roboto/medium-cyrillic.woff2 delete mode 100644 _embed/public/css/roboto/medium-greek-ext.woff2 delete mode 100644 _embed/public/css/roboto/medium-greek.woff2 delete mode 100644 _embed/public/css/roboto/medium-latin-ext.woff2 delete mode 100644 _embed/public/css/roboto/medium-latin.woff2 delete mode 100644 _embed/public/css/roboto/medium-vietnamese.woff2 delete mode 100644 _embed/public/css/roboto/normal-cyrillic-ext.woff2 delete mode 100644 _embed/public/css/roboto/normal-cyrillic.woff2 delete mode 100644 _embed/public/css/roboto/normal-greek-ext.woff2 delete mode 100644 _embed/public/css/roboto/normal-greek.woff2 delete mode 100644 _embed/public/css/roboto/normal-latin-ext.woff2 delete mode 100644 _embed/public/css/roboto/normal-latin.woff2 delete mode 100644 _embed/public/css/roboto/normal-vietnamese.woff2 delete mode 100644 _embed/public/css/styles.css delete mode 100644 _embed/public/js/common.js delete mode 100644 _embed/public/js/editor.js delete mode 100644 _embed/public/js/form2js.js delete mode 100644 _embed/public/js/listing.js delete mode 100644 _embed/templates/base.tmpl delete mode 100644 _embed/templates/editor.tmpl delete mode 100644 _embed/templates/frontmatter.tmpl delete mode 100644 _embed/templates/listing.tmpl delete mode 100644 _embed/templates/minimal.tmpl delete mode 100644 _embed/templates/single.tmpl delete mode 100644 assets/assets.go delete mode 100644 assets/binary.go delete mode 100644 cmd/filemanager/main.go delete mode 100644 editor.go delete mode 100644 file.go delete mode 100644 filemanager.go delete mode 100644 frontmatter/frontmatter.go delete mode 100644 frontmatter/runes.go delete mode 100644 frontmatter/runes_test.go delete mode 100644 frontmatter/types.go delete mode 100644 frontmatter/types_test.go delete mode 100644 http.go delete mode 100644 http_checksum.go delete mode 100644 http_command.go delete mode 100644 http_download.go delete mode 100644 http_listing.go delete mode 100644 http_put.go delete mode 100644 http_search.go delete mode 100644 http_single.go delete mode 100644 listing.go delete mode 100644 page.go delete mode 100644 pre-build.sh delete mode 100644 response_writer.go delete mode 100644 utils.go delete mode 100644 utils_test.go diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 63339e38..00000000 --- a/.editorconfig +++ /dev/null @@ -1,18 +0,0 @@ -# EditorConfig is awesome: http://EditorConfig.org - -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -# 4 space indentation -[*.go] -indent_style = tab -indent_size = 4 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 883b2160..00000000 --- a/.gitmodules +++ /dev/null @@ -1,4 +0,0 @@ -[submodule "_embed/public/ace"] - path = _embed/public/ace - url = https://github.com/ajaxorg/ace-builds - ignore = dirty diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 9c8f3ea0..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/_embed/public/ace b/_embed/public/ace deleted file mode 160000 index 784ffa86..00000000 --- a/_embed/public/ace +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 784ffa862c5351e0d300370f61471b1eb95ebcf1 diff --git a/_embed/public/css/fonts.css b/_embed/public/css/fonts.css deleted file mode 100644 index 1911d377..00000000 --- a/_embed/public/css/fonts.css +++ /dev/null @@ -1,137 +0,0 @@ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(roboto/normal-cyrillic-ext.woff2) format('woff2'); - unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(roboto/normal-cyrillic.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(roboto/normal-greek-ext.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(roboto/normal-greek.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(roboto/normal-vietnamese.woff2) format('woff2'); - unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(roboto/normal-latin-ext.woff2) format('woff2'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(roboto/normal-latin.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(roboto/medium-cyrillic-ext.woff2) format('woff2'); - unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(roboto/medium-cyrillic.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(roboto/medium-greek-ext.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(roboto/medium-greek.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(roboto/medium-vietnamese.woff2) format('woff2'); - unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(roboto/medium-latin-ext.woff2) format('woff2'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(roboto/medium-latin.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} - -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - src: local('Material Icons'), local('MaterialIcons-Regular'), url(material/icons.woff2) format('woff2'); -} - -.prompt .file-list ul li:before, -.material-icons { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - -moz-osx-font-smoothing: grayscale; - font-feature-settings: 'liga'; -} diff --git a/_embed/public/css/material/icons.woff2 b/_embed/public/css/material/icons.woff2 deleted file mode 100644 index 9fa211252080046a23b2449dbdced6abc2b0bb34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44300 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 QW8}wPUeo^@jR61v08@RD2LJ#7 diff --git a/_embed/public/css/normalize.css b/_embed/public/css/normalize.css deleted file mode 100644 index 9b77e0eb..00000000 --- a/_embed/public/css/normalize.css +++ /dev/null @@ -1,461 +0,0 @@ -/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ - -/** - * 1. Change the default font family in all browsers (opinionated). - * 2. Correct the line height in all browsers. - * 3. Prevent adjustments of font size after orientation changes in - * IE on Windows Phone and in iOS. - */ - -/* Document - ========================================================================== */ - -html { - font-family: sans-serif; /* 1 */ - line-height: 1.15; /* 2 */ - -ms-text-size-adjust: 100%; /* 3 */ - -webkit-text-size-adjust: 100%; /* 3 */ -} - -/* Sections - ========================================================================== */ - -/** - * Remove the margin in all browsers (opinionated). - */ - -body { - margin: 0; -} - -/** - * Add the correct display in IE 9-. - */ - -article, -aside, -footer, -header, -nav, -section { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - * 1. Add the correct display in IE. - */ - -figcaption, -figure, -main { /* 1 */ - display: block; -} - -/** - * Add the correct margin in IE 8. - */ - -figure { - margin: 1em 40px; -} - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ - -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ - -/** - * 1. Remove the gray background on active links in IE 10. - * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. - */ - -a { - background-color: transparent; /* 1 */ - -webkit-text-decoration-skip: objects; /* 2 */ -} - -/** - * Remove the outline on focused links when they are also active or hovered - * in all browsers (opinionated). - */ - -a:active, -a:hover { - outline-width: 0; -} - -/** - * 1. Remove the bottom border in Firefox 39-. - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ - -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Prevent the duplicate application of `bolder` by the next rule in Safari 6. - */ - -b, -strong { - font-weight: inherit; -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ - -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -code, -kbd, -samp { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font style in Android 4.3-. - */ - -dfn { - font-style: italic; -} - -/** - * Add the correct background and color in IE 9-. - */ - -mark { - background-color: #ff0; - color: #000; -} - -/** - * Add the correct font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - */ - -audio, -video { - display: inline-block; -} - -/** - * Add the correct display in iOS 4-7. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Remove the border on images inside links in IE 10-. - */ - -img { - border-style: none; -} - -/** - * Hide the overflow in IE. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Forms - ========================================================================== */ - -/** - * 1. Change the font styles in all browsers (opinionated). - * 2. Remove the margin in Firefox and Safari. - */ - -button, -input, -optgroup, -select, -textarea { - font-family: sans-serif; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ - -button, -select { /* 1 */ - text-transform: none; -} - -/** - * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` - * controls in Android 4. - * 2. Correct the inability to style clickable types in iOS and Safari. - */ - -button, -html [type="button"], /* 1 */ -[type="reset"], -[type="submit"] { - -webkit-appearance: button; /* 2 */ -} - -/** - * Remove the inner border and padding in Firefox. - */ - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ - -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Change the border, margin, and padding in all browsers (opinionated). - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ - -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * 1. Add the correct display in IE 9-. - * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ - -progress { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Remove the default vertical scrollbar in IE. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10-. - * 2. Remove the padding in IE 10-. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ - -[type="search"] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. - */ - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ - -/* - * Add the correct display in IE 9-. - * 1. Add the correct display in Edge, IE, and Firefox. - */ - -details, /* 1 */ -menu { - display: block; -} - -/* - * Add the correct display in all browsers. - */ - -summary { - display: list-item; -} - -/* Scripting - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - */ - -canvas { - display: inline-block; -} - -/** - * Add the correct display in IE. - */ - -template { - display: none; -} - -/* Hidden - ========================================================================== */ - -/** - * Add the correct display in IE 10-. - */ - -[hidden] { - display: none; -} diff --git a/_embed/public/css/old.css b/_embed/public/css/old.css deleted file mode 100644 index eb9d8a5b..00000000 --- a/_embed/public/css/old.css +++ /dev/null @@ -1,1207 +0,0 @@ -body { - font-family: 'Roboto', sans-serif; - padding-top: 7.8em; - background-color: #f8f8f8; -} - -* { - box-sizing: border-box; -} - -*, -*:hover, -*:active, -*:focus { - outline: 0 -} - -a { - text-decoration: none; -} - -img { - max-width: 100%; -} - -audio, -video { - width: 100%; -} - -pre { - padding: 1em; - border: 1px solid #e6e6e6; - border-radius: 0.5em; - background-color: #f5f5f5; - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -button { - border: 0; - padding: .5em 1em; - margin-left: .5em; - border-radius: .1em; - cursor: pointer; - background: #2196f3; - color: #fff; - border: 1px solid rgba(0, 0, 0, 0.05); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.05); - transition: .1s ease all; -} - -button:hover { - background-color: #1E88E5; -} - -.mobile-only { - display: none !important; -} - -.container { - width: 95%; - max-width: 960px; - margin: 1em auto 0; -} - -i.spin { - animation: 1s spin linear infinite; -} - -.pdf { - width: 100%; - height: calc(100vh - 13em); -} - - -/* * * * * * * * * * * * * * * * - * EDITOR * - * * * * * * * * * * * * * * * */ - -#editor .source { - display: none; -} - -#editor .content { - background: #fff; - padding: 1em 0; -} - -#editor #ace, -#editor h2, -#editor .frontmatter { - width: 95%; - max-width: 960px; - margin: 1em auto 0; -} - -#editor h2 { - margin: 1.5em auto 1em; - color: rgba(0, 0, 0, 0.3); - font-weight: 500; -} - -#editor .ace_gutter { - background-color: #fff; -} - - -/* * * * * * * * * * * * * * * * - * EDITOR - MARKDOWN * - * * * * * * * * * * * * * * * */ - -.frontmatter { - column-count: 3; - column-gap: 1em; - column-fill: balance; - /* display: flex; */ - /* flex-wrap: wrap; */ - /* justify-content: space-between; */ - /* flex-grow: 1; */ -} - -.frontmatter label { - display: block; - width: calc(100% - 1em); - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} - -.frontmatter label, -.frontmatter h3 { - font-weight: 500; - margin: 0 0; - color: rgba(0, 0, 0, 0.6); -} - -.frontmatter input, -.frontmatter textarea { - display: block; - width: 100%; - border: 0; - margin-top: .5em; - padding: 0; - line-height: 1; -} - -.frontmatter .block, -.frontmatter fieldset[data-type="array"], -.button { - position: relative; - background: #fff; - border-radius: .2em; - border: 1px solid rgba(0, 0, 0, 0.075); - padding: .5em; - break-inside: avoid; - margin: 0 0 1em; - width: 100%; - display: inline-block; -} - -.frontmatter fieldset[data-type="object"] { - position: relative; - margin: 0; -} - -.frontmatter .button { - background-color: #2196f3; - color: #fff; - cursor: pointer; - text-align: center; -} - -[data-type="array-item"] { - position: relative; -} - -[data-type="array-item"] .action { - top: 0; - right: 0; -} - -.frontmatter textarea { - resize: none; -} - -[data-type="array-item"] input { - width: calc(100% - 1em); -} - -.block .action, -fieldset .action { - position: absolute; - top: .5em; - right: .5em; -} - -.block>.action, -fieldset>.action { - opacity: 0; -} - -.block:hover>.action, -fieldset:hover>.action { - opacity: 1; -} - -.block .action.add, -fieldset .action.add { - right: 1.5em; -} - -.frontmatter .action i { - padding: 0; - font-size: 1em; -} - -fieldset { - border: 0; - padding: 0; -} - -.frontmatter>fieldset h3, -.frontmatter>.group h3 { - font-size: 1.5em; - margin-bottom: .5em; -} - -fieldset h3, -.group h3 { - font-size: 0.9em; -} - - -/* * * * * * * * * * * * * * * * - * ACTION * - * * * * * * * * * * * * * * * */ - -.action { - display: inline-block; - cursor: pointer; - -webkit-transition: 0.2s ease all; - transition: 0.2s ease all; - border: 0; - margin: 0; - color: #546E7A; - border-radius: 50%; -} - -.action.disabled { - opacity: 0.2; - cursor: not-allowed; -} - -.action i { - padding: 0.4em; - -webkit-transition: 0.2s ease-in-out all; - transition: 0.2s ease-in-out all; - border-radius: 50%; -} - -.action:hover i { - background-color: rgba(0, 0, 0, .1); -} - -.action ul { - position: absolute; - top: 0; - color: #7d7d7d; - list-style: none; - margin: 0; - padding: 0; - flex-direction: column; - display: flex; -} - -.action ul li { - line-height: 1; - padding: .7em; - transition: .1s ease background-color; -} - -.action ul li:hover { - background-color: rgba(0, 0, 0, 0.04); -} - - -/* * * * * * * * * * * * * * * * - * NEW FILE/DIR * - * * * * * * * * * * * * * * * */ - -.floating { - position: fixed; - bottom: 1em; - right: 1em; -} - -.floating .action { - background-color: #2196f3 !important; - color: #fff; - box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12); -} - -#newdir { - position: fixed; - bottom: 1.3em; - right: 5em; - transition: .2s ease all; - opacity: 0; - border: 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24); - padding: .5em; - width: 22em; - border-radius: .2em; -} - -#newdir.enabled { - opacity: 1; -} - - -/* * * * * * * * * * * * * * * * - * HEADER * - * * * * * * * * * * * * * * * */ - -header { - z-index: 1000; - background-color: #fff; - border-bottom: 1px solid rgba(0, 0, 0, 0.075); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - position: fixed; - top: 0; - left: 0; - width: 100%; - padding: 0; -} - -header a, -header a:hover { - color: inherit; -} - -header p i { - font-size: 1em !important; - color: rgba(255, 255, 255, .31); -} - -header>div { - display: flex; - width: 100%; - padding: 0.5em 0.5em 0.5em 1em; - align-items: center; -} - -header p { - display: inline-block; - margin: 0; - vertical-align: middle; -} - -header p a, -header p a:hover { - color: inherit; -} - -header .action span { - display: none; -} - -header>div div { - vertical-align: middle; - position: relative; -} - -#logout { - border-radius: 0; - margin-left: auto; - padding: .15em; -} - -#click-overlay { - display: none; - position: fixed; - cursor: pointer; - top: 0; - left: 0; - height: 100%; - width: 100%; -} - -#click-overlay.active { - display: block; -} - - -/* * * * * * * * * * * * * * * * - * TOP BAR * - * * * * * * * * * * * * * * * */ - -#top-bar { - height: 4em; -} - -#top-bar>div:nth-child(1) { - margin-right: 1em; - font-weight: 500; - font-size: 1.5em; - line-height: 2; -} - - -/* * * * * * * * * * * * * * * * - * SEARCH BAR * - * * * * * * * * * * * * * * * */ - -#search { - position: relative; - display: flex; - height: 100%; - padding: 0.75em; - vertical-align: middle; - border-radius: 0.3em; - background-color: #f5f5f5; - transition: .1s ease all; - width: 100%; - max-width: 25em; -} - -#search.active { - background-color: #fff; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12); -} - -#search.active i, -#search.active input { - color: #212121; -} - -#search i, -#search input { - vertical-align: middle; -} - -#search i { - margin-right: 0.3em; - user-select: none; -} - -#search input { - width: 100%; - border: 0; - outline: 0; - background-color: transparent; -} - -#search.active div { - visibility: visible; - opacity: 1; - top: 100%; -} - -#search ul { - padding: 0; - margin: 0; - list-style: none; -} - -#search li { - margin-bottom: .5em; -} - -#search>div { - position: absolute; - top: 0; - width: 100%; - left: 0; - z-index: 999999; - background-color: #fff; - text-align: left; - color: #ccc; - box-shadow: 0 2px 3px rgba(0, 0, 0, .06), 0 2px 2px rgba(0, 0, 0, .12); - padding: .5em; - border-bottom-left-radius: .3em; - border-bottom-right-radius: .3em; - transition: .1s ease all; - visibility: hidden; - opacity: 0; - overflow-x: hidden; - overflow-y: auto; - max-height: 50vh; -} - -#search>div div { - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -#search>div p { - width: 100%; - text-align: center; - display: none; - margin: 0; - max-width: none; -} - -#search.ongoing p { - display: block; -} - -#search.active div i, -#sidebar #search.active div i { - color: #ccc; - text-align: center; - margin: 0 auto; - display: table; -} - -#search::-webkit-input-placeholder { - color: rgba(255, 255, 255, .5); -} - -#search:-moz-placeholder { - opacity: 1; - color: rgba(255, 255, 255, .5); -} - -#search::-moz-placeholder { - opacity: 1; - color: rgba(255, 255, 255, .5); -} - -#search:-ms-input-placeholder { - color: rgba(255, 255, 255, .5); -} - - -/* * * * * * * * * * * * * * * * - * BOTTOM BAR * - * * * * * * * * * * * * * * * */ - -#bottom-bar { - background-color: #fafafa; - border-top: 1px solid rgba(0, 0, 0, 0.075); - border-bottom: 1px solid rgba(0, 0, 0, 0.075); - height: 3.8em; -} - -#bottom-bar>div:first-child>* { - display: inline-block; - vertical-align: middle; -} - -#bottom-bar>div:first-child>i { - margin-right: .3em; -} - -#bottom-bar>*:first-child { - margin-right: auto; - max-width: calc(100% - 25em); - width: 100%; -} - -#bottom-bar p { - text-overflow: ellipsis; - overflow: hidden; - width: calc(100% - 3em); - white-space: nowrap; -} - -#more { - display: none; -} - -#file-only { - display: inline-block; - border-right: 1px solid rgba(0, 0, 0, 0.075); - padding-right: .3em; - margin-right: .3em; - transition: .2s ease opacity, visibility; - visibility: visible; -} - -#file-only.disabled { - opacity: 0; - visibility: hidden; -} - -#download ul.active { - top: 0; - right: 0; -} - -#more ul.active { - right: .5em; - top: 4.5em; -} - - -/* * * * * * * * * * * * * * * * - * DROPDOWN * - * * * * * * * * * * * * * * * */ - -.dropdown { - position: fixed; - top: -100%; - right: -100%; - visibility: hidden; - display: flex; - flex-direction: column; - border-radius: .1em; - border-top-left-radius: 0; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - background: #fff; - z-index: 9999999; -} - -.dropdown.active { - visibility: visible; -} - -.dropdown .action { - padding: .7em; -} - -.dropdown i { - padding: 0; - vertical-align: middle; -} - -.dropdown span { - display: inline-block; - margin-left: .5em; - font-size: .9em; -} - - -/* * * * * * * * * * * * * * * * - * BREADCRUMBS * - * * * * * * * * * * * * * * * */ - -#previous { - margin-left: -.5em; -} - -#breadcrumbs { - min-width: 7em; -} - -#breadcrumbs.active { - top: 0; - left: 0; - right: auto; -} - - -/* * * * * * * * * * * * * * * * - * LISTING * - * * * * * * * * * * * * * * * */ - -#listing { - max-width: calc(100% - 1.2em); - width: 100%; -} - -#listing h2 { - margin: 0 0 0 0.5em; - font-size: 1em; - color: rgba(0, 0, 0, 0.2); - font-weight: 500; -} - -#listing .item div:last-of-type * { - text-overflow: ellipsis; - overflow: hidden; -} - -#listing>div { - display: flex; - padding: 0; - flex-wrap: wrap; - justify-content: flex-start; - position: relative; -} - -#listing .item { - background-color: #fff; - position: relative; - display: flex; - flex-wrap: nowrap; - color: #6f6f6f; - transition: .1s ease all; - align-items: center; - cursor: pointer; -} - -#listing .item div:last-of-type { - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -#listing .item p { - margin: 0; -} - -#listing .item .size, -#listing .item .modified { - font-size: 0.9em; -} - -#listing .item .name { - font-weight: bold; -} - -#listing .item i { - font-size: 4em; - margin-right: 0.1em; - vertical-align: bottom; -} - -#listing h2.message, -.message { - text-align: center; - font-size: 3em; - margin: 1em auto; - display: block !important; - width: 95%; - color: rgba(0, 0, 0, 0.2); - font-weight: 500; -} - -.message i { - font-size: inherit; - vertical-align: middle; -} - - -/* * * * * * * * * * * * * * * * - * LISTING - MOSAIC * - * * * * * * * * * * * * * * * */ - -#listing.mosaic { - margin-top: 1em; -} - -#listing.mosaic .item { - width: calc(33% - 1em); - margin: .5em; - padding: 0.5em; - border-radius: 0.2em; - box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12); -} - -#listing.mosaic .item:hover { - box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24) !important; -} - -#listing.mosaic .header { - display: none; -} - -#listing.mosaic .item div:first-of-type { - width: 5em; -} - -#listing.mosaic .item div:last-of-type { - width: calc(100% - 5vw); -} - - -/* * * * * * * * * * * * * * * * - * LISTING - DETAIL * - * * * * * * * * * * * * * * * */ - -#listing.list { - flex-direction: column; - padding-top: 3.25em; - width: 100%; - max-width: 100%; - margin: 0; -} - -#listing.list .item { - width: 100%; - margin: 0; - border: 0; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - padding: 1em; -} - -#listing.list h2 { - display: none; -} - -#listing .item[aria-selected=true] { - background: #2196f3 !important; - color: #fff !important; -} - -#listing.list .item div:first-of-type { - width: 3em; -} - -#listing.list .item div:first-of-type i { - font-size: 2em; -} - -#listing.list .item div:last-of-type { - width: calc(100% - 3em); - display: flex; - align-items: center; -} - -#listing.list .item .name { - width: 50%; -} - -#listing.list .item .size { - width: 25%; -} - -#listing .item.header { - display: none !important; - background-color: #ccc; -} - -#listing.list .header i { - font-size: 1.5em; - vertical-align: middle; - margin-left: .2em; -} - -#listing.list .item.header { - display: flex !important; - background: #fafafa; - position: fixed; - width: 100%; - top: 7.8em; - left: 0; - z-index: 999; - padding: .85em; -} - -#listing.list .item.header>div:first-child { - width: 0; -} - -#listing.list .item.header .name { - margin-right: 3em; -} - -#listing.list .header { - display: flex; - background: #fafafa; - position: fixed; - width: 100%; - top: 7.8em; - left: 0; - z-index: 999; -} - -#listing.list .header a { - color: inherit; -} - -#listing.list .item.header>div:first-child { - width: 0; -} - -#listing.list .name { - font-weight: normal; -} - -#listing.list .item.header .name { - margin-right: 3em; -} - -#listing.list .header span { - vertical-align: middle; -} - -#listing.list .header i { - opacity: 0; - transition: .1s ease all; -} - -#listing.list .header p:hover i, -#listing.list .header .active i { - opacity: 1; -} - -#listing.list .item.header .active { - font-weight: bold; -} - - -/* * * * * * * * * * * * * * * * - * MULTIPLE SELECTION DIALOG * - * * * * * * * * * * * * * * * */ - -#multiple-selection { - position: fixed; - bottom: -4em; - left: 0; - z-index: 99999999; - width: 100%; - background-color: #2196f3; - height: 4em; - display: flex !important; - padding: 0.5em 0.5em 0.5em 1em; - justify-content: space-between; - align-items: center; - transition: .2s ease all; -} - -#multiple-selection.active { - bottom: 0; -} - -#multiple-selection * { - margin: 0; -} - -#multiple-selection p, -#multiple-selection i { - color: #fff; -} - - -/* * * * * * * * * * * * * * * * - * PROMPT * - * * * * * * * * * * * * * * * */ - -.overlay, -.prompt, -.help { - opacity: 0; - z-index: -1; - transition: .1s ease opacity, z-index; -} - -.overlay.active, -.prompt.active, -.help.active { - z-index: 9999999; - opacity: 1; -} - -.overlay { - background-color: rgba(0, 0, 0, 0.5); - position: fixed; - top: 0; - left: 0; - height: 0; - width: 0; -} - -.overlay.active { - height: 100%; - width: 100%; -} - -.prompt, -.help { - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 99999999; - background: #fff; - border: 1px solid rgba(0, 0, 0, 0.075); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - padding: 2em; - max-width: 25em; - width: 90%; - max-height: 95%; -} - -.prompt h3, -.help h3 { - margin: 0; - font-weight: 500; - font-size: 1.5em; -} - -.prompt p, -.help p { - font-size: .9em; - color: rgba(0, 0, 0, 0.8); - margin: .5em 0 1em; -} - -.prompt input { - width: 100%; - border: 1px solid #dadada; - line-height: 1; - padding: .3em; -} - -.prompt code { - word-wrap: break-word; -} - -.prompt div, -.help div { - margin-top: 1em; - display: flex; - justify-content: flex-start; - flex-direction: row-reverse; -} - -.prompt .cancel { - background-color: #ECEFF1; - color: #37474F; -} - -.prompt .cancel:hover { - background-color: #e9eaeb; -} - - -/* * * * * * * * * * * * * * * * - * PROMPT - MOVE * - * * * * * * * * * * * * * * * */ - -.prompt .file-list { - flex-direction: initial; - max-height: 50vh; - overflow: auto; -} - -.prompt .file-list ul { - list-style: none; - margin: 0; - padding: 0; - width: 100%; -} - -.prompt .file-list ul li { - width: 100%; - user-select: none; -} - -.prompt .file-list ul li[aria-selected=true] { - background: #2196f3 !important; - color: #fff !important; - transition: .1s ease all; -} - -.prompt .file-list ul li:hover { - background-color: #e9eaeb; - cursor: pointer; -} - -.prompt .file-list ul li:before { - content: "folder"; - color: #6f6f6f; - vertical-align: middle; - padding: 0 .25em; - line-height: 2em; -} - -.prompt .file-list ul li[aria-selected=true]:before { - color: white; -} - - -/* * * * * * * * * * * * * * * * - * HELP * - * * * * * * * * * * * * * * * */ - -.help { - max-width: 24em; - visibility: hidden; - top: -100%; - left: -100%; -} - -.help.active { - visibility: visible; - top: 50%; - left: 50%; -} - -.help ul { - padding: 0; - margin: 1em 0; - list-style: none; -} - - -/* * * * * * * * * * * * * * * * - * FOOTER * - * * * * * * * * * * * * * * * */ - -footer { - font-size: 0.6em; - margin: 2em 0 2em; - text-align: center; - color: grey; -} - -footer a, -footer a:hover { - color: inherit; -} - - -/* * * * * * * * * * * * * * * * - * MEDIA QUERIES * - * * * * * * * * * * * * * * * */ - -@media screen and (max-width: 850px) { - .frontmatter { - column-count: 2; - } -} - -@media screen and (max-width: 650px) { - body { - transition: .2s ease padding; - } - .mobile-only { - display: inherit !important; - } - #top-bar>div:nth-child(1) { - display: none; - } - #bottom-bar>*:first-child { - max-width: calc(100% - 16em) !important; - } - #main-actions { - position: fixed; - top: -100%; - right: -100%; - visibility: hidden; - display: flex; - flex-direction: column; - border-radius: .1em; - border-top-left-radius: 0; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - background: #fff; - z-index: 9999999; - } - #main-actions.active { - right: .5em; - top: 4.5em; - visibility: visible; - } - #main-actions .action { - padding: .7em; - border-radius: 0; - align-items: center; - } - #main-actions .action:hover { - background-color: rgba(0, 0, 0, 0.04); - } - #main-actions i { - padding: 0; - vertical-align: middle; - } - #main-actions .action:hover i { - padding: 0; - background-color: transparent; - } - #main-actions span { - display: inline-block; - margin-left: .5em; - font-size: .9em; - } - #listing.list .item .size, - #listing.list .item .modified { - display: none; - } - #listing.list .item .name { - width: 100%; - } - .frontmatter { - column-count: 1; - } -} - -@media screen and (max-width: 450px) { - #bottom-bar p { - display: none !important; - } -} - - -/* * * * * * * * * * * * * * * * - * ANIMATIONS * - * * * * * * * * * * * * * * * */ - -@keyframes spin { - 100% { - -webkit-transform: rotate(-360deg); - transform: rotate(-360deg); - } -} diff --git a/_embed/public/css/roboto/medium-cyrillic-ext.woff2 b/_embed/public/css/roboto/medium-cyrillic-ext.woff2 deleted file mode 100644 index f63bc9a1934f40bbbc109e7697aacb18ebb2f284..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15292 zcmV;tJ43{GPew8T0RR9106V+@5dZ)H0E=J%06SR#0ssI200000000000000000000 z0000RlRz8{24Db)QV3QFgFF!o3W4DqfypNlfp`Hn0we>6FbjiP00bZff*c1R41r7= zYu2VO+AhK$B1#O4v;OYi_X;kSZANhn`RgpQ};VzH+tFB+XZU#$i8x+}A4X8D*Mp=6-&Na0uB zIbg*sk^2wvbNhQsM$~ALl5BOT&=LY7A@pD{G6!r#lpmyO)Br(1QX;wBI0g@n*cSqUaZKY8HRpI-;cQRZa7=;l%_|Eb2mn$`{2xB^u+&>4z_xt_s z`(lcyMM8wse+|pd8GPU6-WdlweP@?Pw`Hz`xrE1|;?%D@Z?I3DpJb9{2R48&7YFF$ z9$^VZQ(n)|`y@Gc z&pGz8_Yf+EvLYz@>xx5$obUm$MHG+(|I>y%(93q|M@nn-uw;IWrC%PJ*dysTpS9*< zl`27s6SQ<{+4DSx(?;5fy*Cq!32`{=E|j0yaMa}P#ic4h30Wk28{h(Vq9E>ek4tty z=&7ZMARztBv`-*Ve_kpo1YCds$Ui{f(U4)l!*ib=5dwrNy9i(tE(920W!^6b@w06C z7FK-S&TNO9)$XMUwx#XRu7~&h?QVtjvVZ_Z-PBE(GwSBJl`=3OUWSxX5CK~-^8UU- zgR=_(M1_tE%vf-P=Y^z1rTL~~YoumINQ$8N2u_C35JmRuqH}7%SYC?Hg!H_Xg$p-al30ewMytCeMMTL688k)>_K8AMEi6Hzvu%}qAWBLlr$>4c zWZ{sV5;-{lvCLPPf;`)zN9ZY?i=4Ay!5=|JY}y^N;_L8uCEQ2#HiXe}Wk<11$59O_mTsf^GaJO4cMx zH)u8bKa?O%G&oyA>qK%kB;|vwE%rYJHeLh)jNi680o*{cb2sz(oL1$$+|OY?nf|te z3CLYsS;n2WtL0?FI{4}Q*sgrc6Cm#!BOj0U7x{i&86ewA$rb&~%O>Co)iqq%0+{~z zHjpjnyYsvrY3@3d9mllqcd2F*=f|Wst3W78#D@(68Op;v2C5R>qV-W&AGZzUQ+5EC z1ax06z!mafGe00RnaXo%ZE&@dJDmXv8D-`(4CLK>us;OeqkKumU8&^r7`xN)JFxD2)%vGLY8vWg^ZC zC$fhdkgp>vKyF2VQYrA+H?=u3BuX2;nvgSzI%r;4#l=%qxt6fso-JCn>qy+emj!Mx zr|InRy8vQ_lQ||9xVT}3hvEf=gikRhCAd_Aslw(OX8++*4XFmkb=+zp)q&Jw(E!qj zMGJ)1vWFD*Vx2Ik0=Ir}12_%iG=kMAUSqi2!fPCt3A`q8nT0Wj+Y*!&NNdpU!nlXq zV^~k{c?#nhZZC0ojmJ8yw@@}9Z5<@YSu`l+_IrelbwXmoY*019>n01jpp>lwR~yLY ztmEv%ng2qsjd}nYA_1}J41*bP87{yECPgU2rKp#@&PbbYu!^tjDy@P11NiTA>3_%zA7>)jC^w`k0B|QbuN5j{y8L0; zZ%dg{PMp2>!7DCYxmovyJCB9DFUnO|vJB7DTkm)wSh32R4+SvJ_2V<;n9Eh#A-O`?EIQlU&nq}MJUUKA zpYH7Z;_@mbnb$X4>+M}pDMjtcpWm{_imIBrhGwhX>Gt}A;pp$_IjaRCh}7Nd+?-GB*__9NqrXC|_k%^c(~mw9+){;Ff{S->I` z&~~qt;gRL6Kp87pg)3g;f9N`L)vUn|ud^0atYbZ%*}z8BVH2CNx8k?36Ag8!?1B$| zH+yhUrs zJbwY-T;wmI3zzvTc;_mA4QIT=zl%@ayZtlF@c9ks!524RjxVppEMM{8VxI5#@6n4N z_(xdbcm5At@F)KlR{5L%2mQzh|3wJxAM+o-0>BLzBtX|rAT zlk|bP%mIQ5rGWnR_|*dj?r}%~DH6H21%yulQv@V$Qot3-11{xf91E!eX17Z6^g7>w zkg9R3&0U>x0+{o=ntZ_qdQv^ryoi9M3zweol#y(! z(6drCh8(6Re0l9NUL*yI9RV z3ka<5qKAX8b_J9?(R!0hu4e9b3zM@En*yWQpR-#dGn!cuaxNGaB%dCuVvvc3q_!N~ zs2&30GfW`+VNW8E8@n%ZIzc-%@OZJ|h}VPwgKUbI>wWjZg!7~Nqu#JyXsXW0_E4oGfqSiqi>=Ud zP@PkSh`rKYO5*Xh5+n#sR%x?RZdS#1l=wu;2`e@uV)@I*3z)h!TYDCCEDbndG z;aFYLC!`!H?|(Cx75{TFg|suuC4f}9KqMW@gFW$~wij|c4hcJ+%X+mr5{r(>9&RZ) zZjnfu{^R7DN8PVskmV>v*IMC7-f|fC3+4Ct z$kXzpL`#N3Q^{?5NRSSCve#ErjptA6d9rq*PsDjp-fS)ygGWBL<{|@f@{{Wt1s+E# zZ<`8HyUaATS&9i@WVKA5BYHOgN#7e^^pC9tJVNH0DA=-^@c%eXrB~@miI#vKVjkUcrYTz#6YI8V_tn~lp zzMG5=Kbt}hxwKMppx5lO!*BX?VkMES(?Kdhr7#FJsy?3LRD^tV=9t=B5^l+%1-1W6 zS`y)7_0Xc>yCx|p$wY6tV$y5J9NfgM_ZP0zQ8J#e72gcILB0N$X!vJoh4b%rp3!^V=Zc` z?)X*nL>?KO7j2S!;80s%OSUpIw9Wp9HWm85zz+OG(_l>A@VcJ_s?9KlU*=Kd!py|# zL<;rJq%~e~VU@SJMY*)C4^`rnFZFcUnF%9BS?o_EoQQJ0vVwlC5w4R(M1!gdg_FsQ z)``Bd(;g+i+VFX(qxOtsJMUr5>XvmaNh(QtyTI4#z0w*QQcqiu+!64M1x`E zwP{Ey4O?P6Bf5@%dM?3b${PCM+6x24SR-2avmRZ6kTGD5kqn!G^6V^B3GR*jgKJlV z5a}+*I*ir)c`ktC4SaRH_`9L^DKOKghd$8Q&4Zj26h3dzUJ_%j&~X=642`FJTbbXeGqaWgRF0?wUh z!D_(dyYc~0ZoBs=UlC@m&{20*ACMuHV?*2t9Jc2>Dj0(x?h`iS1M!6<=!XgjKNwOU zJtjL`+5WyWa5NEjWtR(BMG>EC6~D{z>nA8)$Ax@;98CCXPNK0?xvRF3fQdX4LQ;%( zy(w=4Lav7dIS7NqM1~>B@LA0KRsO*IlUY!5dpMtS)jr2ri~85kF?+b{admY4=+xu} zT04L4#xYE`*G+INH%`OR_NI}Uo_L@i_2T<`L0^=U9*|sx40;>eI3ynb@#tfwq`})Q zcTkot9!w-^9`q>U&`i5bjq|m&Dp$OiD6G#NYd*16Ngz`Ie>+jBkS_`n3`oV<3Hn#I zG&XiCu>%6ae2pC*4Bm*777|1w3@mvd~WFwtSJYbmP0N5rsbJme=MM?~{Fv5PCq4ZgS&et9xQq{4LvT)gd7&cT2CQ zWZSVQmv4j%;H$jPZ>C{kr*=o3!HeeJiLY`ZxD&#{&4i`}dr%Xolg}H%m{WOg?kNC< zz8=1k4{j=Q*{lhkZ==d!`7B4<-%jeX(7>XBUMX~yvfxWOR!_@)^sXz`D>>I9;wf-dCWXWfx2|wK?nVCMlPD3j=PpS36^Y#)~>=m;n2(bkDH=hZgGvM zHp7($r391Q;^7tQX|_sbM!@0GEa@LAT58S{s4+!ohG+r83UvjJkyQ+@*5E3mG{Z}o zlu5(xI#v@Iu4AtTOHc(5O;fo>W_7ffj}g&NZG;Dgizl3I6kJ{2nbAi@Bp8bg$_GPV z8_qnKaBe6B#t~F{PL-PzYDTKmA3N|X?Hl|;a+c8WGI`1h5tF0@%7Oe9~7g2=C>`p4ZtGi)KB&*6l=+VUNYr|*P+B%f(8J=D>wNfv5 z;W@dC>}R_y)L=&ZfH{3_Gg!*|$g}Ag&;)T4K=XtxKCeiGhRih3=~CfxAm~OwmW2t# z0SuXGE+2VSI1M9iTqevyb3cVFAGdg+djmaVzb0ho0FpKb_i+VCG*_x|%>OL08;x+t zEjzys@X)%8sg`G*yWK6m_RuBgbs*63Y`$aR>$wKCFg zivG15r4Cj$$$*iSm-Y8k!e941cgCf9#%rsLlPBkCLPoAanywcgT7M^yBDCo>B=p!* zAo*QpdLcF+2A-A~aCZ;(^K@70g8NsVR2qLy7jJHAg&ug!KpYH19W5gO`e^rU4B6Ik zuA0+n$rVD{;#-b=jM&K^}nJ=cZ#lFxk{dVKMCvJEtPfPg7unGjDN4C zWo5ZJn7CfaIMd@2>kqfwf_q2zF8f4pV5H!JKhUz9GY9XG!&`9InArSgCQ(6;42{xl zVI}!{M|rl}KUSU&P~dl#(4e&8$&YFW`>m9b=nA9sy9Oy0F-c?Ij@TU$i35?Q#N+n` zdF$TgIm6C~+*$fq7~a*r z^kNFK^~3nTft7SU`FJC{{1vAl^Da|E{GZL7$}Miy;{&Globm73Q=={UQ>56uaYOLr z4uRdA$6k{4S@_d%_O<)Wcvx+}yS!S53vIsf;{2kuKmO3w)j-Hf!j*qc3#E&E;-GF| z7-MMY?cSI@a#2;?@PnIw1rl0Y+|TNsaYcuLRCe3%H*F;}wP^3=GdZgy=Y_G$RW@qA zB%!QWD?HENyav5XPi!-3i+$JYzI5$PU376LI=VzS8tikIGDha#hNP!vE<%sLz&_>N zWXi3o&CCfnJ7d~veEPnwcJc@=3%BxM&KHVxH_>;sQXkkMP;xjZb0XnEq?J@Uj($=M zVZDh}_%2!<|NBLL26*xne95LVXB9TYI^;@QYFgDApMPM0!8SO=7H~%n35JG|+*O9Q zDSb84u{SBh2Ii*eW~K%z(i#80N~QTCrM-2fQ9aS}&HM5glsIPg5cB)AVbo^Bri>nr z>k68;4O97wCffJ^{)Qd#sU8W$FrxqG<5z(n{$m`0>xDB({6P#?Hr%JQvNB?sq7R!;8Wmvqm0nENmGJa_;r(@k_BdZjoT z9Mr%^SD&E!^Ry&!X{ADKcUlndL$P1uK41|dTC9S1>G$C$nbiU23w_sJSSQuU`XH(~ ziV;Qij?_76iyrDwck!sjGw_v;9%}tRUHvmSaUy}?UXvV`*+lk9C=AK%T54j=)K_By{zlkj4%wbv?8cX$ z(2gBrb5c;99qlD?E2B8IAO#nV zcu`479y6=0ihJpNqbv={vITbTGVX(1a&%R1vs}Bbz@s$zhA+Vh%Nc7tKfXdreVr$N zew9lu%#94mOGKTjQ#X)LVQVn-GulQ&et8~OErb7yB>G^GqrLPrSWCE9 zc!s5&_EQ1DyOX5(DCTL*0d7gb&}J}YkUp6Fb3mS`Zi|vT?1<>3cSas{$X$W^X(^}b zz`0Ew;;c@M>Wx+G(^eB#uY_OoKQM@PbawK)VrcDRjPLEc(FCO%xS3tK9Bg&&py>bM z(dD}|GN9`Tm z-;LMr&EDh1OY}=Iex5;I1U^=}Y0CSr8S^g0){yp3%d=nuM?c~A#fj+H;_Yq^EXA;S z_R)UUTi%hq%f1n>nUxrVHF1AlWtAi>5`#yhx7?y*9Ejv=EZKG)wrpwSLUIr<4SM?X z%fqdpmavw+dk0^iKz|X@#1wb`@Z?xHgop}CC3pr?NN~LSW846ke(`Ez(WAhpV0Gm2 z>)AefUxaO-iLFmyMBiawgiD~cx%2B^5ihTalQ{ij7Pfh(w`cR=6#Of$x2so!t|1}b zLiyt2?d@dm<>vr}3mRGvF;7$oGgWt4oVFXOubEf(W*! zV9Pi1?aPrUj0>y9uEUQX&K$mn4{f46qN7}12?{25C17$A3qqV?eUa9iFrV1IWkS>= z*kA0cx`p{Y9HnQ}s1)jZYGh$2O3a6LB!;A+M15`Be>iOLx$)2PyZG|`5Gu#*2;IQ_ zXrBE^Knf6Kb!aF0aSxgmj4$YK=3^Y})b zw8xFD)eduaAi#ePa!}`+dd(6CiRXqHdyX}#G&qbK{3y<=@{?SrkjgN6S^<2NZ z@~HQ|HW}^}SfqEkI7Ovm2nr>4WHtb;pcrf2a&$>&#RuPLH6_*eS@?J>dH9&`RMl@ z$t}RVwoRAv$RoZ@+#eJE(vW72+LfRz zP`AbaWEjZ1DTlEV_yx~6iS)yJmlo3)@sbDQv1Lg|_w22t zU%r+a7YP{&o)md4v(EMEjr62&;7HJzr7yK^?Pzn-=|)wmQ@^zcegtnNcD27E&Aw-) z<2T}HZA`nn{|mh4TmSa^{ziDM(%88B{}KGL*!ltE-kOI`K{7VEWDkgcOzKet2%#?WjNy?ag$tpzfX`G&of?ubvnn!H!m|@Gsu~(a5_2=57 z?V)*mu~+f!froG5bMQN_wr|avIY%WPC0>a#yzCYV{8v7&xO*Em2DT~j&QWIL+nJKh z_nWpD;pMWPVa_sC=wAH7=`&1!NawpU&ibumez^Tvg~cLicplO##%vadMRG)00sV%)t^{yvNr z6wywsa)lU$2EZ2y5J&^BxdixlzrL2p=JX5DJ{gk>@plxEPRrZoZU)?B7YyuM8%LYg9up_aoW_M z1~<%Oit@?OX@;tGMMP3C!O{@MeHdKnPYUt!jdj!t8wiMk=m7ch9VR#+Wn|%`Vz1=6`_2Y_@xP|c3X5r-y*%d@gD2jGXk(~P zoP=={1#;(F%w+p01PBg2(fBca)4@p>JwSWp&aDJ*F*&j?2I57RLK_ zz@*IN<}HPu4lUT^a$n-fcMbWEiR5<^BhOx<2Gla&uNbX<`>Z)~`#=x1AU(G1f(-~4 zNcVp1b+NG!^Q6~<>S*WI+n8~wn0u^Li*%-VOF3>( zt)ad0%JJhnv5%6=E^#{U7gA#by}UXT0?%ctspDb;@&z7$#?MX8c}k>gGd5{h`5g}x zYp%iAquH^|uZG&<=y7FO*t)*51^*M;W2nmNj7cy;p;w95yVL05_hOEXt%4=dd!1GjdsmmPTU?w!9~lk?O3 z%J#Mj=c@VJ9#Mye^W}QWPN3^+0h2i4V!EH!%F5G;{w`zHIRlwzN}_{7L82r7O_dk+ zz4m^FeJuDJdtW?7IAgl3v%*(JWDa$3%OC95LCj1W{vx2X!V^qdA?4+lhcSh7e@tA% z`(4!6qjyFA-TuwSp?C;pFrg612FXNR!}rSG`p|=S8|}=BIAPcQ)&yFP$xqK^>J=_K zd%Zp-C&6eMIf>jzhr2f?<~xmPYzsOU62`72`Ab4Lik}BZKs!nR1EbSz#>MQDK{|=k zJ7RRv2$tcU(+i3;51gq#FHGwIk_H}TIrkB7-~7MUUa6t3I^W%D#$AD^oOr=C{y=ne zbkbera5H4B1T>Loi~KM4ZqEzte9U`KBu}O>JTjB~NJSLy@@wfO`Q3pkhA}>K`Jg&> zd_~~t?$mAGy-ztCzVVYObbNMtP<&aEf8~FvWkp@CX9zXC z<336*u_QY>Dz`Web~)nnNyekQJik7|GA7w2{x)>yg^&cYFF}>_6Li(e z3Gyg}QQ#GN9iJ65_>-96tGoN-wXpgybgF4m(>64Idjy_Vx%v-z$Fl-$v}*U6ji?~I z@Rcs$_T6HT91;47mk)MZ`6~?eYWeMk&j%A2Ci6}=f$+@9JoVC<(=lk%W*Ur^9!^e= z@))QF1MeReng?7Vh{C7EHew0>j-_?oRx};xw&bmDAKw>tCaITPPm_^WZ9O2>u5H#s zFKVNnUz81lR~*Tyfy`GTNKC$O*iW2zQ)qO>f}k5h8HBgN$Ml|kKj9<00Qo>|l;3aD z@@MC#C%n`mqcGe)oP6!{ZkR3P6CH#1Pk_y3g0Um99)1meLwE5rueAydmH<_UZY?B` zZ!b)M5wFXwG$V&g9v4C(@<GacN`PPWb*lvv3T4dy47yKZ+RJFvt|Lk6PmxZA=Gl z&jf9P{s^+M@iB3O2(7SUc(3lAPlB%UlMp_s^Y1Vv8qJ*+H^$S=Q&Y_kb#wInC(Kvd z^ES)z!p#iBrrNpfaWFi)TbBr>ro$p(<(jKU(lqX?;3|}xytWs7(W&<`WMlxD#Bviq z3FkpJ@cIXRLpvu`e~MHk{Cb~Tddov!Y252+f`#_c=FcW#sHLIF-- zs7FF5ff1P|ialZ}P!?-En>TCAX=g()c7wdqV3F`r-P%tI2?AskeD&M@?U<3DS$^@mxt)LJfs(C)C=G`#b=zAIuxLymlW z*b*wr2dQ>bioqP;EdBW6ySbm(|HO;a)aj|eQ}5oM`PuzK2{GCF{JQV;jQTEWm+$qp zhMMnYl>1B%4jwd9o2QoMp8jDnbD+2)-8JgkB4hCh^$DHm{)jqy9{S?o)(&;2=AdSd zIw$JSUMr0MT4*j5g~gs9sK_cW|3$oH*H8!;;nHWYQXoWwkkb3${XEu^g zbE&DEBdp7WUs1E+8p$UFBTeifs#fwpy#+0I)1tJc^l;#2@>835O(IKmR+7L-qsTA#H^NvnT8O1n||1LXLB+RiL7^fr2)t zx7<^1p>c1SL6O3;qsTB69%w0G$3A2qDW)dfun>-#p&&#$6!i`05`1U0U7Qp- zGHfHqSH_Ki8NdUG=o1V;pB_@diUAtHPLcOdIpEVqS6@1qR)K}=0k|1VeYUgj?d<~X zG)=D)b&*B|+m{Vs=8jo+K3=70UlNq7$;lQ~sNmF{gTxl}$SW02%{d|!COw<)&=h&g zu@>!?P_#g|!Lcnq9+9cc+nlZ9x%JSTv_p>NE2J&N<8}JKKi~ z?YDnPCl{8q9i@9m!Gg-nXyD`~avoz4^`TBD956FW3e-)|bR!$Z9` zPBXB5Y;AnN`p`N>1elNO7uo8#fxgQU=A6&tPjABki(kukU_CPPnqo84>#}m7?&rd5 zi&`wEe4Bh~k@<>K`OmVhOZtv42gYuSS-w=#;%C`q%=Ma!cKhP_XPH1A`1e7gQ7ZVt&{Uty}|2%d@^lU!Wy6f7k$9?hBz5xsojy3jN z;`jaso(Jj=T~QBU{L;654KN?Im=yv2b&)7{SWug$5sjVcP&l7De2SrNLH`OOUK2E? ztT}E<(-fiBZ55THS11!bAxa=LFsJgzeMYXRC0ur^E*Vk?)Pp>_x0KE$^)-LI!>;q| zG|2$51jCnqLNX#n^9C|Aq~kr8)#Em{A&UVE_8jJszx^Z1?V0nH*|xdiK|mK zF@2a6`Z}a;6tYe5p|-?Y_y3GlqucF0(*{5}%UIc|Q3CvC5a)lW`}n;;AP)>fk_=cC zOEZqMVhmAIe~UAA2-tKrl#SY~IuTLYk9K~x@BGWv@PP>RX9#`8^boTIQ)Geeg`~h= z>ln3YjyL1&n)JtdSPz780w2&Yz3O#>VeJV}KL+S{G)${1@~V023J63BVoMN?a3qZ; zk>jH&D{ymi<3qnPjq=BxpM_mcN1K{m(JLks9;T1Ao=IgHspaC@KZ*BLoLtc;+Iwe3Zl0hyF^%%ZsTQE2?ayax?-t zb~qVj6aD&d9_2lqTCNq3j+n9`9cR>KSg!^2mG&dxvR?b}P#V$DwUhqIHDkEUCmAcR zD^@SR`ljpk{XIvYul?vm;<9tHq=D@ZNCyr|p=J?h8oaPo6gm}&j-ZsmS8ZFvBt}#8 zwMuT-5iTNi==LXJ>T)>31Y@{rD4`LmVUev5*?dcFJ3?bFD@y0GAH@yHM0(xRj_#^-Vu?R%;H!i0* z9*#@nLM#lp@eV6f&7YdL1){TbyMwYA7gkO?euM%(RgeI^ck|xO56aXDW>dF1R;Qb9GB1)khTL>DXr!NNGg! zW=&mZ8Lg$G4Wv~wdZCaf?0|y!Fym$$78PxNi2jz1ad`VWn%mmdEn?-T&HvM~TYdop z%Q}tteB=P#4)^)C=QTorqzW=PVMG7aByN;Vr6Z)<$+!>Op>kzZrL#;AU`j*+L?!cF zoiFY1aR(SO)&&W(Wf!EW+_>O68^fB`df8N$rE~~&I~ygD9=tZln8>sssxnbP1zQ14 zLlbznJtCZDQrsrmx|}T57RkeL6{8B8vV0dShw!O|q z=+1rV951z|>X2tQmSsj`ul$cw21T&fFw~^*okP7kSE59vu9%KhFAiI<-Sa6?3i-ei z^ScG^r%iN|6P(owr(UN`=i8^-uiH?7y!E3W)kuY91vK{%A;Jcj`L45!j1aS(zp;%{ z^-eY8s%a$!SvY6pnF_jL1BVME*X{^1i9m#2mVxpmwcRFv+g(awwPwhsaZ*5n<&6{l zc#P?0I6WMc;WD?YsC}{*!2WEFQ#FUrFQGU*^B8MW8*|4YDVLO0z+g zz+UPX*U=b~*WO?_kzC)}bO^`n+S{~gL{vy@_xl|vN0cMN1Tm5s``X{*e#gx%s~Pb& zx!Ocd{skIJCwOAtFgLrqc{UhY48?hwR=7vT`Qmf$+>!0NL&j5VTdVCn%d;C`#b-*s zSysq>Lgr$md)cieL&=_(P+%ZzlwcuL_Y0LsfDtI*BFM7>WZm~(4o8C*kws@LxORX> zc!pr>16 zX>olf@?pM%fhU}trQ|#mglM;UMo4-N`Qi3w!xCBB64v~u@(lce0SuIdTX-Ur^HHLT)^5F8-4Z>u+qcf(lab*aCLM;3Z z7=b}6f}G}eDLCUP)fMWzo%HEt+4lN{;%yVXy9r_pZL&7I)NpiXBOUcEQW{%dm9d6F ztNHp%HhS~ltH;$P4m1WOrq#!To}L%OF5v^*b2hRIwv_W2?qPjgp}hHwC*O1q#UXht zY7}4tEQf4fj*I5f3~oBJ-{B%~rf-grFpnXvdpLsu=W?vmlFG1iHl8snG#@DA1m$|j zV0&)WCQ5{e<$G9sINKNSKhllaOjI%E*_3n$&xr;R3593Vpf|_*sKK6NyzdsmBHRVn z26`aanl@^}(!w_{vZybiCGBP!K@Xpy*cm3woCxMWCS`)ihg^IzryFHqd#YHeCxaYP?dv$9Cm(GvCW@3(dM?UZ(EcTW@xIvXR9%JCeU(s9uf(=fYhR8#hC z^6(JmA_dzd2Av-~C%einx>Jkn=&@KyU;8?GTkK%o7Xg$l2aRO;hEApX4B98AnJWo` zZhtW-z@;45c^%zTLRM@KosZrUF4kbzBXMKK6G{ZLo%bM;)y9i-lgNVx`x$J`^r2SW#W0k?Z==`7!-u!Ne%p z;s+c^Bo>@i*i)lE=o06&jX|S9S?~I2^Q=!D0PMJtk(^dkh(sZ@M8>e5x%L7X`KY{~ z6e@dwPGg?S_#>~GWjQJD;3D`CjVjF85F`x8zV>aIf4xD@{O)_@Ti@On2fnA!cmD7P z5m4K0fu$8N)PwNDPZtusq0L>5qg{+AQwuZt#pHP#PGn<*P8`YDfV1)_$q|c)P;1si z$X%t@Mk#SKZ3GjWv_aYMz|093mDvPih zGms7Qh^5FnZ#fEro%A4c;Dfs==-V2}HI2ZwGJ%-^|2>0&h+vRv!ctEInm8z+nJ>SY z4uHx37pcz1jH@cKP0MFX@Px1nsp5R_f?QONcn3^lSo$1lW}tXxXmB_6eRJ;{vKiN( z4~%_4N5ieBZtu)zv}Z|0P4qJr1-LSqmDuX!up5{N4`|U@{c7u)Lv6&o*4`J26LsT@ zvCZYXs;^o}UHiMO&yhHEAk(_xp&csfGH}w5QoaOjJd@Gh@jOSaWUFrA=4mGgzN|GQ zdf!^c3tS||Lc!n&eTFuVDV6RTedf|HL`wU=i%z;g0ucr&9RKP49hyOg;BMq-Ky9Tgw+x-6N< zg9gUXQ;s(+iXdpRj;+Et+$iPAX1n)Rf#PTHN*bH^r$UPRhi9e(BsHGs!A z#OiTWJuo+8^TUaFyGm%Ak0_Z;!KIk;ln_PC#%$f<-AN|}Ju@Ra8 zmN=(@s@s%I9I`bShq1l6J|X30E$b-(;`1Fm$cGe1oB`_%h_8g9*RzJMIXAkCX^|W% zjYsftvZ!kpX#b=1vC2lVZQKMiEi*JpFss1SFd$R|tX+{VIJWOPX}OcM27*mF>FLP8 zQ?{lbPS-Ux^)r80zOCL2yaU4&>XX0QBux|+OdZ@;j7x};b4tJoNV{N~3Z>pS7o-8} z*Q9N#0TIjiCoO~ZGSRe)T+0@R*6r`#&7@9C2-m{_td3v^e^>6}JZER#Y zxW1UzR{|{-`u)j9uim%|ofMWYXZ7bj{sq)yjpnp!ZZjUZpoRWut@2O+Wp z2}G4f1G>TGL$B-inaJd6JG48?anN$`^iRj*M6RDO?`JSY5@bF3yZ9=F`mS$TFGnmf zA=YB=FRq>>8a+JEQR0T=k9R5Q8b3`~hus^J9=sX9B zb%uFFb%|xo;#K+!Cr(J7HyrpAh6P~XnT;8oaaMNz4lT3$EI#FIq~s8V?Fo z4{*nz5S{2J#f?z7NO2tYckq@0oxzIunY3b%*qWe;WQz!)Veh8Y{t*fUDD9AjlA;zv zs>9HKpp&JO0+ywmEGB{@`2V!D*d&15+65SPSteWLt;F)as?JO$LKoBVwo@!~Zrkbw zYx4%&qIL&_{}vA#O)@#>H1Sr2(Q>bw^3z^%Wc-a1$go-%o88l-!2{GOo zHu=FM7co6jnzmR3q99uR4X~nvLWA@`AMoFreF-J-Ck#sg`#xvSar&mzW&cd+r_=r{ zYev?&r_gG>ps%h>J*}@~!maQH=dLS71=mz53^jW8nrGoQ`Q)K^buav+&C{1~pVzs+ zdqnrW<~*4fT-Yy0#(52Q^rTjtSKE2^YzZTf2J}1zx&Xu3=9q*wPrx1Rz&G;qiI*Jb z{tix@KUZ_M1P6mH+PlPo(Q95^(;%$6DHe^}K@>fb(S2;!Hi=?n$2S@s@1kZl>lVUEPg2!o z?5@&Clv~_oPb_n;^$(l^{zsIqNC5ty;A#c_BPm<@wr#BP%9L0))wn-XD6Octx)ja| zn%(03y05&cD5r~R<`K%2=Ue~4c&Sn9Fwz|*xgte%mW(NhuV%B_;`U6O+I{X&c6>IQ zYU3i~-D;8Mu(jK>XjkSwzq!tR+B(;=R4RdKT@bY<8O&OG>#y=zC$uLi$xO1BYTz<(Q=%)y2bM*+(YY_zTG9D7ob#d2WuuJJ8-m9@ zEHmJ7p?`@IUK*^dSDtsE-hl6^Y#1U1G+NF)OxE zl>Dm){tL=b0@5AGzI0qPRs|YR00R&kOaU5ThgLu0COb}5>I5fXQUEuhGs==eT&IOM zVODzTr+D)|a8n&+ah?%Gvky{LR+Nvu4~k%;t8}7?*3-1>!{lO)lN0QNN%OYCo$A9J z>vc(6e3qpo))jqNWAGN*C$Gh(C@IXt`Y0#f&ZrL^ diff --git a/_embed/public/css/roboto/medium-cyrillic.woff2 b/_embed/public/css/roboto/medium-cyrillic.woff2 deleted file mode 100644 index b3ca824db64d0186f7e52b1f7464413a638f9f18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10060 zcmV-SC$rdhPew8T0RR9104GcU5dZ)H09up)04D1I0ssI200000000000000000000 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 mb=gU~>F$4Gvd<#C<9HE{ARVQ^Cs&+nPJhBM@ zc~=Qmjy6|g9I`e@fFodiQDzsJmF+rKKJiZ+FU|uMDNjL_{hC^tZlQlho-L{w+ z<&I1%Xfcs6YUlbe2MRNY(a3;KXoW78PtXl5&;z~D&jMAddro$38ZZpg zU?$5T5Rj3``u?VOv}$@W8>X{h2G8j)MEcJ{A&+$yvY0x{tkIJDlyS}R`BJa)4qwjl zKs@-My}SCn{0sGntoiT1xh`Gy$e1DNmOHh@JkFyqbuR_;($J2?@E>QnU6_KDVbn@+ zS)6W~&^Euv`>_YVtnN$7qnwnq_EyLVsXILgLW7 ztNNsX%m@W@jXbbaRmcW!YfNmqNy>g(#%jae1co?YPG1 zfMVTje-wgflcmLoBHUUk8cGKS_#W$07T7QUjdYfOSe^>g)gqsCvMQ#XebRg}i$=+91;(h~3V9JaOPIqB` z@tqV=Sq`-LFflkH;Msyvr!`~DG+pcuqt zOi0#obu#qL3UGMZLX#RHqkZP~l4BrVGFN95vbmb+jUF2}m}TGjPf?U}lWol8Rkd|~ zm3xPu_qVBp+W>{w*o-j4Zq%lQ{7Bq(E|A)X%xw(!bxdUBIwnk|vilB&n=AvhpHLp) zL$Q%)gZ)b&0Wln`NpCQMr>TI)p3cvt1YSwa<2pXnkVKktEq$Gnnmt_@#mC6wlNpI* zqt8qF$IkOedfptd-p%yIlLT6Q%0a{vpJAXGC3xWd zGG&ND6u~>ibu>gs%o3WoU!}mO7JNo>Gsdm#_=uF#$_b!8^;>-d+!Q6#F@luL(17;C zCE0<2wD;aBnnP>P1vJQ5?oQAo{1dIf#diScpU(TD6wY)EUZ1L5Lv>279ipE)C^$nH z8UQ{k?B*R7tw2=>p-6hUft)4`vGki@f|1gg|97HFxCA9~vNkM_541YY z`9bP?uV1Gn+t5)U8T-c2Tj!~yrlg~b@}!3}$JMT%?>e=3^fJtp*V(-5T|R`6aW{o@ zmu>NS_j{T7-`?qk`On>df%5JN5xE{RQD0x2))6w#A9B84D-m@JaER8ASO`>CK#-vZ z%7#}EO<&Rqa#jEl7}GZ}WWMTZ>{rI)AhvPxJ&efYp0t#1K%u?ANk(@`S4>8^5Q*Ju zyXd>MjX*NDomN_-ljrOkxYb4v;4E#lnNlp%G{bEtB&=1TF{=1%qr&e(1q_$WndX#u zG@Kd~vUY6(H-Xe^UjjK+f@E6|BlauYf+t0Q232^Vo}D*;VHx)2&HFn*EIhB+SJ8okPh zu9>?wU(Ne(2nG*WhG#&S0Ldk#Jb+1^DWX4YZq5K&v`-#Dpo20^ELKq2(zj{Vl1gvM zRWtjWIItMH2t1^I40#Rvk9(}Bg~Ih}>(X_MwMjFqvsk8WwoF{%GB-1Dw2nX5n!|N@ z$KAml@Hnj~-zlmy&aW}4BgYxkx1#I`dW5MV{ekzrFxrl%ey(^{r_7Lz_xBLW{QC(C zQKm&A3MhV0ES+@BlC`NUs9{B9xM{)`Y+*}qmCN0gT<2Yfbnd#luFUte zowXCDo!wlKvUefxr?q4*siMZ>r8lm(S(LY1RmOkBb3WhRw;$VrQG!A|-A5qC87i$9 zyTYY`C3Fu4P9T{GkjT~l%lXpyS5n@5Loe}=7okN-z{<8#VsH{FLWeYc>T5dgS8P!E z>UEc}ac<6s%&w%W$A2enFh z^2vpFiG_IP_W~PZpa*zRDHN#VAPR7Al=0+Q3YDMYk1|dahqj%d-K}(~6)HRUH>5BMtlrs>UPAe{F3`JV5mteG=}4S6bKJ}?GeK?7*`se4G~$U6-C)=nu6O;0NcTSx zxIuX`K;qFfqP@EB3&B+h=duIw9)$wb*VKu4&?vTjy%nzYmP_vfIt9Ylo8CvJiApR~ zykU9df8FdZ_OF!QchPjCKIWDNMN|L3E&ndZg>S|sQ-WQ3=c6cj=R69G6|%7)iWJQR z+?D*sG;~guMzrs_Kx0kXFj6R~onzVZx(yXPUb$ZhE>}qSEof~frsbcD>4+)a z%-{)SRX=dY`VW8m^@*1hbNTvY;=>V%PpOZBK*D-bgn-;_Z%Ij1Hu{zQC#fZcZz) zzF|4nqihL=TiMC4y+vVOwtT%Nx@KS(i=r-@T}%n*3#oWi3&*UH+30dM?dO-$R&K`U z-}I_eoE;^ukH1_mEa~;P)~2DHPg|>oqx-Q&enguU8MJFx9EnxRiYYf#7#oF-Mv!w+ zte{|y7Wg<6^c9M7N<5~}?rmPBLr_2LO;z$LIEVW3s*W+Sl3a)oWf3}k(i^V{xh2fE zQ>I*3^7r&Adsm%S(g(RUO46?z(?*R`W^-PS6vxR}Nl)77l^g=zIBwoCaxyBeaWr+K z*T$~wr;R+V$M|s*N#aW1_!yL zWAXhaGwCSVmZnTBmWCTDf_f|{ILjcSoLW#5r|ye)tx48d$Y8TL-&jj5w!#)`qSg}2 z$h+DC8%>3^(IzEYXRUnos?{1$N1Hs>5t3(>jrHb@(&Z$Z)7EQO1Gib#7Cf~USd^ek zyzDv~ErYe%iZHvxTAM80^tAIBBlR2nFCtBYqWhaV`bMdh?^>g<%EST9geu8Jwp~zN zhah$nZXCkbmSlOcR`K*=R$ZLwyOuuPNDu1wgdRk6;%%LRU@XFj)GN;myCaJFrbj!g zX`H%Q7O_&Ewjauf*b+aDYu^*GkM&_p^RBl2SwGB1!~y2J(ajoj9n>n$4mt;rJS;md iB>Z*wRg(#i;d>LdW9fVQrS%SD&x0d(T^@u10002A;bAiX diff --git a/_embed/public/css/roboto/medium-greek-ext.woff2 b/_embed/public/css/roboto/medium-greek-ext.woff2 deleted file mode 100644 index 7e1a807819496f6e3e52ce083544104841602e05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1412 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 K>W@?d0002eJ=}u; diff --git a/_embed/public/css/roboto/medium-latin-ext.woff2 b/_embed/public/css/roboto/medium-latin-ext.woff2 deleted file mode 100644 index 604b89354421a545b529e76acaacb9c7f5d50988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11912 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 OA2`Fug|G}F3IG6(|K7_0 diff --git a/_embed/public/css/roboto/medium-latin.woff2 b/_embed/public/css/roboto/medium-latin.woff2 deleted file mode 100644 index 5f96609d81a812b8f2557a4e9bba6db29205ae0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14596 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 diff --git a/_embed/public/css/roboto/medium-vietnamese.woff2 b/_embed/public/css/roboto/medium-vietnamese.woff2 deleted file mode 100644 index d92b712507a5d24f7910ccd4c2394570d4f405b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4780 zcmV;d5>xGWPew8T0RR9101~VK5dZ)H04pE>01`_80ssI200000000000000000000 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 ilgW1vW5`h!}HUcCAgd7Wk5C8-q1%eOcS zBbQuNT#zBO&6!7Le=!+m7k()s{(&1pf5Xcw$CZ&iBq`+Z-?#SUt(sTeGk+1;GC8CW z*_^deqyU8>8y(hB2n7%P|7o53-V0G8sZuFT=~Nm(nGQ1`_iLSYMSSiT(E-|K2k4yG zwJM#{W|>AOR$>;VVuI0V9~QpR7(JuVg)?f~yQ1g$i{I?-eeW+&#(@=hkOUqk77*^) zv}sb}v3D+50oFBh0qrl6ROYR`1-(uBEiiVSTLAy|?^-6id%$x!`Ug~^c{QR!NCE}C zs%T6`_tpQ>l{Ey`$}DRAW&L@o!3Xc1+Ck-mK=c`|9Y^1J+kkdt`m9MQc~Us;mR zcN#u-$AI`6``s7O!@Y@> z2&q%UzMX5GQfLDLfQ0_j&G0~bHZ&y5}j0^4nLi#wu6i77?QH$W z+)A60txoB1hdbSRYM-)Y%&=zb+n#as%a%V?^;bMvPE&FxGIh+DF&Q>7ZQKD^fLaj;wR`WUNB}3!8{8I7F$lR(msUx=%7cx4U~rM9sNXq-C4H+_xII>%PIIdwP6)i z6oCB4o9tFmRFo9?bu2%(ZWYm?37Frvf&?@erPrem!H%tRwcoAEy+0sX4Q@l-+%7q1 zFKgvS+$bO38&frXv-DWAHy;nNAd9ywk6lc3v~8s*R=Ak&^5r(36yd^t#iiWbT^;RS z9^%Q-j1AhjevU~}q;hdflP*K1EFRf%FbCT$U9j~ZCqw8jQ6Fi2Km+dobwoip*T@o^B4hg75! zuWqlT6Fzp0ed0s+4P%7Y1}Vg^^F=2)dm23oI45KS&fV>5Z-c;BdG0&lXXMkBykfH= z_P4}SNR&6XZIF)isui>IHg%L$scKe7tNcwGY|U^RZSxkxdo?!1NP3!zKS!0<&f8nQ z=YLi4D8Idq*md1v{+JAg4flXVx-dS^F4jWlY%0!0A0zyGA{^&ItYd^@P}Z5 zZzX0|-WM^~k2n|$w4}cdNRay#gFy^1PVbb!LjeZq^(Nn&)!vzx)fwIGvlQj&L5}i# zpY(4VH3DuD*YvoV3Z_MrkqTG?j$pTVNlkM3;xams-LAaWRWzZpebo_b0Ci9g4bTj& z&<35*4gJyc+qJq$YdW#M2^&=~(6-I(+j7I5kip!x7h(Hy%A95xqkvcE{jR7G-w9hZ zI{D(2%|u-q`MSN8iv6hk-UBU^us%_^8GX&m8Nosd+jynrV_tkQuPr}yK!yKk>guu*RAz!u<6z}|R?K&OJ?f|hn^XzD<(f^~93J2n9)0eixX)K;S@ zvR;LKH?fulWSI4n1sIq#5QIIJ{E)~&P)DsuO^liIL$AiZPp~ewiIGX%1EKCr)^@DV zyMay`#-RB}BFV3zfXw=mNDeS4S}E+Ec2elV2H8w*)t@hq?LjI$^nu)rzG()7)5)-8 zuFJf=Gl1Ob>u&SAS+=(0>bsnUId@I?a4iK5NiT=heGov_B6F%Qqm&ZkM5gDNHA_$R zf=2y%ARi%LbS(SM>tZjTM}Cu^GU3%X848kL9z93Jr{QqyO#vkXw!!_*_<#G#sx8PUT zC_dDz?v`tt1L$dLcL3~<1DsHT3J&yxCEoFC%sVwD87Fb$X|#*nN5qkBEYK*=S}H1t%OMMv5L=t~So9sz^%w9x z`We5ZUtkho$47TFHON1k|Ka>A%Yj7V27tUlCQ)@uK;v<2utXeJ4`xK+$F4puD;Y_d zrn`D6HJK?*wUhW~{((^3lGZD!D^=v&{#rn`BHU{b=94#9W@awpNgvEoZuoL;lgNQ>jX|^=j0rQ*VQYxyMGr zCc-_0Jv45wt+v^2$4}C@19sX=kU`yy2eDmCAw0#CAVF~ik|-uYGR09yIY%Z#Dv%a9 z2I)WsU_5W*a7)L@ieH1 z;ttenlBfDWaTn@0sXcxGGz{DuYXmd~@KWQN;t@1K@eF7d#S@^}aqNdqKK>MN017>I z3V0SKyNq1Qgk$Jvz+gZBdxD z+f=t+!8o42JHHae71=jKuHDFp7Pjd=jJZP~HLR}vubD?tl(!&CwHtw2{qSn?z@8rT zkElG$hby}`Xp{=^=f;7l3xXM^de? z7{GOSMvtEs4BGWkwIS^?h01Wln_~0GlV6DsQS8DQCHl?Sv zk@ymNp*IvbHX?iPD#yc!;|ZUh2jymbF3X6cf*2Kju-jnUQ#45CVHU^>R|_iV(*_68~+*+Ed-FVQnqO)4&Gu{}u_PQ&NjCuMKvs6;xa?{w2y z-64tPLM(+?Z@a!}>aOMBi*`o-5p2s4N#RWF>?vO%8WiV#GM%M<$C{I)E)#`FiJKXc zNt{51?H`NE@%q#Vy305G&U@@ofr(_wjYeIyUWA-5CM$ZB$tM+T&1*1K>4V!G4ynGa z+~9)UcSw#ZcgXZC#~i6;$9i85%5bruMQ7hM#oL<1BE8BvcHZ%rn9T6a)oPZIe7v+R z`A+3X0$JUa8|W%9S-&;8hDE_WPnTArM%w4W*2q%lx z{LW*tON^VFahVQO8|f%{Rp%jI;=mk7}YlG!X-rXBF4!Y_%?id=Q9PP0`PxU?Cu z@hFV*e7Ug^dr+h!MH@DAuUIjiXXsFw4?cp1!b!z53k2s7j)ZqNm!^uafcy!C@J>i^ zV^4;#Y`I$TX}@;k(3*HNSk%}$aU z$A^DQW*y^0A0_{(Q4XFp0H(z3V7Qeoao*2@`x$v5sKa+{J9e3}3jc7B@y(GMU4A!1 zEnOBSeWRT&&0sg|Po}m~rZ*%fvKhCYHN3P>0|U~gpc6Ng$qQ+h=>A46 z-OJLOIVS(J9N}+@iHHIuAtC(B?6a5=tku%8Y7S!pBv!aNd0tB-MgoiNykAJY#=^&N zjYA>&lS6OKA$KvN#yt@@i^h;iJkQ)%15_+8WWyiwq3tgzl!T;K?*5tD&A>tnAwFur zz!LA?)5k@SSZYrv%w5G`<#M(%TW7^NRZ=KNokJ49Vk;9gD_qwUJNP^WZ z?+>*fURckc)z3<$tPi8J;scn(A7@?)!3I0~B{-*u>ZpX%gtx`d_Mi$L3W>w1vdpBK z&jL_>dY52TaW=MPoa0y0Zm&RHetD`${mVzt0$+yZoSfVvGIFP;eO1-NfUbg-0_xR3 zs^^MlmyYk-S&B(FlDn8D&UPji4wnb0!LbP_-*gNREhS8?K>43n-cw3vsd7-CHzb3^&$}l_hx3ax5BH8H*?Xw>bPM@d$&?OjT5mVz(#O!3K zwaQy>?r9+Go#a1vD%V!(#&eXh@wX((N1x5Zh2&4-ARlzp9i_Rdilmbokmzx zef~&8LK#5$(x793^z^WbvU*L?@Wl4$`Ls?^V8kQLRXxs=M7?Z-ORrbbwEOjt7XBZ2 zmUu24T`CCpy_6h2^@R_nvJA_s>xs9FQImP_DEvoj^eWI5=72(VvV z(#1L0FwoiQ5pM&cSxMyKJ@gN`M^Bz=m&&$sHx+e^FZ(Kds z0&C8miY?VbGiqj3L=h%kr7udnch?lWPtsCFszr z90XM1qoY-~$np-$P{#e?KFHBBOfruz7Z9ppzo>t?A~pr`ILE{IoRy>O7xH1`^RCyN9WFqZrn+drD?c)-NL)tYTu!qqPQrRaFs z=e^5Y!FuLsVe}4#C*Z00qHNs3mw$gXn<(ERKdN8u>8G;MT`f+8>_;oVxan0In;BM_ zXixPDY2LJrKVkdWZ4+4JdKb|7*K>L6B<-7RM0*4k*@#cfp``f%50r-7`ZOpe*z@@* znbs!DJJXi4?yxjbvmxKGM$HeLg`c+y!IJk_W%YtwyDZYc+)u_xO`j2G2y>9Jj<~8X z!JshrPBBVcf&_3}z`~1)acnGDBII%prAM@c6NhC{UDeZXR3b{F%viU5+#aPZ&^v|g zD0ZTqvtNe>X1{bB!B6?P4NE51zk9#ly#FDpN;~Z`vKOo1cm4lx4!R2W2p;5(CyYZ!Qxuq8 zY;*xpQT>j>sD_h}tN1wQ_VHMv%i=xR|079x>40z*7lD*vaSi!<*{>f2bNY+kk`?bO$HOcmnZ>iMf*ZhPE@*{Y(p9yJkK)Dqnt9K$VCjht1H zAYrhLAzCgH0XmOQLY9yF_+KuK#Ed?_zVIP`r@^%frm=fFzE9*32uguFADW9FyH8|z zM|^I;tkMeq!$VU!I}w1r{Dc5`_%?aM__eNF0TBlV07yHeB@fOV&Vca{u;8d&r(~ma zA4YN_fh22e>^-aV924@*I={!jnU|MLTW)*0vOg}=Z1F;(0xW$hs?)T54^CfDIYtuJ z0v~U3P@f0Ib}CEPHHEhZAlA839|lA$gfjOaD8wToNDSwiD}E|v*wlc6T^du)f$5og{)&5)Vag2Kga z%246c|B*Nzdk;qwLsw5Lh^bD`3W)%pp%E=x{aHHe`cb(|(f>nIxe(E0l^U!|Ht{a& zwsxFikp3=#_c@!5jc?drEg{<`#oPL3HnZeo@o2U*3>l^4%D_8!{@lWfWY#5 zH79d@;M!uioxiokH91fm8i4K9gQBjKm(}7QYOtr@LA|y!zTju?;cggXc2xxif+Ret z2CNZ}e2uco@MSU}Gnn|6bX&TvK(7PhH@v>jMWLGx7MQBYO!mpq_NYuUGXaf9Gw0ze z2@g*Y1o1}bWCJ>5vb701SD?XP#KW7tNrF5jYH2fnC}y4HXK$7D;IZ+t*VXVavjqHg z@((k?oJ;kvaWWP+PiY^5AHutIj3cu zEg&Hmq!bh~SeiQOY8yKMW;Pa>L$!`JIch837d9hTd0kyWfH5?D^@WE=Gx1VVZSt>{ z?-2_7JAD6km-g6GoB)Zk| zOn<_{JQMpvyCVO?6Y&LsvluT60bZVU>fxA=p@zZOyQIg;bveU0ZW8|Ao_=~jmAoD5 zkaT&7db$4F;M;-o73kE(c;|KN-Lu^nkI}-%)}_fm{`-3V0JAc=o7jGpf?2|K@*UsT z&UNhO+H<%4%G7-WR>?IqU>ah)XmtrmxH0xfz2O`>mJ{90F}Z`@RWn+&3`{4`qz%cI z@jkcus!%vWWkf;{8a~N#{#s}C2;QJ(#!2G_Lt z`ajbNWBT`BKb5z9YN||3#qzxRghw7^fgtCs?XyddE$-X(W`vlwBMxxqFH_a|bha~Z z)M#R1>mW3VWLnmQGaQDR(u*rYJ8)CqmM%V#EETq%jWW=;`Lv|uU#SaF4sRyyV_-|7C)?nS zro8i6HUmvEUmag0YGZyh){`ErcPZ=ty@&tsdqRiFWcm!xA@oFm&_2Bq91SCxLry+^ z?m%22;Hi_?RAX#P6M}=n)UC^iA0LTG>wY*C13f}(x5ixtfD*Wovf3v^h3~!JhtL1a z{9q7(XzmeBH#V;F5*o@o<*;@6cL_{~-XgesGBAQ2VL^fNVF8ORX1?p?nIhfE2}WU% z3s6YTltZe`dIgA`&(SnW@)H9$P6rbL<1{nIW5fvIt(xeSylj;OeudF4P_;sSRtRE< zMTU=#p~E9rDg;S&B38*&0lrA$Rlg=n>zq^5altdcl#lu7Dmo8^3j1%*YW}Btw&!!v zPTc!c0d;s81`GHS@GyP=2X1KOG+d{iCXB)g-tEae>|rIZ^2mWy(_Kh4Gr;MKR2qdO zLr#&nKCesYgjPN|6MsyX}yUCEQy=!+UyGp*;A*1oE8cj>Vjgt(^OzO zfG#3)$gW@!hsO10I`Ziz97bX))cUk}QIYV%*d257)uaiRG{F)UB2qG|mdCZAU z@&2w4vRkMg`+1n8u+(ViF$HcwK&ASGCn$0r?ZGoZSU`@&0>=!f8|Skb|XQx2OFTl;f96y#%F{H+I_>>xIg4C?1pO z$V9BDDke0vS_TbMGGg503C_Vdx2cGRVA$4WjY`T0@r7qw%UKTgGUAnKNApwBc)KKaB$7yuj@Q`z}bC@xh@VzL+!XRTH9 zaAFCc16lsJ6W^uKUbmIg-7sEtuBT~_9{yhSP|y+}QcQwhM6eg^HqP1Za=9i{pe(~` zop5!B<*~0^Zs$Q~_nB|+fpWk2mM_^_Szi&*-DvlIPH|Fn@Q7s3tA2nG3zMc`DXvpw zKdZ)#WK_>(vERx?T=)$fizhY`4Dzm7pv@FPE7`fmO%JIYRy^ok+e}$pm?s78bg$QD zZlyL`!pW^h^~OWfXyWSRu1$X8vW3+#9!PwC8+>AoOXIB7ZrS^Q%a%eZX=dJA8rZkc zO7!J!8UV(+NWn2F| zRmA-57_TKvi^g~Em37&Mr;kIw5xHVSFg>@Im6A%Q z_VawPs-aG=VtJvS+NL)b`kgE4e|jGv`x9DF1fveAjW}N@`ciPwdgf6&IU0 zbhqe@3x!sx9f+wIJ>#?OQ>;;SjChio96p&@FG+ql>%4>u3VCQ}f(!u8kYVU7v!xAm zE~%QHKKNYB;7w$4nU-)UU_o*dr0u#r#qgEIR=(4$yH>}+2pWawjE$>!f^^OL5>F8{ zE=5NF1N&722F#V9cr9paac4A)4>wSlL!p+Gl6l}ERyu4fD0>?-FC=I4`nI&H@2OxKX?-{Rb*b| zJQKXc+|oApiT&Jv6)*V}ebrMFSHXKJ4X26q%Sz@rrOIF{t9?U1FB>k(>AR97jU<5< z3tzu_a=XL?KMx)45Tx^|8^SNmWTya;$YDM0qC7XV!Z?V~bV2f$B6nL7 zW{~VD;SU_d`Y!_ukN0y`yA3gSdt=Cl*LTlS|#?kmQXzntI$h7^-ZAxTdxQ0Ux zeL{>X8|LGtjA{rKYeEr@hXj~|y0DUKsYT(+B#xDIIM1PAQ@a;w6*QJ_LG8_McB5Q1 z91hrJ=(^jHTZOO7H13c<((agIBC~OP!Re|~Pu79bYhYKakC7Fz+v1z9UY#v6_Ctgg z|9Y(o6XgDqJ@l3e6lW9qP$nZdA3l!;$LeD_4g16UdB6(mltZ05+%soL#CSoJR=2o{ zj880CJEV5&2R3ob)8aH93{6HjU>HH-uD|dLa9w@^@~ma0eG2`@twO zADvZ0r-5bLxEXC@i9lcL=dfa?XG@(%%^^9#GphfOm@}L;<{WR$!e#~(I(B+0(z3tn zhTrk(|5`K1;nAeUh67+L;HIMR57LNW*f};PmuwbC@3aX4@R5NPAC|Z&tY4Detci7+ zbm`(>Iwe1MwaiO}{my5%iKT)(`v^^I1#2=44}-Dg6YzQ=-81nmWY zL}Q1@*=&6bnOX#Oej)sOf@Z*gS30=B)wUsuuV%aJ(?qz3RutK|qSVss)lzC3g~?jl zuEtSU7HUWJI7Jb5pEGu4w=Hc_SAvLH)*>)#V~FT%DJgnTO5ZG~*_%T-euTEudhi=D zH?VH}IurdY*3*S@59< z`v*}*?EG?P$P<{vU33F?x+IUtk>bU`o#pp!dl;J*D?Ig)58t=))1UG&WaT_$;y857 zzGUa5GB&{+)dgl>KV)2kgkSnBI#Fyr&Rl66*(D@X(a3cCBXe1^^-d%ICMmC=s46o$ z6fE2>3>3Vc6EmIo;e(rsGIAFao%;@bYk~VCfb%tmP^A(o+*tPx)4|9cd3{i4>UACo zK}N=zxs%Sd#)!+BCTCwDY&aR7T&_x!1oQE%eXc3z#QczEp7b@!f@!~OH(>GhLrBTx zlzxcc3UN@MNEH_Bn4RC6+_BHkm;S|jkhD#Y@5bdHvU{`Qc9Y7f7QyYf!n7!PdwDy! zI8~p`S)MYSiHtdtp=WRQCY0AN%G#{yEdM|b61*ielwrr+OnA%G}*Xk zwaJJ1Jlq(ga{uF@VNskM0(hPigzNvG7u$pW;7Cr?pM#ZAGD7Kw1tXk05@yiR>~i1i z3c62)NA!JaVl@TL^qZ&GYUZrAfdqOjwAe-p^sF;@A=g=NDH>cQQGpzJ8_4HORD9=$ zIg1F)E&BqOAgYV4;gw4Qn1kXPg7ZUg;RUXagNr?9g{8N0p;gv1Tt6S!p;f)c|C3T^ zlubca=5eufG^Z(09H}&f|cOmHy7M z^wR{bxuwVzp5U17^JPUPxC(QVqbv!Y$FZh@m;^uVma#V_AqctPFON1w?MuZ;-!lJ WCa?E`${Nr6J&WjV<7!di4FCYRVoq}a diff --git a/_embed/public/css/roboto/normal-greek-ext.woff2 b/_embed/public/css/roboto/normal-greek-ext.woff2 deleted file mode 100644 index ed0b13ca09d1372918d42c2a7e3f944b762d80dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1432 zcmV;J1!wwqPew8T0RR9100o!;5&!@I010pa00le%0ssI200000000000000000000 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�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 diff --git a/_embed/public/css/roboto/normal-latin-ext.woff2 b/_embed/public/css/roboto/normal-latin-ext.woff2 deleted file mode 100644 index 0c7aec28f513926a7e749abc12863001e2f1b65c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12008 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 GC;$N0_xDr) diff --git a/_embed/public/css/roboto/normal-latin.woff2 b/_embed/public/css/roboto/normal-latin.woff2 deleted file mode 100644 index 120796bb71997275eafef44818771a32bd857e12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14584 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 diff --git a/_embed/public/css/roboto/normal-vietnamese.woff2 b/_embed/public/css/roboto/normal-vietnamese.woff2 deleted file mode 100644 index 7936b665b54003fab3aafced6d6ae16c751d3736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4896 zcmV+*6W{E2Pew8T0RR91023ep5&!@I04{U@0206e0ssI200000000000000000000 z0000Q78`_o91I3v0D%AqObLTL5ey2$NWEkdfdm0I0we>2XbXXM00bZff)EEF41rr4 zW+@{B^<1zvN%ofqJRH`kGUSrhCPW&sB7t3e4}ENFXK%JO)zEZPkM&nXI9?77rS#$X zZT`700kJUw1sx_>Ym5Y|zv8~b8S8R?--S81xrlJT9<0<~3+uPb_}MHHE2rkxbZ7UZ zqkL%sPytMUd=N4vJDWoA{1uzO@BQsKJ@5iekNXDA6Uqa*5yC)r57#u;a&9PG<&@}z zOEPAQrKEHD3N@pqrkMgIE@k$Y%L390$(BCH6(wG&2&EqqSlg@Y#ew8$B}HyZXW8yr z@&VhvpZ^fbQ5Blr6r?UqozcQcUaj^3SkGwbh?NU}Dno}+g zi;qf|9&1_|NGqnA#u+pSBMyiy+h3QpK>$b*ZApPZV+kU8t0X8fACqRxDS_|BlDX3n zbThYZ8e$$N%%6z_3;@{eY6-Vc5=sI3PE4ztI}^Ug8qjBC!YRH)1PUFirmm8=+E@hG zAN7Ctwl}Hhgl>}Uzu&t4?El7`Sr__mcqR%QH1Yw3+arc6Rz+*FPj8wp){NiEI0Qj5 zu)zN8)8J@mAg0HIOGHJ^u=6f~MhO=DIRQAzE-wKMp&aF$YUT=toP*PDhqtQ&G}A~r z_|{-|vcm!5A8$rq!o&u^p7IaiAtd$!>K6cN0Mb|T(~$)BS1n${#DSd@RLDL6VDzj2 z)nFL~fCjE0MPpk6AO~8apyNF_1rXZrU)4KyI|4%a?Z2#H59~BQ_*$JZ`T~g&VA4uh zXA=M#@O#@I{U1OusNP>UED>gp25lC*iduOpG^_H45ltLE(hES=Rn_Oe*#%Xo;lSu2 z%e8Q+0%WZ>JjzkHw&&mk00QlTATB7k5VFqHMeL1Ot+a?~^LU*=v?`ThN}52bbONOn zNSInD&{~yIpf$##@<5ZSExXOEZBrRllPA;)j3!18Gt{-2B2@y4cc&aTEZJ2HNhbMq z^*WPDuM-#(5>we`Qm2}lTbhc7L9cWItIdAAbWlNgVY$$dCKr;@OmekaWf0C4l%E~a ziCvfyo-1^oOZ=!&&C9Q7a_1bg59WYtbNWsvDa4CC#M!oNN+- z8dobKzVw*c1{e+0TL9y}|Dm4)R2QJpRnkvufegp`HbI<-5Q+X9(H`YyyuMy#J;{(H zQnmG5B%w83k{q&_{jM~JmUR)W+AX;{?TxHjcUg7uI(e#S+Q0MEaGKOhc~xI8sTP{? zs}sY})(%2(dGJN4w^EkdRClWaRIP_Wr$WRRp=SFD~=hc7kD}VIg$}{$W5NQzPq2&uTGo`Ra6eH4TQyddc zRc}&FH`jgy_a3mgYB_Vz3Y(=VDVaqt8<`|+r_!*9DKl0XEF-dZHl_+)YV__y-6!=mpG(4?}ZUno5%?$WaAmiqpHKH+%4HKEVy^Y@eE z#suoXBIe$nJvy6g+I!{dqP#`tuAkF$%7TrZ*ViZT$Aovq$2X24Uro8ZAz53gwWr}K0GrdqaICraoMlC=L;w5<=Ctv!hL)N_KvgqZ#f~~KK$hN-uK==aOmCl z_TGsb+pukO{^#Y&!#DR4&4a)YyST8S@#Ow5Pp#=h&)=!i3G?R8scEc9?~={bc5f5#8W$VsPHf=KhcV82+@2 z>)Q5BlTfhd-=gjBwrsmpo8x}hUG-nUfu%3+u3K^CR}VV(9=*@n+g9D2ACo-0ta-?7 z-siKo9dzC3=ft-+@0?QFt?wT2)6JOvRz>~vX$ciU`#*)JurAIa`-e%0s%QWWYrUwoG@$U4cjcHb|AMCG6Kvi(Dl;)7{c(oKKM?r-)N79j z5wR->D%8es4<1-D}aia!ZP(Mc}dnsf0bA=t7a#Lao^r@UW8ub7k_V8O9K0r837Y(L5n3tlkjh zAE#)1Cf@CNcRI5leO!-~vvj9AbuBZlp|LD8HZ%E*!-NsF-}H6vsefy)n%zFTqW<+aIGoH8@DEtt`hgG2PlZtFO)+WnHsu+cH;ocbUv9O1NN&V={!` z5ggxuub$17`afQ}D+uQ0Gct-$><;4fymBF``1y_K6hG_xrxOF^ z;ej1Wf32{Pw8@Goc(ws5Dx67?fVu&eTzm(z5^PANbHY(5ZOwLAbNpw-V21?wkwmTF z5ODr%tf>7;5*Mnkc}3+nqFkuD`HA_fXNyYxuP+hrujO|#hEPNx-%_HI`vI=y9*Gt* zVSJtZ^b(SHdI_#8zEw(+TYPh~hZGL+@jV%-Y4v$vmLz17*ejEE36UWE<#j19loM?J zYj+YZoHtq$9&~+INs91f9X0my(@Tiq^b%Zc@vU^TQ&4&eT4%B2B6U|2aorQeqr`}$e{czg89&rtxYN>;#(?jZdelb0p; z)N!jt&&7T69Jj9JQ~T%OZIymoVB$`T+q%{f>;isNAqVf-X{_W0qNGAzB0RWwfF(P1 zvNzHBt-=^t0hOHnPrb1d8Ss+ir-UZ}7Ym-12IBcX))QKuo)tK6?-i}8(jTmtQBmC0wT@sH@M92Xbr9IYM_!&D_O&RVMz$%) z${h9&gcaDsjkbFj0qt?l2^O@hMBiofXcv?x_#U)W#a&$_?%68&q;pf9+27>;LTLy8XdVaC0dw~i^DYPLsEezs+gM?m1q=-(P7*();}8UfU4e>}TPQ_>=?)?X zE?riJf>y1SLCSjq!mOG zUar0=x0$Sx2RZ^#(}9@7x%>_c7v^vsf#FCb0oZJ>BMt4Lo&w9HrI_oZh%5g12eFH0 z8cQ)Qz|wVLC=Y9Bph?Y21}alM4u=<7Ob&4X*aEx(3IxaxjwFhPRp0*mT83SC*B{(d z?mKm7Q~GI3csey9IWMwdRJ(7g7wllRTn|b7x$8Tw!wm}>^ZI&F;(_n?k2COMbBvgnboa$~6~TSt^5g&d@1h&?^f~~sxn<2tac{!L{kE;Z zPQYH^TF4Iu2@yoorkZW}cI;KjGcDdV1P(8O4m&&I(6=7a&Gnq5BTl*Z9oRfAAKGh@ z7+Vf(qzDaz9~?*!RpO?){uauco)CHOrGCG6fXj<7FGV-G)f>RoD}5yV4*UA%=jBE* z3s)t<*)zA$_v(B1?}Ag-|lc#ubPGft|m%y$-8J0r_#KI>DOIsfw8IkcMX*kt$FB_ zKPW($9OGa}KGs$T*2tiO03Q01LW-53ghV3=la8Zzja!5s7Isa>FbHVLs;}i}_cnKV zGGHMF_JiFD$dE2I&!sMTqyB2N7W>?sa|DtYsczAN5AJL2yqrfny3vp9 z4ZTDflyWig&Uv*izJy!j7CsaUDyU!u>yuUI^*q_hO@1;@vnKwA1@c_oeZ0HL+0iZl zG|&KhI5Ue{b?ViuvvgoK=h=27Hl_jAqH7aXeXy0xW-e={j;Hsyh4uyjDZ^KSd;+cg z_^W(H4U4E`nTi-|obkqN2IY|eD>a^-TrG;bU@rZztOUU9!uZ9hq&AK1hMHC=5$qG}5Z8;8dX# z-tnEixRT0N@i0uvPe1HDuNE7`uK}YKAmk5(D%g9=+66&`y0u)F=*Sv zs(a93liRg7CjJ&MelgXT%-#Lh_)bq5eplgIEe;~vsKXLUlH?N#tK4BHsZEd#&F-*P zWD{bB5b-7k_teotxKJ8J1;eHh1u=L`F`PsiXU@0F&=DJ1z(=GM8eB5OpHVqJ^30V97A9XVNrt81aQ7Z^P4Ip1Sb(Bo+?-+nkL$asbXxNL?|;Z7@))>N#QQ) zz8FGW^T=ZO zMvSW+XwU!A620h*saO&HsE1d_~DqP18+D+I41{cVzRHnQ~-GWss*B zgpNQBjVQ@J_0@2|0}7+z0>W8~6BSOZ&gA$6&N}O(G;$Y+!g01_#73xP*EP;kkDiF^mfGQb`t8 zWsg$!I;^VAQ&CB8S=(yjRE{!NM=^I8r?{A4h3i(ZPD=Q20dFa7VvTYm^Q?mG01Eu` Stqovy*8;1vBH2AlK^6c6HeG@M diff --git a/_embed/public/css/styles.css b/_embed/public/css/styles.css deleted file mode 100644 index eb9d8a5b..00000000 --- a/_embed/public/css/styles.css +++ /dev/null @@ -1,1207 +0,0 @@ -body { - font-family: 'Roboto', sans-serif; - padding-top: 7.8em; - background-color: #f8f8f8; -} - -* { - box-sizing: border-box; -} - -*, -*:hover, -*:active, -*:focus { - outline: 0 -} - -a { - text-decoration: none; -} - -img { - max-width: 100%; -} - -audio, -video { - width: 100%; -} - -pre { - padding: 1em; - border: 1px solid #e6e6e6; - border-radius: 0.5em; - background-color: #f5f5f5; - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -button { - border: 0; - padding: .5em 1em; - margin-left: .5em; - border-radius: .1em; - cursor: pointer; - background: #2196f3; - color: #fff; - border: 1px solid rgba(0, 0, 0, 0.05); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.05); - transition: .1s ease all; -} - -button:hover { - background-color: #1E88E5; -} - -.mobile-only { - display: none !important; -} - -.container { - width: 95%; - max-width: 960px; - margin: 1em auto 0; -} - -i.spin { - animation: 1s spin linear infinite; -} - -.pdf { - width: 100%; - height: calc(100vh - 13em); -} - - -/* * * * * * * * * * * * * * * * - * EDITOR * - * * * * * * * * * * * * * * * */ - -#editor .source { - display: none; -} - -#editor .content { - background: #fff; - padding: 1em 0; -} - -#editor #ace, -#editor h2, -#editor .frontmatter { - width: 95%; - max-width: 960px; - margin: 1em auto 0; -} - -#editor h2 { - margin: 1.5em auto 1em; - color: rgba(0, 0, 0, 0.3); - font-weight: 500; -} - -#editor .ace_gutter { - background-color: #fff; -} - - -/* * * * * * * * * * * * * * * * - * EDITOR - MARKDOWN * - * * * * * * * * * * * * * * * */ - -.frontmatter { - column-count: 3; - column-gap: 1em; - column-fill: balance; - /* display: flex; */ - /* flex-wrap: wrap; */ - /* justify-content: space-between; */ - /* flex-grow: 1; */ -} - -.frontmatter label { - display: block; - width: calc(100% - 1em); - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} - -.frontmatter label, -.frontmatter h3 { - font-weight: 500; - margin: 0 0; - color: rgba(0, 0, 0, 0.6); -} - -.frontmatter input, -.frontmatter textarea { - display: block; - width: 100%; - border: 0; - margin-top: .5em; - padding: 0; - line-height: 1; -} - -.frontmatter .block, -.frontmatter fieldset[data-type="array"], -.button { - position: relative; - background: #fff; - border-radius: .2em; - border: 1px solid rgba(0, 0, 0, 0.075); - padding: .5em; - break-inside: avoid; - margin: 0 0 1em; - width: 100%; - display: inline-block; -} - -.frontmatter fieldset[data-type="object"] { - position: relative; - margin: 0; -} - -.frontmatter .button { - background-color: #2196f3; - color: #fff; - cursor: pointer; - text-align: center; -} - -[data-type="array-item"] { - position: relative; -} - -[data-type="array-item"] .action { - top: 0; - right: 0; -} - -.frontmatter textarea { - resize: none; -} - -[data-type="array-item"] input { - width: calc(100% - 1em); -} - -.block .action, -fieldset .action { - position: absolute; - top: .5em; - right: .5em; -} - -.block>.action, -fieldset>.action { - opacity: 0; -} - -.block:hover>.action, -fieldset:hover>.action { - opacity: 1; -} - -.block .action.add, -fieldset .action.add { - right: 1.5em; -} - -.frontmatter .action i { - padding: 0; - font-size: 1em; -} - -fieldset { - border: 0; - padding: 0; -} - -.frontmatter>fieldset h3, -.frontmatter>.group h3 { - font-size: 1.5em; - margin-bottom: .5em; -} - -fieldset h3, -.group h3 { - font-size: 0.9em; -} - - -/* * * * * * * * * * * * * * * * - * ACTION * - * * * * * * * * * * * * * * * */ - -.action { - display: inline-block; - cursor: pointer; - -webkit-transition: 0.2s ease all; - transition: 0.2s ease all; - border: 0; - margin: 0; - color: #546E7A; - border-radius: 50%; -} - -.action.disabled { - opacity: 0.2; - cursor: not-allowed; -} - -.action i { - padding: 0.4em; - -webkit-transition: 0.2s ease-in-out all; - transition: 0.2s ease-in-out all; - border-radius: 50%; -} - -.action:hover i { - background-color: rgba(0, 0, 0, .1); -} - -.action ul { - position: absolute; - top: 0; - color: #7d7d7d; - list-style: none; - margin: 0; - padding: 0; - flex-direction: column; - display: flex; -} - -.action ul li { - line-height: 1; - padding: .7em; - transition: .1s ease background-color; -} - -.action ul li:hover { - background-color: rgba(0, 0, 0, 0.04); -} - - -/* * * * * * * * * * * * * * * * - * NEW FILE/DIR * - * * * * * * * * * * * * * * * */ - -.floating { - position: fixed; - bottom: 1em; - right: 1em; -} - -.floating .action { - background-color: #2196f3 !important; - color: #fff; - box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12); -} - -#newdir { - position: fixed; - bottom: 1.3em; - right: 5em; - transition: .2s ease all; - opacity: 0; - border: 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24); - padding: .5em; - width: 22em; - border-radius: .2em; -} - -#newdir.enabled { - opacity: 1; -} - - -/* * * * * * * * * * * * * * * * - * HEADER * - * * * * * * * * * * * * * * * */ - -header { - z-index: 1000; - background-color: #fff; - border-bottom: 1px solid rgba(0, 0, 0, 0.075); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - position: fixed; - top: 0; - left: 0; - width: 100%; - padding: 0; -} - -header a, -header a:hover { - color: inherit; -} - -header p i { - font-size: 1em !important; - color: rgba(255, 255, 255, .31); -} - -header>div { - display: flex; - width: 100%; - padding: 0.5em 0.5em 0.5em 1em; - align-items: center; -} - -header p { - display: inline-block; - margin: 0; - vertical-align: middle; -} - -header p a, -header p a:hover { - color: inherit; -} - -header .action span { - display: none; -} - -header>div div { - vertical-align: middle; - position: relative; -} - -#logout { - border-radius: 0; - margin-left: auto; - padding: .15em; -} - -#click-overlay { - display: none; - position: fixed; - cursor: pointer; - top: 0; - left: 0; - height: 100%; - width: 100%; -} - -#click-overlay.active { - display: block; -} - - -/* * * * * * * * * * * * * * * * - * TOP BAR * - * * * * * * * * * * * * * * * */ - -#top-bar { - height: 4em; -} - -#top-bar>div:nth-child(1) { - margin-right: 1em; - font-weight: 500; - font-size: 1.5em; - line-height: 2; -} - - -/* * * * * * * * * * * * * * * * - * SEARCH BAR * - * * * * * * * * * * * * * * * */ - -#search { - position: relative; - display: flex; - height: 100%; - padding: 0.75em; - vertical-align: middle; - border-radius: 0.3em; - background-color: #f5f5f5; - transition: .1s ease all; - width: 100%; - max-width: 25em; -} - -#search.active { - background-color: #fff; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12); -} - -#search.active i, -#search.active input { - color: #212121; -} - -#search i, -#search input { - vertical-align: middle; -} - -#search i { - margin-right: 0.3em; - user-select: none; -} - -#search input { - width: 100%; - border: 0; - outline: 0; - background-color: transparent; -} - -#search.active div { - visibility: visible; - opacity: 1; - top: 100%; -} - -#search ul { - padding: 0; - margin: 0; - list-style: none; -} - -#search li { - margin-bottom: .5em; -} - -#search>div { - position: absolute; - top: 0; - width: 100%; - left: 0; - z-index: 999999; - background-color: #fff; - text-align: left; - color: #ccc; - box-shadow: 0 2px 3px rgba(0, 0, 0, .06), 0 2px 2px rgba(0, 0, 0, .12); - padding: .5em; - border-bottom-left-radius: .3em; - border-bottom-right-radius: .3em; - transition: .1s ease all; - visibility: hidden; - opacity: 0; - overflow-x: hidden; - overflow-y: auto; - max-height: 50vh; -} - -#search>div div { - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -#search>div p { - width: 100%; - text-align: center; - display: none; - margin: 0; - max-width: none; -} - -#search.ongoing p { - display: block; -} - -#search.active div i, -#sidebar #search.active div i { - color: #ccc; - text-align: center; - margin: 0 auto; - display: table; -} - -#search::-webkit-input-placeholder { - color: rgba(255, 255, 255, .5); -} - -#search:-moz-placeholder { - opacity: 1; - color: rgba(255, 255, 255, .5); -} - -#search::-moz-placeholder { - opacity: 1; - color: rgba(255, 255, 255, .5); -} - -#search:-ms-input-placeholder { - color: rgba(255, 255, 255, .5); -} - - -/* * * * * * * * * * * * * * * * - * BOTTOM BAR * - * * * * * * * * * * * * * * * */ - -#bottom-bar { - background-color: #fafafa; - border-top: 1px solid rgba(0, 0, 0, 0.075); - border-bottom: 1px solid rgba(0, 0, 0, 0.075); - height: 3.8em; -} - -#bottom-bar>div:first-child>* { - display: inline-block; - vertical-align: middle; -} - -#bottom-bar>div:first-child>i { - margin-right: .3em; -} - -#bottom-bar>*:first-child { - margin-right: auto; - max-width: calc(100% - 25em); - width: 100%; -} - -#bottom-bar p { - text-overflow: ellipsis; - overflow: hidden; - width: calc(100% - 3em); - white-space: nowrap; -} - -#more { - display: none; -} - -#file-only { - display: inline-block; - border-right: 1px solid rgba(0, 0, 0, 0.075); - padding-right: .3em; - margin-right: .3em; - transition: .2s ease opacity, visibility; - visibility: visible; -} - -#file-only.disabled { - opacity: 0; - visibility: hidden; -} - -#download ul.active { - top: 0; - right: 0; -} - -#more ul.active { - right: .5em; - top: 4.5em; -} - - -/* * * * * * * * * * * * * * * * - * DROPDOWN * - * * * * * * * * * * * * * * * */ - -.dropdown { - position: fixed; - top: -100%; - right: -100%; - visibility: hidden; - display: flex; - flex-direction: column; - border-radius: .1em; - border-top-left-radius: 0; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - background: #fff; - z-index: 9999999; -} - -.dropdown.active { - visibility: visible; -} - -.dropdown .action { - padding: .7em; -} - -.dropdown i { - padding: 0; - vertical-align: middle; -} - -.dropdown span { - display: inline-block; - margin-left: .5em; - font-size: .9em; -} - - -/* * * * * * * * * * * * * * * * - * BREADCRUMBS * - * * * * * * * * * * * * * * * */ - -#previous { - margin-left: -.5em; -} - -#breadcrumbs { - min-width: 7em; -} - -#breadcrumbs.active { - top: 0; - left: 0; - right: auto; -} - - -/* * * * * * * * * * * * * * * * - * LISTING * - * * * * * * * * * * * * * * * */ - -#listing { - max-width: calc(100% - 1.2em); - width: 100%; -} - -#listing h2 { - margin: 0 0 0 0.5em; - font-size: 1em; - color: rgba(0, 0, 0, 0.2); - font-weight: 500; -} - -#listing .item div:last-of-type * { - text-overflow: ellipsis; - overflow: hidden; -} - -#listing>div { - display: flex; - padding: 0; - flex-wrap: wrap; - justify-content: flex-start; - position: relative; -} - -#listing .item { - background-color: #fff; - position: relative; - display: flex; - flex-wrap: nowrap; - color: #6f6f6f; - transition: .1s ease all; - align-items: center; - cursor: pointer; -} - -#listing .item div:last-of-type { - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -#listing .item p { - margin: 0; -} - -#listing .item .size, -#listing .item .modified { - font-size: 0.9em; -} - -#listing .item .name { - font-weight: bold; -} - -#listing .item i { - font-size: 4em; - margin-right: 0.1em; - vertical-align: bottom; -} - -#listing h2.message, -.message { - text-align: center; - font-size: 3em; - margin: 1em auto; - display: block !important; - width: 95%; - color: rgba(0, 0, 0, 0.2); - font-weight: 500; -} - -.message i { - font-size: inherit; - vertical-align: middle; -} - - -/* * * * * * * * * * * * * * * * - * LISTING - MOSAIC * - * * * * * * * * * * * * * * * */ - -#listing.mosaic { - margin-top: 1em; -} - -#listing.mosaic .item { - width: calc(33% - 1em); - margin: .5em; - padding: 0.5em; - border-radius: 0.2em; - box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12); -} - -#listing.mosaic .item:hover { - box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24) !important; -} - -#listing.mosaic .header { - display: none; -} - -#listing.mosaic .item div:first-of-type { - width: 5em; -} - -#listing.mosaic .item div:last-of-type { - width: calc(100% - 5vw); -} - - -/* * * * * * * * * * * * * * * * - * LISTING - DETAIL * - * * * * * * * * * * * * * * * */ - -#listing.list { - flex-direction: column; - padding-top: 3.25em; - width: 100%; - max-width: 100%; - margin: 0; -} - -#listing.list .item { - width: 100%; - margin: 0; - border: 0; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - padding: 1em; -} - -#listing.list h2 { - display: none; -} - -#listing .item[aria-selected=true] { - background: #2196f3 !important; - color: #fff !important; -} - -#listing.list .item div:first-of-type { - width: 3em; -} - -#listing.list .item div:first-of-type i { - font-size: 2em; -} - -#listing.list .item div:last-of-type { - width: calc(100% - 3em); - display: flex; - align-items: center; -} - -#listing.list .item .name { - width: 50%; -} - -#listing.list .item .size { - width: 25%; -} - -#listing .item.header { - display: none !important; - background-color: #ccc; -} - -#listing.list .header i { - font-size: 1.5em; - vertical-align: middle; - margin-left: .2em; -} - -#listing.list .item.header { - display: flex !important; - background: #fafafa; - position: fixed; - width: 100%; - top: 7.8em; - left: 0; - z-index: 999; - padding: .85em; -} - -#listing.list .item.header>div:first-child { - width: 0; -} - -#listing.list .item.header .name { - margin-right: 3em; -} - -#listing.list .header { - display: flex; - background: #fafafa; - position: fixed; - width: 100%; - top: 7.8em; - left: 0; - z-index: 999; -} - -#listing.list .header a { - color: inherit; -} - -#listing.list .item.header>div:first-child { - width: 0; -} - -#listing.list .name { - font-weight: normal; -} - -#listing.list .item.header .name { - margin-right: 3em; -} - -#listing.list .header span { - vertical-align: middle; -} - -#listing.list .header i { - opacity: 0; - transition: .1s ease all; -} - -#listing.list .header p:hover i, -#listing.list .header .active i { - opacity: 1; -} - -#listing.list .item.header .active { - font-weight: bold; -} - - -/* * * * * * * * * * * * * * * * - * MULTIPLE SELECTION DIALOG * - * * * * * * * * * * * * * * * */ - -#multiple-selection { - position: fixed; - bottom: -4em; - left: 0; - z-index: 99999999; - width: 100%; - background-color: #2196f3; - height: 4em; - display: flex !important; - padding: 0.5em 0.5em 0.5em 1em; - justify-content: space-between; - align-items: center; - transition: .2s ease all; -} - -#multiple-selection.active { - bottom: 0; -} - -#multiple-selection * { - margin: 0; -} - -#multiple-selection p, -#multiple-selection i { - color: #fff; -} - - -/* * * * * * * * * * * * * * * * - * PROMPT * - * * * * * * * * * * * * * * * */ - -.overlay, -.prompt, -.help { - opacity: 0; - z-index: -1; - transition: .1s ease opacity, z-index; -} - -.overlay.active, -.prompt.active, -.help.active { - z-index: 9999999; - opacity: 1; -} - -.overlay { - background-color: rgba(0, 0, 0, 0.5); - position: fixed; - top: 0; - left: 0; - height: 0; - width: 0; -} - -.overlay.active { - height: 100%; - width: 100%; -} - -.prompt, -.help { - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 99999999; - background: #fff; - border: 1px solid rgba(0, 0, 0, 0.075); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - padding: 2em; - max-width: 25em; - width: 90%; - max-height: 95%; -} - -.prompt h3, -.help h3 { - margin: 0; - font-weight: 500; - font-size: 1.5em; -} - -.prompt p, -.help p { - font-size: .9em; - color: rgba(0, 0, 0, 0.8); - margin: .5em 0 1em; -} - -.prompt input { - width: 100%; - border: 1px solid #dadada; - line-height: 1; - padding: .3em; -} - -.prompt code { - word-wrap: break-word; -} - -.prompt div, -.help div { - margin-top: 1em; - display: flex; - justify-content: flex-start; - flex-direction: row-reverse; -} - -.prompt .cancel { - background-color: #ECEFF1; - color: #37474F; -} - -.prompt .cancel:hover { - background-color: #e9eaeb; -} - - -/* * * * * * * * * * * * * * * * - * PROMPT - MOVE * - * * * * * * * * * * * * * * * */ - -.prompt .file-list { - flex-direction: initial; - max-height: 50vh; - overflow: auto; -} - -.prompt .file-list ul { - list-style: none; - margin: 0; - padding: 0; - width: 100%; -} - -.prompt .file-list ul li { - width: 100%; - user-select: none; -} - -.prompt .file-list ul li[aria-selected=true] { - background: #2196f3 !important; - color: #fff !important; - transition: .1s ease all; -} - -.prompt .file-list ul li:hover { - background-color: #e9eaeb; - cursor: pointer; -} - -.prompt .file-list ul li:before { - content: "folder"; - color: #6f6f6f; - vertical-align: middle; - padding: 0 .25em; - line-height: 2em; -} - -.prompt .file-list ul li[aria-selected=true]:before { - color: white; -} - - -/* * * * * * * * * * * * * * * * - * HELP * - * * * * * * * * * * * * * * * */ - -.help { - max-width: 24em; - visibility: hidden; - top: -100%; - left: -100%; -} - -.help.active { - visibility: visible; - top: 50%; - left: 50%; -} - -.help ul { - padding: 0; - margin: 1em 0; - list-style: none; -} - - -/* * * * * * * * * * * * * * * * - * FOOTER * - * * * * * * * * * * * * * * * */ - -footer { - font-size: 0.6em; - margin: 2em 0 2em; - text-align: center; - color: grey; -} - -footer a, -footer a:hover { - color: inherit; -} - - -/* * * * * * * * * * * * * * * * - * MEDIA QUERIES * - * * * * * * * * * * * * * * * */ - -@media screen and (max-width: 850px) { - .frontmatter { - column-count: 2; - } -} - -@media screen and (max-width: 650px) { - body { - transition: .2s ease padding; - } - .mobile-only { - display: inherit !important; - } - #top-bar>div:nth-child(1) { - display: none; - } - #bottom-bar>*:first-child { - max-width: calc(100% - 16em) !important; - } - #main-actions { - position: fixed; - top: -100%; - right: -100%; - visibility: hidden; - display: flex; - flex-direction: column; - border-radius: .1em; - border-top-left-radius: 0; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - background: #fff; - z-index: 9999999; - } - #main-actions.active { - right: .5em; - top: 4.5em; - visibility: visible; - } - #main-actions .action { - padding: .7em; - border-radius: 0; - align-items: center; - } - #main-actions .action:hover { - background-color: rgba(0, 0, 0, 0.04); - } - #main-actions i { - padding: 0; - vertical-align: middle; - } - #main-actions .action:hover i { - padding: 0; - background-color: transparent; - } - #main-actions span { - display: inline-block; - margin-left: .5em; - font-size: .9em; - } - #listing.list .item .size, - #listing.list .item .modified { - display: none; - } - #listing.list .item .name { - width: 100%; - } - .frontmatter { - column-count: 1; - } -} - -@media screen and (max-width: 450px) { - #bottom-bar p { - display: none !important; - } -} - - -/* * * * * * * * * * * * * * * * - * ANIMATIONS * - * * * * * * * * * * * * * * * */ - -@keyframes spin { - 100% { - -webkit-transform: rotate(-360deg); - transform: rotate(-360deg); - } -} diff --git a/_embed/public/js/common.js b/_embed/public/js/common.js deleted file mode 100644 index 76cae2a3..00000000 --- a/_embed/public/js/common.js +++ /dev/null @@ -1,685 +0,0 @@ -'use strict' - -var tempID = '_fm_internal_temporary_id' -var ssl = (window.location.protocol === 'https:') -var templates = {} -var selectedItems = [] -var overlay -var clickOverlay - -// Removes an element, if exists, from an array -Array.prototype.removeElement = function (element) { - var i = this.indexOf(element) - if (i !== -1) { - this.splice(i, 1) - } -} - -// Replaces an element inside an array by another -Array.prototype.replaceElement = function (oldElement, newElement) { - var i = this.indexOf(oldElement) - if (i !== -1) { - this[i] = newElement - } -} - -// Sends a costum event to itself -Document.prototype.sendCostumEvent = function (text) { - this.dispatchEvent(new window.CustomEvent(text)) -} - -// Gets the content of a cookie -Document.prototype.getCookie = function (name) { - var re = new RegExp('(?:(?:^|.*;\\s*)' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$') - return document.cookie.replace(re, '$1') -} - -// Remove the last directory of an url -var removeLastDirectoryPartOf = function (url) { - var arr = url.split('/') - if (arr.pop() === '') { - arr.pop() - } - return (arr.join('/')) -} - -function getCSSRule (rules) { - for (let i = 0; i < rules.length; i++) { - rules[i] = rules[i].toLowerCase() - } - - let result = null - let find = Array.prototype.find - - find.call(document.styleSheets, styleSheet => { - result = find.call(styleSheet.cssRules, cssRule => { - let found = false - - if (cssRule instanceof CSSStyleRule) { - for (let i = 0; i < rules.length; i++) { - if (cssRule.selectorText.toLowerCase() === rules[i]) { - found = true - } - } - } - - return found - }) - - return result != null - }) - - return result -} - -/* * * * * * * * * * * * * * * * - * * - * BUTTONS * - * * - * * * * * * * * * * * * * * * */ -var buttons = { - previousState: {} -} - -buttons.setLoading = function (name) { - if (typeof this[name] === 'undefined') return - let i = this[name].querySelector('i') - - this.previousState[name] = i.innerHTML - i.style.opacity = 0 - - setTimeout(function () { - i.classList.add('spin') - i.innerHTML = 'autorenew' - i.style.opacity = 1 - }, 200) -} - -// Changes an element to done animation -buttons.setDone = function (name, success = true) { - let i = this[name].querySelector('i') - - i.style.opacity = 0 - - let thirdStep = () => { - i.innerHTML = this.previousState[name] - i.style.opacity = null - - if (selectedItems.length === 0 && document.getElementById('listing')) { - document.sendCostumEvent('changed-selected') - } - } - - let secondStep = () => { - i.style.opacity = 0 - setTimeout(thirdStep, 200) - } - - let firstStep = () => { - i.classList.remove('spin') - i.innerHTML = success - ? 'done' - : 'close' - i.style.opacity = 1 - setTimeout(secondStep, 1000) - } - - setTimeout(firstStep, 200) - return false -} - -/* * * * * * * * * * * * * * * * - * * - * WEBDAV * - * * - * * * * * * * * * * * * * * * */ -var webdav = {} - -webdav.convertURL = function (url) { - return window.location.origin + url.replace(baseURL + '/', webdavURL + '/') -} - -webdav.move = function (oldLink, newLink) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - let destination = newLink.replace(baseURL + '/', webdavURL + '/') - - destination = window.location.origin + destination.substring(prefixURL.length) - - request.open('MOVE', webdav.convertURL(oldLink), true) - request.setRequestHeader('Destination', destination) - request.onload = () => { - if (request.status === 201 || request.status === 204) { - resolve() - } else { - reject(request.statusText) - } - } - request.onerror = () => reject(request.statusText) - request.send() - }) -} - -webdav.put = function (link, body, headers = {}) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PUT', webdav.convertURL(link), true) - - for (let key in headers) { - request.setRequestHeader(key, headers[key]) - } - - request.onload = () => { - if (request.status == 201) { - resolve() - } else { - reject(request.statusText) - } - } - request.onerror = () => reject(request.statusText) - request.send(body) - }) -} - -webdav.propfind = function (link, body, headers = {}) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PROPFIND', webdav.convertURL(link), true) - - for (let key in headers) { - request.setRequestHeader(key, headers[key]) - } - - request.onload = () => { - if (request.status < 300) { - resolve(request.responseText) - } else { - reject(request.statusText) - } - } - request.onerror = () => reject(request.statusText) - request.send(body) - }) -} - -webdav.delete = function (link) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('DELETE', webdav.convertURL(link), true) - request.onload = () => { - if (request.status === 204) { - resolve() - } else { - reject(request.statusText) - } - } - request.onerror = () => reject(request.statusText) - request.send() - }) -} - -webdav.new = function (link) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open((link.endsWith('/') ? 'MKCOL' : 'PUT'), webdav.convertURL(link), true) - request.onload = () => { - if (request.status === 201) { - resolve() - } else { - reject(request.statusText) - } - } - request.onerror = () => reject(request.statusText) - request.send() - }) -} - -/* * * * * * * * * * * * * * * * - * * - * EVENTS * - * * - * * * * * * * * * * * * * * * */ -function closePrompt (event) { - let prompt = document.querySelector('.prompt') - - if (!prompt) return - - if (typeof event !== 'undefined') { - event.preventDefault() - } - - document.querySelector('.overlay').classList.remove('active') - prompt.classList.remove('active') - - setTimeout(() => { - prompt.remove() - }, 100) -} - -function notImplemented (event) { - event.preventDefault() - clickOverlay.click() - - let clone = document.importNode(templates.message.content, true) - clone.querySelector('h3').innerHTML = 'Not implemented' - clone.querySelector('p').innerHTML = "Sorry, but this feature wasn't implemented yet." - - document.querySelector('body').appendChild(clone) - document.querySelector('.overlay').classList.add('active') - document.querySelector('.prompt').classList.add('active') -} - -// Prevent Default event -var preventDefault = function (event) { - event.preventDefault() -} - -function logoutEvent (event) { - let request = new window.XMLHttpRequest() - request.open('GET', window.location.pathname, true, 'username', 'password') - request.send() - request.onreadystatechange = function () { - if (request.readyState === 4) { - window.location = '/' - } - } -} - -function openEvent (event) { - if (event.currentTarget.classList.contains('disabled')) { - return false - } - - let link = '?raw=true' - - if (selectedItems.length) { - link = document.getElementById(selectedItems[0]).dataset.url + link - } else { - link = window.location.pathname + link - } - - window.open(link) - return false -} - -function getHash (event, hash) { - event.preventDefault() - - let request = new window.XMLHttpRequest() - let link - - if (selectedItems.length) { - link = document.getElementById(selectedItems[0]).dataset.url - } else { - link = window.location.pathname - } - - request.open('GET', `${link}?checksum=${hash}`, true) - - request.onload = () => { - if (request.status >= 300) { - console.log(request.statusText) - return - } - event.target.parentElement.innerHTML = request.responseText - } - request.onerror = (e) => console.log(e) - request.send() -} - -function infoEvent (event) { - event.preventDefault() - if (event.currentTarget.classList.contains('disabled')) { - return - } - - let dir = false - let link - - if (selectedItems.length) { - link = document.getElementById(selectedItems[0]).dataset.url - dir = document.getElementById(selectedItems[0]).dataset.dir - } else { - if (document.getElementById('listing') !== null) { - dir = true - } - - link = window.location.pathname - } - - buttons.setLoading('info', false) - - webdav.propfind(link) - .then((text) => { - let parser = new window.DOMParser() - let xml = parser.parseFromString(text, 'text/xml') - let clone = document.importNode(templates.info.content, true) - - let value = xml.getElementsByTagName('displayname') - if (value.length > 0) { - clone.getElementById('display_name').innerHTML = value[0].innerHTML - } else { - clone.getElementById('display_name').innerHTML = xml.getElementsByTagName('D:displayname')[0].innerHTML - } - - value = xml.getElementsByTagName('getcontentlength') - if (value.length > 0) { - clone.getElementById('content_length').innerHTML = value[0].innerHTML - } else { - clone.getElementById('content_length').innerHTML = xml.getElementsByTagName('D:getcontentlength')[0].innerHTML - } - - value = xml.getElementsByTagName('getlastmodified') - if (value.length > 0) { - clone.getElementById('last_modified').innerHTML = value[0].innerHTML - } else { - clone.getElementById('last_modified').innerHTML = xml.getElementsByTagName('D:getlastmodified')[0].innerHTML - } - - if (dir === true || dir === 'true') { - clone.querySelector('.file-only').style.display = 'none' - } - - document.querySelector('body').appendChild(clone) - document.querySelector('.overlay').classList.add('active') - document.querySelector('.prompt').classList.add('active') - buttons.setDone('info', true) - }) - .catch(e => { - buttons.setDone('info', false) - console.log(e) - }) -} - -function deleteOnSingleFile () { - closePrompt() - buttons.setLoading('delete') - - webdav.delete(window.location.pathname) - .then(() => { - window.location.pathname = removeLastDirectoryPartOf(window.location.pathname) - }) - .catch(e => { - buttons.setDone('delete', false) - console.log(e) - }) -} - -function deleteOnListing () { - closePrompt() - buttons.setLoading('delete') - - let promises = [] - - for (let id of selectedItems) { - promises.push(webdav.delete(document.getElementById(id).dataset.url)) - } - - Promise.all(promises) - .then(() => { - listing.reload() - buttons.setDone('delete') - }) - .catch(e => { - console.log(e) - buttons.setDone('delete', false) - }) -} - -// Handles the delete button event -function deleteEvent (event) { - let single = false - - if (!selectedItems.length) { - selectedItems = ['placeholder'] - single = true - } - - let clone = document.importNode(templates.question.content, true) - clone.querySelector('h3').innerHTML = 'Delete files' - - if (single) { - clone.querySelector('form').addEventListener('submit', deleteOnSingleFile) - clone.querySelector('p').innerHTML = `Are you sure you want to delete this file/folder?` - } else { - clone.querySelector('form').addEventListener('submit', deleteOnListing) - clone.querySelector('p').innerHTML = `Are you sure you want to delete ${selectedItems.length} file(s)?` - } - - clone.querySelector('input').remove() - clone.querySelector('.ok').innerHTML = 'Delete' - - document.body.appendChild(clone) - document.querySelector('.overlay').classList.add('active') - document.querySelector('.prompt').classList.add('active') - - return false -} - -function resetSearchText () { - let box = document.querySelector('#search > div div') - - if (user.AllowCommands) { - box.innerHTML = `Search or use one of your supported commands: ${user.Commands.join(", ")}.` - } else { - box.innerHTML = 'Type and press enter to search.' - } -} - -function searchEvent (event) { - if (this.value.length === 0) { - resetSearchText() - return - } - - let value = this.value, - search = document.getElementById('search'), - scrollable = document.querySelector('#search > div'), - box = document.querySelector('#search > div div'), - pieces = value.split(' '), - supported = false - - user.Commands.forEach(function (cmd) { - if (cmd == pieces[0]) { - supported = true - } - }) - - if (!supported || !user.AllowCommands) { - box.innerHTML = 'Press enter to search.' - } else { - box.innerHTML = 'Press enter to execute.' - } - - if (event.keyCode === 13) { - box.innerHTML = '' - search.classList.add('ongoing') - - let url = window.location.host + window.location.pathname - - if (document.getElementById('editor')) { - url = removeLastDirectoryPartOf(url) - } - - let protocol = ssl ? 'wss:' : 'ws:' - - if (supported && user.AllowCommands) { - let conn = new window.WebSocket(`${protocol}//${url}?command=true`) - - conn.onopen = function () { - conn.send(value) - } - - conn.onmessage = function (event) { - box.innerHTML = event.data - scrollable.scrollTop = scrollable.scrollHeight - } - - conn.onclose = function (event) { - search.classList.remove('ongoing') - listing.reload() - } - - return - } - - box.innerHTML = '
    ' - - let ul = box.querySelector('ul') - let conn = new window.WebSocket(`${protocol}//${url}?search=true`) - - conn.onopen = function () { - conn.send(value) - } - - conn.onmessage = function (event) { - ul.innerHTML += '
  • ' + event.data + '
  • ' - scrollable.scrollTop = scrollable.scrollHeight - } - - conn.onclose = function (event) { - search.classList.remove('ongoing') - } - } -} - -function setupSearch () { - let search = document.getElementById('search') - let searchInput = search.querySelector('input') - let searchDiv = search.querySelector('div') - let hover = false - let focus = false - - resetSearchText() - - searchInput.addEventListener('focus', event => { - focus = true - search.classList.add('active') - }) - - searchDiv.addEventListener('mouseover', event => { - hover = true - search.classList.add('active') - }) - - searchInput.addEventListener('blur', event => { - focus = false - if (hover) return - search.classList.remove('active') - }) - - search.addEventListener('mouseleave', event => { - hover = false - if (focus) return - search.classList.remove('active') - }) - - search.addEventListener('click', event => { - search.classList.add('active') - search.querySelector('input').focus() - }) - - searchInput.addEventListener('keyup', searchEvent) -} - -function closeHelp (event) { - event.preventDefault() - - document.querySelector('.help').classList.remove('active') - document.querySelector('.overlay').classList.remove('active') -} - -function openHelp (event) { - closePrompt(event) - - document.querySelector('.help').classList.add('active') - document.querySelector('.overlay').classList.add('active') -} - -window.addEventListener('keydown', (event) => { - if (event.keyCode === 27) { - if (document.querySelector('.help.active')) { - closeHelp(event) - } - } - - if (event.keyCode === 46) { - deleteEvent(event) - } - - if (event.keyCode === 112) { - event.preventDefault() - openHelp(event) - } -}) - -/* * * * * * * * * * * * * * * * - * * - * BOOTSTRAP * - * * - * * * * * * * * * * * * * * * */ - -document.addEventListener('DOMContentLoaded', function (event) { - overlay = document.querySelector('.overlay') - clickOverlay = document.querySelector('#click-overlay') - - buttons.logout = document.getElementById('logout') - buttons.open = document.getElementById('open') - buttons.delete = document.getElementById('delete') - buttons.previous = document.getElementById('previous') - buttons.info = document.getElementById('info') - - // Attach event listeners - buttons.logout.addEventListener('click', logoutEvent) - buttons.open.addEventListener('click', openEvent) - buttons.info.addEventListener('click', infoEvent) - - templates.question = document.querySelector('#question-template') - templates.info = document.querySelector('#info-template') - templates.message = document.querySelector('#message-template') - templates.move = document.querySelector('#move-template') - - if (user.AllowEdit) { - buttons.delete.addEventListener('click', deleteEvent) - } - - let dropdownButtons = document.querySelectorAll('.action[data-dropdown]') - Array.from(dropdownButtons).forEach(button => { - button.addEventListener('click', event => { - button.querySelector('ul').classList.toggle('active') - clickOverlay.classList.add('active') - - clickOverlay.addEventListener('click', event => { - button.querySelector('ul').classList.remove('active') - clickOverlay.classList.remove('active') - }) - }) - }) - - overlay.addEventListener('click', event => { - if (document.querySelector('.help.active')) { - closeHelp(event) - return - } - - closePrompt(event) - }) - - let mainActions = document.getElementById('main-actions') - - document.getElementById('more').addEventListener('click', event => { - event.preventDefault() - event.stopPropagation() - - clickOverlay.classList.add('active') - mainActions.classList.add('active') - - clickOverlay.addEventListener('click', event => { - mainActions.classList.remove('active') - clickOverlay.classList.remove('active') - }) - }) - - setupSearch() - return false -}) diff --git a/_embed/public/js/editor.js b/_embed/public/js/editor.js deleted file mode 100644 index 38ff40c7..00000000 --- a/_embed/public/js/editor.js +++ /dev/null @@ -1,278 +0,0 @@ -'use strict' - -var editor = {} - -editor.textareaAutoGrow = function () { - let autogrow = function () { - console.log(this.style.height) - this.style.height = 'auto' - this.style.height = (this.scrollHeight) + 'px' - } - - let textareas = document.getElementsByTagName('textarea') - - let addAutoGrow = () => { - Array.from(textareas).forEach(textarea => { - autogrow.bind(textarea)() - textarea.addEventListener('keyup', autogrow) - }) - } - - addAutoGrow() - window.addEventListener('resize', addAutoGrow) -} - -editor.toggleSourceEditor = function (event) { - event.preventDefault() - - if (document.querySelector('[data-kind="content-only"]')) { - window.location = window.location.pathname + '?visual=true' - return - } - - window.location = window.location.pathname + '?visual=false' -} - -function deleteFrontMatterItem (event) { - event.preventDefault() - document.getElementById(this.dataset.delete).remove() -} - -function makeFromBaseTemplate (id, type, name, parent) { - let clone = document.importNode(templates.base.content, true) - clone.querySelector('fieldset').id = id - clone.querySelector('fieldset').dataset.type = type - clone.querySelector('h3').innerHTML = name - clone.querySelector('.delete').dataset.delete = id - clone.querySelector('.delete').addEventListener('click', deleteFrontMatterItem) - clone.querySelector('.add').addEventListener('click', addFrontMatterItem) - - if (parent.classList.contains('frontmatter')) { - parent.insertBefore(clone, document.querySelector('div.button.add')) - return - } - - parent.appendChild(clone) -} - -function makeFromArrayItemTemplate (id, number, parent) { - let clone = document.importNode(templates.arrayItem.content, true) - clone.querySelector('[data-type="array-item"]').id = `${id}-${number}` - clone.querySelector('input').name = id - clone.querySelector('input').id = id - clone.querySelector('div.action').dataset.delete = `${id}-${number}` - clone.querySelector('div.action').addEventListener('click', deleteFrontMatterItem) - parent.querySelector('.group').appendChild(clone) - document.getElementById(`${id}-${number}`).querySelector('input').focus() -} - -function makeFromObjectItemTemplate (id, name, parent) { - let clone = document.importNode(templates.objectItem.content, true) - clone.querySelector('.block').id = `block-${id}` - clone.querySelector('.block').dataset.content = id - clone.querySelector('label').for = id - clone.querySelector('label').innerHTML = name - clone.querySelector('input').name = id - clone.querySelector('input').id = id - clone.querySelector('.action').dataset.delete = `block-${id}` - clone.querySelector('.action').addEventListener('click', deleteFrontMatterItem) - - parent.appendChild(clone) - document.getElementById(id).focus() -} - -function addFrontMatterItemPrompt (parent) { - return function (event) { - event.preventDefault() - - let value = event.currentTarget.querySelector('input').value - if (value === '') { - return true - } - - closePrompt(event) - - let name = value.substring(0, value.lastIndexOf(':')), - type = value.substring(value.lastIndexOf(':') + 1, value.length) - - if (type !== '' && type !== 'array' && type !== 'object') { - name = value - } - - name = name.replace(' ', '_') - - let id = name - - if (parent.id != '') { - id = parent.id + '.' + id - } - - if (type == 'array' || type == 'object') { - if (parent.dataset.type == 'parent') { - makeFromBaseTemplate(id, type, name, document.querySelector('.frontmatter')) - return - } - - makeFromBaseTemplate(id, type, name, block) - return - } - - let group = parent.querySelector('.group') - - if (group == null) { - parent.insertAdjacentHTML('afterbegin', '
    ') - group = parent.querySelector('.group') - } - - makeFromObjectItemTemplate(id, name, group) - } -} - -function addFrontMatterItem (event) { - event.preventDefault() - - let parent = event.currentTarget.parentNode, - type = parent.dataset.type - - // If the block is an array - if (type === 'array') { - let id = parent.id + '[]', - count = parent.querySelectorAll('.group > div').length, - fieldsets = parent.getElementsByTagName('fieldset') - - if (fieldsets.length > 0) { - let itemType = fieldsets[0].dataset.type, - itemID = parent.id + '[' + fieldsets.length + ']', - itemName = fieldsets.length - - makeFromBaseTemplate(itemID, itemType, itemName, parent) - } else { - makeFromArrayItemTemplate(id, count, parent) - } - - return - } - - if (type == 'object' || type == 'parent') { - let clone = document.importNode(templates.question.content, true) - clone.querySelector('form').id = tempID - clone.querySelector('h3').innerHTML = 'New field' - clone.querySelector('p').innerHTML = 'Write the field name and then press enter. If you want to create an array or an object, end the name with :array or :object.' - clone.querySelector('.ok').innerHTML = 'Create' - clone.querySelector('form').addEventListener('submit', addFrontMatterItemPrompt(parent)) - clone.querySelector('form').classList.add('active') - document.querySelector('body').appendChild(clone) - - document.querySelector('.overlay').classList.add('active') - document.getElementById(tempID).classList.add('active') - } - - return false -} - -document.addEventListener('DOMContentLoaded', (event) => { - if (!document.getElementById('editor')) return - - editor.textareaAutoGrow() - - templates.arrayItem = document.getElementById('array-item-template') - templates.base = document.getElementById('base-template') - templates.objectItem = document.getElementById('object-item-template') - templates.temporary = document.getElementById('temporary-template') - - buttons.save = document.querySelector('#save') - buttons.editSource = document.querySelector('#edit-source') - - if (buttons.editSource) { - buttons.editSource.addEventListener('click', editor.toggleSourceEditor) - } - - let container = document.getElementById('editor'), - kind = container.dataset.kind, - rune = container.dataset.rune - - if (kind != 'frontmatter-only') { - let editor = document.querySelector('.content #ace'), - mode = editor.dataset.mode, - textarea = document.querySelector('textarea[name="content"]'), - aceEditor = ace.edit('ace'), - options = { - wrap: true, - maxLines: Infinity, - theme: 'ace/theme/github', - showPrintMargin: false, - fontSize: '1em', - minLines: 20 - } - - aceEditor.getSession().setMode('ace/mode/' + mode) - aceEditor.getSession().setValue(textarea.value) - aceEditor.getSession().on('change', function () { - textarea.value = aceEditor.getSession().getValue() - }) - - if (mode == 'markdown') options.showGutter = false - aceEditor.setOptions(options) - } - - let deleteFrontMatterItemButtons = document.getElementsByClassName('delete') - Array.from(deleteFrontMatterItemButtons).forEach(button => { - button.addEventListener('click', deleteFrontMatterItem) - }) - - let addFrontMatterItemButtons = document.getElementsByClassName('add') - Array.from(addFrontMatterItemButtons).forEach(button => { - button.addEventListener('click', addFrontMatterItem) - }) - - let saveContent = function () { - let data = form2js(document.querySelector('form')) - - if (typeof data.content === 'undefined' && kind !== 'frontmatter-only') { - data.content = '' - } - - if (typeof data.content === 'number') { - data.content = data.content.toString() - } - - let request = new XMLHttpRequest() - - buttons.setLoading('save') - - webdav.put(window.location.pathname, JSON.stringify(data), { - 'Kind': kind, - 'Rune': rune - }) - .then(() => { - buttons.setDone('save') - }) - .catch(e => { - console.log(e) - buttons.setDone('save', false) - }) - } - - document.querySelector('#save').addEventListener('click', event => { - event.preventDefault() - saveContent() - }) - - document.querySelector('form').addEventListener('submit', (event) => { - event.preventDefault() - saveContent() - }) - - window.addEventListener('keydown', (event) => { - if (event.ctrlKey || event.metaKey) { - switch (String.fromCharCode(event.which).toLowerCase()) { - case 's': - event.preventDefault() - saveContent() - break - } - } - }) - - return false -}) diff --git a/_embed/public/js/form2js.js b/_embed/public/js/form2js.js deleted file mode 100644 index 8d739bbd..00000000 --- a/_embed/public/js/form2js.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"undefined"!=typeof exports&&"undefined"!=typeof module&&module.exports?module.exports=n():"function"==typeof define&&define.amd?define(n):e.form2js=n()}(this,function(){"use strict";function e(e,r,u,i,a,l){l=!!l,void 0!==u&&null!=u||(u=!0),void 0!==r&&null!=r||(r="."),arguments.length<5&&(a=!1);var o,c=[],s=0;if((e="string"==typeof e?document.getElementById(e):e).constructor==Array||"undefined"!=typeof NodeList&&e.constructor==NodeList)for(;o=e[s++];)c=c.concat(t(o,i,a,l));else c=t(e,i,a,l);return n(c,u,r)}function n(e,n,t){var r,u,i,a,l,o,c,s,f,d,h,m,g={},p={};for(r=0;r1)for(i=0;i-1&&u==o.length-1?(s+=f=h.substr(0,h.indexOf("[")),c[f]||(c[f]=[]),c[f].push(l)):h.indexOf("[")>-1?(p[s+="_"+(f=h.substr(0,h.indexOf("[")))+"_"+(d=h.replace(/(^([a-z_]+)?\[)|(\]$)/gi,""))]||(p[s]={}),""==f||c[f]||(c[f]=[]),u==o.length-1?""==f?(c.push(l),p[s][d]=c[c.length-1]):(c[f].push(l),p[s][d]=c[f][c[f].length-1]):p[s][d]||(/^[0-9a-z_]+\[?/i.test(o[u+1])?c[f].push({}):c[f].push([]),p[s][d]=c[f][c[f].length-1]),c=p[s][d]):(s+=h,u0?a:r(e,n,t,i)}function r(e,n,t,r){for(var i=[],a=e.firstChild;a;)i=i.concat(u(a,n,t,r)),a=a.nextSibling;return i}function u(e,n,t,u){if(e.disabled&&!u)return[];var l,o,c,s=i(e,t);return l=n&&n(e),l&&l.name?c=[l]:""!=s&&e.nodeName.match(/INPUT|TEXTAREA/i)?c=null===(o=a(e,u))?[]:[{name:s,value:o}]:""!=s&&e.nodeName.match(/SELECT/i)?(o=a(e,u),c=[{name:s.replace(/\[\]$/,""),value:o}]):c=r(e,n,t,u),c}function i(e,n){return e.name&&""!=e.name?e.name:n&&e.id&&""!=e.id?e.id:""}function a(e,n){if(e.disabled&&!n)return null;switch(e.nodeName){case"INPUT":case"TEXTAREA":switch(e.type.toLowerCase()){case"radio":if(e.checked&&"false"===e.value)return!1;case"checkbox":if(e.checked&&"true"===e.value)return!0;if(!e.checked&&"true"===e.value)return!1;if(e.checked)return e.value;break;case"button":case"reset":case"submit":case"image":return"";default:return e.value}break;case"SELECT":return l(e)}return null}function l(e){var n,t,r,u=[];if(!e.multiple)return e.value;for(t=0,r=(n=e.getElementsByTagName("option")).length;t listing.reload()) - .catch(e => console.log(e)) -} - -listing.documentDrop = function (event) { - event.preventDefault() - let dt = event.dataTransfer, - files = dt.files, - el = event.target, - items = document.getElementsByClassName('item') - - for (let i = 0; i < 5; i++) { - if (el != null && !el.classList.contains('item')) { - el = el.parentElement - } - } - - if (files.length > 0) { - if (el != null && el.classList.contains('item') && el.dataset.dir == 'true') { - listing.handleFiles(files, el.querySelector('.name').innerHTML + '/') - return - } - - listing.handleFiles(files, '') - } else { - Array.from(items).forEach(file => { - file.style.opacity = 1 - }) - } -} - -listing.rename = function (event) { - if (!selectedItems.length || selectedItems.length > 1) { - return false - } - - let item = document.getElementById(selectedItems[0]) - - if (item.classList.contains('disabled')) { - return false - } - - let link = item.dataset.url, - field = item.querySelector('.name'), - name = field.innerHTML - - let submit = (event) => { - event.preventDefault() - - let newName = event.currentTarget.querySelector('input').value, - newLink = removeLastDirectoryPartOf(link) + '/' + newName - - closePrompt(event) - buttons.setLoading('rename') - - webdav.move(link, newLink).then(() => { - listing.reload(() => { - newName = btoa(newName) - selectedItems = [newName] - document.getElementById(newName).setAttribute('aria-selected', true) - listing.handleSelectionChange() - }) - - buttons.setDone('rename') - }).catch(error => { - field.innerHTML = name - buttons.setDone('rename', false) - console.log(error) - }) - - return false - } - - let clone = document.importNode(templates.question.content, true) - clone.querySelector('h3').innerHTML = 'Rename' - clone.querySelector('input').value = name - clone.querySelector('.ok').innerHTML = 'Rename' - clone.querySelector('form').addEventListener('submit', submit) - - document.querySelector('body').appendChild(clone) - document.querySelector('.overlay').classList.add('active') - document.querySelector('.prompt').classList.add('active') - - return false -} - -listing.handleFiles = function (files, base) { - buttons.setLoading('upload') - - let promises = [] - - for (let file of files) { - promises.push(webdav.put(window.location.pathname + base + file.name, file)) - } - - Promise.all(promises) - .then(() => { - listing.reload() - buttons.setDone('upload') - }) - .catch(e => { - console.log(e) - buttons.setDone('upload', false) - }) - - return false -} - -listing.unselectAll = function () { - let items = document.getElementsByClassName('item') - Array.from(items).forEach(link => { - link.setAttribute('aria-selected', false) - }) - - selectedItems = [] - - listing.handleSelectionChange() - return false -} - -listing.handleSelectionChange = function (event) { - listing.redefineDownloadURLs() - - let selectedNumber = selectedItems.length, - fileAction = document.getElementById('file-only') - - if (selectedNumber) { - fileAction.classList.remove('disabled') - - if (selectedNumber > 1) { - buttons.open.classList.add('disabled') - buttons.rename.classList.add('disabled') - buttons.info.classList.add('disabled') - } - - if (selectedNumber == 1) { - if (document.getElementById(selectedItems[0]).dataset.dir == 'true') { - buttons.open.classList.add('disabled') - } else { - buttons.open.classList.remove('disabled') - } - - buttons.info.classList.remove('disabled') - buttons.rename.classList.remove('disabled') - } - - return false - } - - buttons.info.classList.remove('disabled') - fileAction.classList.add('disabled') - return false -} - -listing.redefineDownloadURLs = function () { - let files = '' - - for (let i = 0; i < selectedItems.length; i++) { - let url = document.getElementById(selectedItems[i]).dataset.url - files += url.replace(window.location.pathname, '') + ',' - } - - files = files.substring(0, files.length - 1) - files = encodeURIComponent(files) - - let links = document.querySelectorAll('#download ul a') - Array.from(links).forEach(link => { - link.href = '?download=' + link.dataset.format + '&files=' + files - }) -} - -listing.openItem = function (event) { - window.location = event.currentTarget.dataset.url -} - -listing.selectItem = function (event) { - let el = event.currentTarget - - if (selectedItems.length != 0) event.preventDefault() - if (selectedItems.indexOf(el.id) == -1) { - if (!event.ctrlKey && !listing.selectMultiple) listing.unselectAll() - - el.setAttribute('aria-selected', true) - selectedItems.push(el.id) - } else { - el.setAttribute('aria-selected', false) - selectedItems.removeElement(el.id) - } - - listing.handleSelectionChange() - return false -} - -listing.newFileButton = function (event) { - event.preventDefault() - - let clone = document.importNode(templates.question.content, true) - clone.querySelector('h3').innerHTML = 'New file' - clone.querySelector('p').innerHTML = 'End with a trailing slash to create a dir.' - clone.querySelector('.ok').innerHTML = 'Create' - clone.querySelector('form').addEventListener('submit', listing.newFilePrompt) - - document.querySelector('body').appendChild(clone) - document.querySelector('.overlay').classList.add('active') - document.querySelector('.prompt').classList.add('active') -} - -listing.newFilePrompt = function (event) { - event.preventDefault() - buttons.setLoading('new') - - let name = event.currentTarget.querySelector('input').value - - webdav.new(window.location.pathname + name) - .then(() => { - buttons.setDone('new') - listing.reload() - }) - .catch(e => { - console.log(e) - buttons.setDone('new', false) - }) - - closePrompt(event) - return false -} - -listing.updateColumns = function (event) { - let columns = Math.floor(document.getElementById('listing').offsetWidth / 300), - items = getCSSRule(['#listing.mosaic .item', '.mosaic#listing .item']) - - items.style.width = `calc(${100/columns}% - 1em)` -} - -listing.addDoubleTapEvent = function () { - let items = document.getElementsByClassName('item'), - touches = { - id: '', - count: 0 - } - - Array.from(items).forEach(file => { - file.addEventListener('touchstart', event => { - if (touches.id != file.id) { - touches.id = file.id - touches.count = 1 - - setTimeout(() => { - touches.count = 0 - }, 300) - - return - } - - touches.count++ - - if (touches.count > 1) { - window.location = file.dataset.url - } - }) - }) -} - -// Keydown events -window.addEventListener('keydown', (event) => { - if (event.keyCode == 27) { - listing.unselectAll() - - if (document.querySelectorAll('.prompt').length) { - closePrompt(event) - } - } - - if (event.keyCode == 113) { - listing.rename() - } - - if (event.ctrlKey || event.metaKey) { - switch (String.fromCharCode(event.which).toLowerCase()) { - case 's': - event.preventDefault() - window.location = '?download=true' - } - } -}) - -window.addEventListener('resize', () => { - listing.updateColumns() -}) - -listing.selectMoveFolder = function (event) { - if (event.target.getAttribute('aria-selected') === 'true') { - event.target.setAttribute('aria-selected', false) - return - } else { - if (document.querySelector('.file-list li[aria-selected=true]')) { - document.querySelector('.file-list li[aria-selected=true]').setAttribute('aria-selected', false) - } - event.target.setAttribute('aria-selected', true) - return - } -} - -listing.getJSON = function (link) { - return new Promise((resolve, reject) => { - let request = new XMLHttpRequest() - request.open('GET', link) - request.setRequestHeader('Accept', 'application/json') - request.onload = () => { - if (request.status == 200) { - resolve(request.responseText) - } else { - reject(request.statusText) - } - } - request.onerror = () => reject(request.statusText) - request.send() - }) -} - -listing.moveMakeItem = function (url, name) { - let node = document.createElement('li'), - count = 0 - - node.dataset.url = url - node.innerHTML = name - node.setAttribute('aria-selected', false) - - node.addEventListener('dblclick', listing.moveDialogNext) - node.addEventListener('click', listing.selectMoveFolder) - node.addEventListener('touchstart', event => { - count++ - - setTimeout(() => { - count = 0 - }, 300) - - if (count > 1) { - listing.moveDialogNext(event) - } - }) - - return node -} - -listing.moveDialogNext = function (event) { - let request = new XMLHttpRequest(), - prompt = document.querySelector('form.prompt.active'), - list = prompt.querySelector('div.file-list ul') - - prompt.addEventListener('submit', listing.moveSelected) - - listing.getJSON(event.target.dataset.url) - .then((data) => { - let dirs = 0 - - prompt.querySelector('ul').innerHTML = '' - prompt.querySelector('code').innerHTML = event.target.dataset.url - - if (event.target.dataset.url != baseURL + '/') { - let node = listing.moveMakeItem(removeLastDirectoryPartOf(event.target.dataset.url) + '/', '..') - list.appendChild(node) - } - - if (JSON.parse(data) == null) { - prompt.querySelector('p').innerHTML = `There aren't any folders in this directory.` - return - } - - for (let f of JSON.parse(data)) { - if (f.IsDir === true) { - dirs++ - list.appendChild(listing.moveMakeItem(f.URL, f.Name)) - } - } - - if (dirs === 0) - prompt.querySelector('p').innerHTML = `There aren't any folders in this directory.` - }) - .catch(e => console.log(e)) -} - -listing.moveSelected = function (event) { - event.preventDefault() - - let promises = [] - buttons.setLoading('move') - - for (let file of selectedItems) { - let fileElement = document.getElementById(file), - destFolder = event.target.querySelector('p code').innerHTML - - if (event.currentTarget.querySelector('li[aria-selected=true]') != null) { - destFolder = event.currentTarget.querySelector('li[aria-selected=true]').dataset.url - } - - let destPath = '/' + destFolder + '/' + fileElement.querySelector('.name').innerHTML - destPath = destPath.replace('//', '/') - - promises.push(webdav.move(fileElement.dataset.url, destPath)) - } - - Promise.all(promises) - .then(() => { - closePrompt(event) - buttons.setDone('move') - listing.reload() - }) - .catch(e => { - console.log(e) - }) -} - -listing.moveEvent = function (event) { - if (event.currentTarget.classList.contains('disabled')) - return - - listing.getJSON(window.location.pathname) - .then((data) => { - let prompt = document.importNode(templates.move.content, true), - list = prompt.querySelector('div.file-list ul'), - dirs = 0 - - prompt.querySelector('form').addEventListener('submit', listing.moveSelected) - prompt.querySelector('code').innerHTML = window.location.pathname - - if (window.location.pathname !== baseURL + '/') { - list.appendChild(listing.moveMakeItem(removeLastDirectoryPartOf(window.location.pathname) + '/', '..')) - } - - for (let f of JSON.parse(data)) { - if (f.IsDir === true) { - dirs++ - list.appendChild(listing.moveMakeItem(f.URL, f.Name)) - } - } - - if (dirs === 0) { - prompt.querySelector('p').innerHTML = `There aren't any folders in this directory.` - } - - document.body.appendChild(prompt) - document.querySelector('.overlay').classList.add('active') - document.querySelector('.prompt').classList.add('active') - }) - .catch(e => console.log(e)) -} - -document.addEventListener('DOMContentLoaded', event => { - listing.updateColumns() - listing.addDoubleTapEvent() - - buttons.rename = document.getElementById('rename') - buttons.upload = document.getElementById('upload') - buttons.new = document.getElementById('new') - buttons.download = document.getElementById('download') - buttons.move = document.getElementById('move') - - document.getElementById('multiple-selection-activate').addEventListener('click', event => { - listing.selectMultiple = true - clickOverlay.click() - - document.getElementById('multiple-selection').classList.add('active') - document.querySelector('body').style.paddingBottom = '4em' - }) - - document.getElementById('multiple-selection-cancel').addEventListener('click', event => { - listing.selectMultiple = false - - document.querySelector('body').style.paddingBottom = '0' - document.getElementById('multiple-selection').classList.remove('active') - }) - - if (user.AllowEdit) { - buttons.move.addEventListener('click', listing.moveEvent) - buttons.rename.addEventListener('click', listing.rename) - } - - let items = document.getElementsByClassName('item') - - if (user.AllowNew) { - buttons.upload.addEventListener('click', (event) => { - document.getElementById('upload-input').click() - }) - - buttons.new.addEventListener('click', listing.newFileButton) - - // Drag and Drop - document.addEventListener('dragover', function (event) { - event.preventDefault() - }, false) - - document.addEventListener('dragenter', (event) => { - Array.from(items).forEach(file => { - file.style.opacity = 0.5 - }) - }, false) - - document.addEventListener('dragend', (event) => { - Array.from(items).forEach(file => { - file.style.opacity = 1 - }) - }, false) - - document.addEventListener('drop', listing.documentDrop, false) - } -}) diff --git a/_embed/templates/base.tmpl b/_embed/templates/base.tmpl deleted file mode 100644 index 14dbb525..00000000 --- a/_embed/templates/base.tmpl +++ /dev/null @@ -1,289 +0,0 @@ - - -{{ $absURL := .Config.AbsoluteURL }} - - {{.Name}} - - - - - - {{- if ne .User.StyleSheet "" -}} - - {{- end -}} - - - - {{- if .IsDir }} - - {{- else }} - - - - {{- end }} - - -
    -
    -

    File Manager

    - - -
    - exit_to_app -
    -
    - -
    -
    - {{- if ne .Name "/"}} - - {{- end }} - - {{ if ne .Name "/"}}

    {{ .Name }}

    {{ end }} -
    - -
    - {{- if and (not .IsDir) (.User.AllowEdit) }} - {{- if .Editor}} - - {{- if eq .Data.Mode "markdown" }} -
    - remove_red_eye -
    - {{- end }} - - {{- if eq .Data.Visual true }} -
    - code -
    - {{- end }} - {{- end }} - -
    - save -
    - {{- end }} - - {{- if .IsDir }} -
    - open_in_new - See raw -
    - {{- end }} - - {{- if and (.User.AllowEdit) (.IsDir) }} -
    - forward - Move file -
    - {{- end }} - - {{- if and .IsDir .User.AllowEdit }} -
    - mode_edit -
    - {{- end }} - - {{- if and .User.AllowEdit .IsDir }} -
    - deleteDelete -
    - {{- end }} -
    - -
    - more_vert -
    - -
    - {{- if .IsDir }} -
    - {{- if eq .Display "mosaic" }} - - view_listSwitch view - - {{- else }} - - view_moduleSwitch view - - {{- end }} -
    - -
    - check_circleSelect -
    - {{- end }} - - {{- if and (.User.AllowNew) (.IsDir) }} -
    - file_uploadUpload -
    - {{- end }} - - {{- if not .IsDir }} -
    - open_in_new - See raw -
    - {{- end }} - - {{- if and .User.AllowEdit (not .IsDir) }} -
    - deleteDelete -
    - {{- end }} - -
    - {{- if not .IsDir}}{{ end }} - file_downloadDownload - {{- if not .IsDir}}{{ end }} - - {{- if .IsDir }} - - {{- end }} -
    - -
    - infoInfo -
    -
    -
    - -
    -
    - -
    -

    Multiple selection enabled

    -
    - clear -
    -
    - -
    - {{- template "content" . }} -
    - -
    - - {{- if and (.User.AllowNew) (.IsDir) }} -
    -
    - add -
    -
    - {{- end }} - - - - - - - - - -
    -

    Help

    - -
      -
    • F1 - this information
    • -
    • F2 - rename file
    • -
    • DEL - delete selected items
    • -
    • ESC - clear selection and/or close the prompt
    • -
    • CTRL + S - save a file or download the directory where you are
    • -
    • CTRL + Click - select multiple files or directories
    • -
    • Double click - open a file or directory
    • -
    • Click - select file or directory
    • -
    - -

    Not available yet

    - -
      -
    • Alt + Click - select a group of files
    • -
    - -
    - -
    -
    - - - - diff --git a/_embed/templates/editor.tmpl b/_embed/templates/editor.tmpl deleted file mode 100644 index d02238d8..00000000 --- a/_embed/templates/editor.tmpl +++ /dev/null @@ -1,57 +0,0 @@ -{{ define "content" }} -{{- with .Data }} -
    - {{- if or (eq .Class "frontmatter-only") (eq .Class "complete") }} - {{- if (eq .Class "complete")}} -

    Metadata

    - {{- end }} -
    - {{- template "blocks" .FrontMatter.Content }} -
    Add field
    -
    - {{- end }} - - {{ if or (eq .Class "content-only") (eq .Class "complete") }} - {{ if (eq .Class "complete")}} -

    Body

    - {{ end }} -
    -
    - -
    - {{ end }} -
    -{{- end }} - - - - - - -{{ end }} diff --git a/_embed/templates/frontmatter.tmpl b/_embed/templates/frontmatter.tmpl deleted file mode 100644 index 3389da90..00000000 --- a/_embed/templates/frontmatter.tmpl +++ /dev/null @@ -1,56 +0,0 @@ -{{ define "blocks" }} -{{ if .Fields }}
    {{ end }} -{{- range $key, $value := .Fields }} - {{- if eq $value.Parent.Type "array" }} -
    - {{- template "value" $value }} -
    - close -
    -
    - {{- else }} -
    - - {{ template "value" $value }} -
    - close -
    -
    - {{- end }} -{{- end }} -{{- if .Fields }}
    {{ end }} - -{{- range $key, $value := .Arrays }} -{{- template "fielset" $value }} -{{- end }} - -{{- range $key, $value := .Objects }} -{{- template "fielset" $value }} -{{- end }} - -{{ end }} - -{{ define "value" }} -{{- if eq .HTMLType "textarea" }} - -{{- else if eq .HTMLType "datetime" }} - -{{- else }} - -{{- end }} -{{ end }} - -{{ define "fielset" }} -
    - {{- if not (eq .Title "") }} -

    {{ .Name }}

    - {{- end }} -
    - add -
    -
    - close -
    - {{- template "blocks" .Content }} -
    -{{ end }} diff --git a/_embed/templates/listing.tmpl b/_embed/templates/listing.tmpl deleted file mode 100644 index da94b962..00000000 --- a/_embed/templates/listing.tmpl +++ /dev/null @@ -1,103 +0,0 @@ -{{ define "content" }} -
    -{{- with .Data -}} -
    -
    -
    -
    -

    Name - {{- if eq .Sort "name" -}} - {{- if eq .Order "asc" -}} - arrow_downward - {{- else -}} - arrow_upward - {{- end -}} - {{- else -}} - arrow_downward - {{- end -}} -

    -

    File Size - {{- if eq .Sort "size" -}} - {{- if eq .Order "asc" -}} - arrow_downward - {{- else -}} - arrow_upward - {{- end -}} - {{- else -}} - arrow_downward - {{- end -}} -

    -

    Last modified

    -
    -
    -
    - - {{ if and (eq .NumDirs 0) (eq .NumFiles 0) }} -

    It feels lonely here :'(

    - {{ end }} - - {{- if not (eq .NumDirs 0)}} -

    Folders

    -
    - {{- range .Items }} - {{- if (.IsDir) }} - {{ template "item" .}} - {{- end }} - {{- end }} -
    - {{- end }} - - {{- if not (eq .NumFiles 0)}} -

    Files

    -
    - {{- range .Items }} - {{- if (not .IsDir) }} - {{ template "item" .}} - {{- end }} - {{- end }} -
    - {{- end }} -
    - - -{{- end -}} -{{- end -}} - -{{ define "item" }} -
    -
    - {{- if .IsDir}} - folder - {{- else}} - {{ if eq .Type "image" }} - insert_photo - {{ else if eq .Type "audio" }} - volume_up - {{ else if eq .Type "video" }} - movie - {{ else }} - insert_drive_file - {{ end }} - {{- end}} -
    -
    -

    {{.Name}}

    - {{- if .IsDir}} -

    - {{- else}} -

    {{.HumanSize}}

    - {{- end}} -

    - -

    -
    -
    -{{ end }} diff --git a/_embed/templates/minimal.tmpl b/_embed/templates/minimal.tmpl deleted file mode 100644 index 66e0068d..00000000 --- a/_embed/templates/minimal.tmpl +++ /dev/null @@ -1 +0,0 @@ -{{ template "content" . }} diff --git a/_embed/templates/single.tmpl b/_embed/templates/single.tmpl deleted file mode 100644 index c85ab5a4..00000000 --- a/_embed/templates/single.tmpl +++ /dev/null @@ -1,23 +0,0 @@ -{{ define "content" }} -{{ with .Data}} -
    - {{ if eq .Type "image" }} -
    - {{ else if eq .Type "audio" }} - - {{ else if eq .Type "video" }} - - {{ else if eq .Extension ".pdf" }} - - {{ else if eq .Type "blob" }} -

    Download file_download

    - {{ else}} -
    {{ .StringifyContent }}
    - {{ end }} -
    -{{ end }} -{{ end }} diff --git a/assets/assets.go b/assets/assets.go deleted file mode 100644 index 22990cbe..00000000 --- a/assets/assets.go +++ /dev/null @@ -1,33 +0,0 @@ -package assets - -import ( - "mime" - "net/http" - "path/filepath" - "strings" - - "github.com/hacdias/filemanager" -) - -// BaseURL is the url of the assets -const BaseURL = "/_internal" - -// Serve provides the needed assets for the front-end -func Serve(w http.ResponseWriter, r *http.Request, c *filemanager.Config) (int, error) { - // gets the filename to be used with Assets function - filename := strings.Replace(r.URL.Path, c.BaseURL+BaseURL, "public", 1) - file, err := Asset(filename) - if err != nil { - return http.StatusNotFound, nil - } - - // Get the file extension and its mimetype - extension := filepath.Ext(filename) - mediatype := mime.TypeByExtension(extension) - - // Write the header with the Content-Type and write the file - // content to the buffer - w.Header().Set("Content-Type", mediatype) - w.Write(file) - return 200, nil -} diff --git a/assets/binary.go b/assets/binary.go deleted file mode 100644 index 560a6b56..00000000 --- a/assets/binary.go +++ /dev/null @@ -1,7413 +0,0 @@ -// Code generated by go-bindata. -// sources: -// _embed/templates/base.tmpl -// _embed/templates/editor.tmpl -// _embed/templates/frontmatter.tmpl -// _embed/templates/listing.tmpl -// _embed/templates/minimal.tmpl -// _embed/templates/single.tmpl -// _embed/public/js/common.js -// _embed/public/js/editor.js -// _embed/public/js/form2js.js -// _embed/public/js/listing.js -// _embed/public/css/fonts.css -// _embed/public/css/material/icons.woff2 -// _embed/public/css/normalize.css -// _embed/public/css/roboto/medium-cyrillic-ext.woff2 -// _embed/public/css/roboto/medium-cyrillic.woff2 -// _embed/public/css/roboto/medium-greek-ext.woff2 -// _embed/public/css/roboto/medium-greek.woff2 -// _embed/public/css/roboto/medium-latin-ext.woff2 -// _embed/public/css/roboto/medium-latin.woff2 -// _embed/public/css/roboto/medium-vietnamese.woff2 -// _embed/public/css/roboto/normal-cyrillic-ext.woff2 -// _embed/public/css/roboto/normal-cyrillic.woff2 -// _embed/public/css/roboto/normal-greek-ext.woff2 -// _embed/public/css/roboto/normal-greek.woff2 -// _embed/public/css/roboto/normal-latin-ext.woff2 -// _embed/public/css/roboto/normal-latin.woff2 -// _embed/public/css/roboto/normal-vietnamese.woff2 -// _embed/public/css/styles.css -// _embed/public/ace/src-min/ace.js -// _embed/public/ace/src-min/ext-beautify.js -// _embed/public/ace/src-min/ext-chromevox.js -// _embed/public/ace/src-min/ext-elastic_tabstops_lite.js -// _embed/public/ace/src-min/ext-emmet.js -// _embed/public/ace/src-min/ext-error_marker.js -// _embed/public/ace/src-min/ext-keybinding_menu.js -// _embed/public/ace/src-min/ext-language_tools.js -// _embed/public/ace/src-min/ext-linking.js -// _embed/public/ace/src-min/ext-modelist.js -// _embed/public/ace/src-min/ext-old_ie.js -// _embed/public/ace/src-min/ext-searchbox.js -// _embed/public/ace/src-min/ext-settings_menu.js -// _embed/public/ace/src-min/ext-spellcheck.js -// _embed/public/ace/src-min/ext-split.js -// _embed/public/ace/src-min/ext-static_highlight.js -// _embed/public/ace/src-min/ext-statusbar.js -// _embed/public/ace/src-min/ext-textarea.js -// _embed/public/ace/src-min/ext-themelist.js -// _embed/public/ace/src-min/ext-whitespace.js -// _embed/public/ace/src-min/keybinding-emacs.js -// _embed/public/ace/src-min/keybinding-vim.js -// _embed/public/ace/src-min/mode-abap.js -// _embed/public/ace/src-min/mode-abc.js -// _embed/public/ace/src-min/mode-actionscript.js -// _embed/public/ace/src-min/mode-ada.js -// _embed/public/ace/src-min/mode-apache_conf.js -// _embed/public/ace/src-min/mode-applescript.js -// _embed/public/ace/src-min/mode-asciidoc.js -// _embed/public/ace/src-min/mode-assembly_x86.js -// _embed/public/ace/src-min/mode-autohotkey.js -// _embed/public/ace/src-min/mode-batchfile.js -// _embed/public/ace/src-min/mode-bro.js -// _embed/public/ace/src-min/mode-c9search.js -// _embed/public/ace/src-min/mode-c_cpp.js -// _embed/public/ace/src-min/mode-cirru.js -// _embed/public/ace/src-min/mode-clojure.js -// _embed/public/ace/src-min/mode-cobol.js -// _embed/public/ace/src-min/mode-coffee.js -// _embed/public/ace/src-min/mode-coldfusion.js -// _embed/public/ace/src-min/mode-csharp.js -// _embed/public/ace/src-min/mode-css.js -// _embed/public/ace/src-min/mode-curly.js -// _embed/public/ace/src-min/mode-d.js -// _embed/public/ace/src-min/mode-dart.js -// _embed/public/ace/src-min/mode-diff.js -// _embed/public/ace/src-min/mode-django.js -// _embed/public/ace/src-min/mode-dockerfile.js -// _embed/public/ace/src-min/mode-dot.js -// _embed/public/ace/src-min/mode-drools.js -// _embed/public/ace/src-min/mode-eiffel.js -// _embed/public/ace/src-min/mode-ejs.js -// _embed/public/ace/src-min/mode-elixir.js -// _embed/public/ace/src-min/mode-elm.js -// _embed/public/ace/src-min/mode-erlang.js -// _embed/public/ace/src-min/mode-forth.js -// _embed/public/ace/src-min/mode-fortran.js -// _embed/public/ace/src-min/mode-ftl.js -// _embed/public/ace/src-min/mode-gcode.js -// _embed/public/ace/src-min/mode-gherkin.js -// _embed/public/ace/src-min/mode-gitignore.js -// _embed/public/ace/src-min/mode-glsl.js -// _embed/public/ace/src-min/mode-gobstones.js -// _embed/public/ace/src-min/mode-golang.js -// _embed/public/ace/src-min/mode-groovy.js -// _embed/public/ace/src-min/mode-haml.js -// _embed/public/ace/src-min/mode-handlebars.js -// _embed/public/ace/src-min/mode-haskell.js -// _embed/public/ace/src-min/mode-haskell_cabal.js -// _embed/public/ace/src-min/mode-haxe.js -// _embed/public/ace/src-min/mode-hjson.js -// _embed/public/ace/src-min/mode-html.js -// _embed/public/ace/src-min/mode-html_elixir.js -// _embed/public/ace/src-min/mode-html_ruby.js -// _embed/public/ace/src-min/mode-ini.js -// _embed/public/ace/src-min/mode-io.js -// _embed/public/ace/src-min/mode-jack.js -// _embed/public/ace/src-min/mode-jade.js -// _embed/public/ace/src-min/mode-java.js -// _embed/public/ace/src-min/mode-javascript.js -// _embed/public/ace/src-min/mode-json.js -// _embed/public/ace/src-min/mode-jsoniq.js -// _embed/public/ace/src-min/mode-jsp.js -// _embed/public/ace/src-min/mode-jsx.js -// _embed/public/ace/src-min/mode-julia.js -// _embed/public/ace/src-min/mode-kotlin.js -// _embed/public/ace/src-min/mode-latex.js -// _embed/public/ace/src-min/mode-lean.js -// _embed/public/ace/src-min/mode-less.js -// _embed/public/ace/src-min/mode-liquid.js -// _embed/public/ace/src-min/mode-lisp.js -// _embed/public/ace/src-min/mode-live_script.js -// _embed/public/ace/src-min/mode-livescript.js -// _embed/public/ace/src-min/mode-logiql.js -// _embed/public/ace/src-min/mode-lsl.js -// _embed/public/ace/src-min/mode-lua.js -// _embed/public/ace/src-min/mode-luapage.js -// _embed/public/ace/src-min/mode-lucene.js -// _embed/public/ace/src-min/mode-makefile.js -// _embed/public/ace/src-min/mode-markdown.js -// _embed/public/ace/src-min/mode-mask.js -// _embed/public/ace/src-min/mode-matlab.js -// _embed/public/ace/src-min/mode-maze.js -// _embed/public/ace/src-min/mode-mel.js -// _embed/public/ace/src-min/mode-mips_assembler.js -// _embed/public/ace/src-min/mode-mipsassembler.js -// _embed/public/ace/src-min/mode-mushcode.js -// _embed/public/ace/src-min/mode-mysql.js -// _embed/public/ace/src-min/mode-nix.js -// _embed/public/ace/src-min/mode-nsis.js -// _embed/public/ace/src-min/mode-objectivec.js -// _embed/public/ace/src-min/mode-ocaml.js -// _embed/public/ace/src-min/mode-pascal.js -// _embed/public/ace/src-min/mode-perl.js -// _embed/public/ace/src-min/mode-pgsql.js -// _embed/public/ace/src-min/mode-php.js -// _embed/public/ace/src-min/mode-plain_text.js -// _embed/public/ace/src-min/mode-powershell.js -// _embed/public/ace/src-min/mode-praat.js -// _embed/public/ace/src-min/mode-prolog.js -// _embed/public/ace/src-min/mode-properties.js -// _embed/public/ace/src-min/mode-protobuf.js -// _embed/public/ace/src-min/mode-python.js -// _embed/public/ace/src-min/mode-r.js -// _embed/public/ace/src-min/mode-razor.js -// _embed/public/ace/src-min/mode-rdoc.js -// _embed/public/ace/src-min/mode-rhtml.js -// _embed/public/ace/src-min/mode-rst.js -// _embed/public/ace/src-min/mode-ruby.js -// _embed/public/ace/src-min/mode-rust.js -// _embed/public/ace/src-min/mode-sass.js -// _embed/public/ace/src-min/mode-scad.js -// _embed/public/ace/src-min/mode-scala.js -// _embed/public/ace/src-min/mode-scheme.js -// _embed/public/ace/src-min/mode-scss.js -// _embed/public/ace/src-min/mode-sh.js -// _embed/public/ace/src-min/mode-sjs.js -// _embed/public/ace/src-min/mode-smarty.js -// _embed/public/ace/src-min/mode-snippets.js -// _embed/public/ace/src-min/mode-soy_template.js -// _embed/public/ace/src-min/mode-space.js -// _embed/public/ace/src-min/mode-sql.js -// _embed/public/ace/src-min/mode-sqlserver.js -// _embed/public/ace/src-min/mode-stylus.js -// _embed/public/ace/src-min/mode-svg.js -// _embed/public/ace/src-min/mode-swift.js -// _embed/public/ace/src-min/mode-swig.js -// _embed/public/ace/src-min/mode-tcl.js -// _embed/public/ace/src-min/mode-tex.js -// _embed/public/ace/src-min/mode-text.js -// _embed/public/ace/src-min/mode-textile.js -// _embed/public/ace/src-min/mode-toml.js -// _embed/public/ace/src-min/mode-tsx.js -// _embed/public/ace/src-min/mode-twig.js -// _embed/public/ace/src-min/mode-typescript.js -// _embed/public/ace/src-min/mode-vala.js -// _embed/public/ace/src-min/mode-vbscript.js -// _embed/public/ace/src-min/mode-velocity.js -// _embed/public/ace/src-min/mode-verilog.js -// _embed/public/ace/src-min/mode-vhdl.js -// _embed/public/ace/src-min/mode-wollok.js -// _embed/public/ace/src-min/mode-xml.js -// _embed/public/ace/src-min/mode-xquery.js -// _embed/public/ace/src-min/mode-yaml.js -// _embed/public/ace/src-min/snippets/abap.js -// _embed/public/ace/src-min/snippets/abc.js -// _embed/public/ace/src-min/snippets/actionscript.js -// _embed/public/ace/src-min/snippets/ada.js -// _embed/public/ace/src-min/snippets/apache_conf.js -// _embed/public/ace/src-min/snippets/applescript.js -// _embed/public/ace/src-min/snippets/asciidoc.js -// _embed/public/ace/src-min/snippets/assembly_x86.js -// _embed/public/ace/src-min/snippets/autohotkey.js -// _embed/public/ace/src-min/snippets/batchfile.js -// _embed/public/ace/src-min/snippets/bro.js -// _embed/public/ace/src-min/snippets/c9search.js -// _embed/public/ace/src-min/snippets/c_cpp.js -// _embed/public/ace/src-min/snippets/cirru.js -// _embed/public/ace/src-min/snippets/clojure.js -// _embed/public/ace/src-min/snippets/cobol.js -// _embed/public/ace/src-min/snippets/coffee.js -// _embed/public/ace/src-min/snippets/coldfusion.js -// _embed/public/ace/src-min/snippets/csharp.js -// _embed/public/ace/src-min/snippets/css.js -// _embed/public/ace/src-min/snippets/curly.js -// _embed/public/ace/src-min/snippets/d.js -// _embed/public/ace/src-min/snippets/dart.js -// _embed/public/ace/src-min/snippets/diff.js -// _embed/public/ace/src-min/snippets/django.js -// _embed/public/ace/src-min/snippets/dockerfile.js -// _embed/public/ace/src-min/snippets/dot.js -// _embed/public/ace/src-min/snippets/drools.js -// _embed/public/ace/src-min/snippets/eiffel.js -// _embed/public/ace/src-min/snippets/ejs.js -// _embed/public/ace/src-min/snippets/elixir.js -// _embed/public/ace/src-min/snippets/elm.js -// _embed/public/ace/src-min/snippets/erlang.js -// _embed/public/ace/src-min/snippets/forth.js -// _embed/public/ace/src-min/snippets/fortran.js -// _embed/public/ace/src-min/snippets/ftl.js -// _embed/public/ace/src-min/snippets/gcode.js -// _embed/public/ace/src-min/snippets/gherkin.js -// _embed/public/ace/src-min/snippets/gitignore.js -// _embed/public/ace/src-min/snippets/glsl.js -// _embed/public/ace/src-min/snippets/gobstones.js -// _embed/public/ace/src-min/snippets/golang.js -// _embed/public/ace/src-min/snippets/groovy.js -// _embed/public/ace/src-min/snippets/haml.js -// _embed/public/ace/src-min/snippets/handlebars.js -// _embed/public/ace/src-min/snippets/haskell.js -// _embed/public/ace/src-min/snippets/haskell_cabal.js -// _embed/public/ace/src-min/snippets/haxe.js -// _embed/public/ace/src-min/snippets/hjson.js -// _embed/public/ace/src-min/snippets/html.js -// _embed/public/ace/src-min/snippets/html_elixir.js -// _embed/public/ace/src-min/snippets/html_ruby.js -// _embed/public/ace/src-min/snippets/ini.js -// _embed/public/ace/src-min/snippets/io.js -// _embed/public/ace/src-min/snippets/jack.js -// _embed/public/ace/src-min/snippets/jade.js -// _embed/public/ace/src-min/snippets/java.js -// _embed/public/ace/src-min/snippets/javascript.js -// _embed/public/ace/src-min/snippets/json.js -// _embed/public/ace/src-min/snippets/jsoniq.js -// _embed/public/ace/src-min/snippets/jsp.js -// _embed/public/ace/src-min/snippets/jsx.js -// _embed/public/ace/src-min/snippets/julia.js -// _embed/public/ace/src-min/snippets/kotlin.js -// _embed/public/ace/src-min/snippets/latex.js -// _embed/public/ace/src-min/snippets/lean.js -// _embed/public/ace/src-min/snippets/less.js -// _embed/public/ace/src-min/snippets/liquid.js -// _embed/public/ace/src-min/snippets/lisp.js -// _embed/public/ace/src-min/snippets/live_script.js -// _embed/public/ace/src-min/snippets/livescript.js -// _embed/public/ace/src-min/snippets/logiql.js -// _embed/public/ace/src-min/snippets/lsl.js -// _embed/public/ace/src-min/snippets/lua.js -// _embed/public/ace/src-min/snippets/luapage.js -// _embed/public/ace/src-min/snippets/lucene.js -// _embed/public/ace/src-min/snippets/makefile.js -// _embed/public/ace/src-min/snippets/markdown.js -// _embed/public/ace/src-min/snippets/mask.js -// _embed/public/ace/src-min/snippets/matlab.js -// _embed/public/ace/src-min/snippets/maze.js -// _embed/public/ace/src-min/snippets/mel.js -// _embed/public/ace/src-min/snippets/mips_assembler.js -// _embed/public/ace/src-min/snippets/mipsassembler.js -// _embed/public/ace/src-min/snippets/mushcode.js -// _embed/public/ace/src-min/snippets/mysql.js -// _embed/public/ace/src-min/snippets/nix.js -// _embed/public/ace/src-min/snippets/nsis.js -// _embed/public/ace/src-min/snippets/objectivec.js -// _embed/public/ace/src-min/snippets/ocaml.js -// _embed/public/ace/src-min/snippets/pascal.js -// _embed/public/ace/src-min/snippets/perl.js -// _embed/public/ace/src-min/snippets/pgsql.js -// _embed/public/ace/src-min/snippets/php.js -// _embed/public/ace/src-min/snippets/plain_text.js -// _embed/public/ace/src-min/snippets/powershell.js -// _embed/public/ace/src-min/snippets/praat.js -// _embed/public/ace/src-min/snippets/prolog.js -// _embed/public/ace/src-min/snippets/properties.js -// _embed/public/ace/src-min/snippets/protobuf.js -// _embed/public/ace/src-min/snippets/python.js -// _embed/public/ace/src-min/snippets/r.js -// _embed/public/ace/src-min/snippets/razor.js -// _embed/public/ace/src-min/snippets/rdoc.js -// _embed/public/ace/src-min/snippets/rhtml.js -// _embed/public/ace/src-min/snippets/rst.js -// _embed/public/ace/src-min/snippets/ruby.js -// _embed/public/ace/src-min/snippets/rust.js -// _embed/public/ace/src-min/snippets/sass.js -// _embed/public/ace/src-min/snippets/scad.js -// _embed/public/ace/src-min/snippets/scala.js -// _embed/public/ace/src-min/snippets/scheme.js -// _embed/public/ace/src-min/snippets/scss.js -// _embed/public/ace/src-min/snippets/sh.js -// _embed/public/ace/src-min/snippets/sjs.js -// _embed/public/ace/src-min/snippets/smarty.js -// _embed/public/ace/src-min/snippets/snippets.js -// _embed/public/ace/src-min/snippets/soy_template.js -// _embed/public/ace/src-min/snippets/space.js -// _embed/public/ace/src-min/snippets/sql.js -// _embed/public/ace/src-min/snippets/sqlserver.js -// _embed/public/ace/src-min/snippets/stylus.js -// _embed/public/ace/src-min/snippets/svg.js -// _embed/public/ace/src-min/snippets/swift.js -// _embed/public/ace/src-min/snippets/swig.js -// _embed/public/ace/src-min/snippets/tcl.js -// _embed/public/ace/src-min/snippets/tex.js -// _embed/public/ace/src-min/snippets/text.js -// _embed/public/ace/src-min/snippets/textile.js -// _embed/public/ace/src-min/snippets/toml.js -// _embed/public/ace/src-min/snippets/tsx.js -// _embed/public/ace/src-min/snippets/twig.js -// _embed/public/ace/src-min/snippets/typescript.js -// _embed/public/ace/src-min/snippets/vala.js -// _embed/public/ace/src-min/snippets/vbscript.js -// _embed/public/ace/src-min/snippets/velocity.js -// _embed/public/ace/src-min/snippets/verilog.js -// _embed/public/ace/src-min/snippets/vhdl.js -// _embed/public/ace/src-min/snippets/wollok.js -// _embed/public/ace/src-min/snippets/xml.js -// _embed/public/ace/src-min/snippets/xquery.js -// _embed/public/ace/src-min/snippets/yaml.js -// _embed/public/ace/src-min/theme-github.js -// _embed/public/ace/src-min/worker-coffee.js -// _embed/public/ace/src-min/worker-css.js -// _embed/public/ace/src-min/worker-html.js -// _embed/public/ace/src-min/worker-javascript.js -// _embed/public/ace/src-min/worker-json.js -// _embed/public/ace/src-min/worker-lua.js -// _embed/public/ace/src-min/worker-php.js -// _embed/public/ace/src-min/worker-xml.js -// _embed/public/ace/src-min/worker-xquery.js -// DO NOT EDIT! - -package assets - -import ( - "fmt" - "io/ioutil" - "os" - "path/filepath" - "strings" -) - -// bindataRead reads the given file from disk. It returns an error on failure. -func bindataRead(path, name string) ([]byte, error) { - buf, err := ioutil.ReadFile(path) - if err != nil { - err = fmt.Errorf("Error reading asset %s at %s: %v", name, path, err) - } - return buf, err -} - -type asset struct { - bytes []byte - info os.FileInfo -} - -// templatesBaseTmpl reads file data from disk. It returns an error on failure. -func templatesBaseTmpl() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\templates\\base.tmpl" - name := "templates/base.tmpl" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// templatesEditorTmpl reads file data from disk. It returns an error on failure. -func templatesEditorTmpl() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\templates\\editor.tmpl" - name := "templates/editor.tmpl" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// templatesFrontmatterTmpl reads file data from disk. It returns an error on failure. -func templatesFrontmatterTmpl() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\templates\\frontmatter.tmpl" - name := "templates/frontmatter.tmpl" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// templatesListingTmpl reads file data from disk. It returns an error on failure. -func templatesListingTmpl() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\templates\\listing.tmpl" - name := "templates/listing.tmpl" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// templatesMinimalTmpl reads file data from disk. It returns an error on failure. -func templatesMinimalTmpl() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\templates\\minimal.tmpl" - name := "templates/minimal.tmpl" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// templatesSingleTmpl reads file data from disk. It returns an error on failure. -func templatesSingleTmpl() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\templates\\single.tmpl" - name := "templates/single.tmpl" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicJsCommonJs reads file data from disk. It returns an error on failure. -func publicJsCommonJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\js\\common.js" - name := "public/js/common.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicJsEditorJs reads file data from disk. It returns an error on failure. -func publicJsEditorJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\js\\editor.js" - name := "public/js/editor.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicJsForm2jsJs reads file data from disk. It returns an error on failure. -func publicJsForm2jsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\js\\form2js.js" - name := "public/js/form2js.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicJsListingJs reads file data from disk. It returns an error on failure. -func publicJsListingJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\js\\listing.js" - name := "public/js/listing.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssFontsCss reads file data from disk. It returns an error on failure. -func publicCssFontsCss() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\fonts.css" - name := "public/css/fonts.css" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssMaterialIconsWoff2 reads file data from disk. It returns an error on failure. -func publicCssMaterialIconsWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\material\\icons.woff2" - name := "public/css/material/icons.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssNormalizeCss reads file data from disk. It returns an error on failure. -func publicCssNormalizeCss() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\normalize.css" - name := "public/css/normalize.css" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoMediumCyrillicExtWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoMediumCyrillicExtWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\medium-cyrillic-ext.woff2" - name := "public/css/roboto/medium-cyrillic-ext.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoMediumCyrillicWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoMediumCyrillicWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\medium-cyrillic.woff2" - name := "public/css/roboto/medium-cyrillic.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoMediumGreekExtWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoMediumGreekExtWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\medium-greek-ext.woff2" - name := "public/css/roboto/medium-greek-ext.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoMediumGreekWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoMediumGreekWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\medium-greek.woff2" - name := "public/css/roboto/medium-greek.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoMediumLatinExtWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoMediumLatinExtWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\medium-latin-ext.woff2" - name := "public/css/roboto/medium-latin-ext.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoMediumLatinWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoMediumLatinWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\medium-latin.woff2" - name := "public/css/roboto/medium-latin.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoMediumVietnameseWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoMediumVietnameseWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\medium-vietnamese.woff2" - name := "public/css/roboto/medium-vietnamese.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoNormalCyrillicExtWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoNormalCyrillicExtWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\normal-cyrillic-ext.woff2" - name := "public/css/roboto/normal-cyrillic-ext.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoNormalCyrillicWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoNormalCyrillicWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\normal-cyrillic.woff2" - name := "public/css/roboto/normal-cyrillic.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoNormalGreekExtWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoNormalGreekExtWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\normal-greek-ext.woff2" - name := "public/css/roboto/normal-greek-ext.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoNormalGreekWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoNormalGreekWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\normal-greek.woff2" - name := "public/css/roboto/normal-greek.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoNormalLatinExtWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoNormalLatinExtWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\normal-latin-ext.woff2" - name := "public/css/roboto/normal-latin-ext.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoNormalLatinWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoNormalLatinWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\normal-latin.woff2" - name := "public/css/roboto/normal-latin.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssRobotoNormalVietnameseWoff2 reads file data from disk. It returns an error on failure. -func publicCssRobotoNormalVietnameseWoff2() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\roboto\\normal-vietnamese.woff2" - name := "public/css/roboto/normal-vietnamese.woff2" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicCssStylesCss reads file data from disk. It returns an error on failure. -func publicCssStylesCss() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\css\\styles.css" - name := "public/css/styles.css" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinAceJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinAceJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ace.js" - name := "public/ace/src-min/ace.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtBeautifyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtBeautifyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-beautify.js" - name := "public/ace/src-min/ext-beautify.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtChromevoxJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtChromevoxJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-chromevox.js" - name := "public/ace/src-min/ext-chromevox.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtElastic_tabstops_liteJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtElastic_tabstops_liteJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-elastic_tabstops_lite.js" - name := "public/ace/src-min/ext-elastic_tabstops_lite.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtEmmetJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtEmmetJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-emmet.js" - name := "public/ace/src-min/ext-emmet.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtError_markerJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtError_markerJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-error_marker.js" - name := "public/ace/src-min/ext-error_marker.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtKeybinding_menuJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtKeybinding_menuJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-keybinding_menu.js" - name := "public/ace/src-min/ext-keybinding_menu.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtLanguage_toolsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtLanguage_toolsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-language_tools.js" - name := "public/ace/src-min/ext-language_tools.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtLinkingJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtLinkingJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-linking.js" - name := "public/ace/src-min/ext-linking.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtModelistJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtModelistJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-modelist.js" - name := "public/ace/src-min/ext-modelist.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtOld_ieJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtOld_ieJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-old_ie.js" - name := "public/ace/src-min/ext-old_ie.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtSearchboxJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtSearchboxJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-searchbox.js" - name := "public/ace/src-min/ext-searchbox.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtSettings_menuJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtSettings_menuJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-settings_menu.js" - name := "public/ace/src-min/ext-settings_menu.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtSpellcheckJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtSpellcheckJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-spellcheck.js" - name := "public/ace/src-min/ext-spellcheck.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtSplitJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtSplitJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-split.js" - name := "public/ace/src-min/ext-split.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtStatic_highlightJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtStatic_highlightJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-static_highlight.js" - name := "public/ace/src-min/ext-static_highlight.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtStatusbarJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtStatusbarJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-statusbar.js" - name := "public/ace/src-min/ext-statusbar.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtTextareaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtTextareaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-textarea.js" - name := "public/ace/src-min/ext-textarea.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtThemelistJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtThemelistJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-themelist.js" - name := "public/ace/src-min/ext-themelist.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinExtWhitespaceJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinExtWhitespaceJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\ext-whitespace.js" - name := "public/ace/src-min/ext-whitespace.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinKeybindingEmacsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinKeybindingEmacsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\keybinding-emacs.js" - name := "public/ace/src-min/keybinding-emacs.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinKeybindingVimJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinKeybindingVimJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\keybinding-vim.js" - name := "public/ace/src-min/keybinding-vim.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeAbapJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeAbapJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-abap.js" - name := "public/ace/src-min/mode-abap.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeAbcJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeAbcJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-abc.js" - name := "public/ace/src-min/mode-abc.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeActionscriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeActionscriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-actionscript.js" - name := "public/ace/src-min/mode-actionscript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeAdaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeAdaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-ada.js" - name := "public/ace/src-min/mode-ada.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeApache_confJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeApache_confJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-apache_conf.js" - name := "public/ace/src-min/mode-apache_conf.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeApplescriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeApplescriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-applescript.js" - name := "public/ace/src-min/mode-applescript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeAsciidocJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeAsciidocJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-asciidoc.js" - name := "public/ace/src-min/mode-asciidoc.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeAssembly_x86Js reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeAssembly_x86Js() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-assembly_x86.js" - name := "public/ace/src-min/mode-assembly_x86.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeAutohotkeyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeAutohotkeyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-autohotkey.js" - name := "public/ace/src-min/mode-autohotkey.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeBatchfileJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeBatchfileJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-batchfile.js" - name := "public/ace/src-min/mode-batchfile.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeBroJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeBroJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-bro.js" - name := "public/ace/src-min/mode-bro.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeC9searchJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeC9searchJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-c9search.js" - name := "public/ace/src-min/mode-c9search.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeC_cppJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeC_cppJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-c_cpp.js" - name := "public/ace/src-min/mode-c_cpp.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeCirruJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeCirruJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-cirru.js" - name := "public/ace/src-min/mode-cirru.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeClojureJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeClojureJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-clojure.js" - name := "public/ace/src-min/mode-clojure.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeCobolJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeCobolJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-cobol.js" - name := "public/ace/src-min/mode-cobol.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeCoffeeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeCoffeeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-coffee.js" - name := "public/ace/src-min/mode-coffee.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeColdfusionJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeColdfusionJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-coldfusion.js" - name := "public/ace/src-min/mode-coldfusion.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeCsharpJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeCsharpJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-csharp.js" - name := "public/ace/src-min/mode-csharp.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeCssJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeCssJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-css.js" - name := "public/ace/src-min/mode-css.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeCurlyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeCurlyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-curly.js" - name := "public/ace/src-min/mode-curly.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeDJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeDJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-d.js" - name := "public/ace/src-min/mode-d.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeDartJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeDartJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-dart.js" - name := "public/ace/src-min/mode-dart.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeDiffJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeDiffJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-diff.js" - name := "public/ace/src-min/mode-diff.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeDjangoJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeDjangoJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-django.js" - name := "public/ace/src-min/mode-django.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeDockerfileJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeDockerfileJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-dockerfile.js" - name := "public/ace/src-min/mode-dockerfile.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeDotJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeDotJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-dot.js" - name := "public/ace/src-min/mode-dot.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeDroolsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeDroolsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-drools.js" - name := "public/ace/src-min/mode-drools.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeEiffelJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeEiffelJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-eiffel.js" - name := "public/ace/src-min/mode-eiffel.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeEjsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeEjsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-ejs.js" - name := "public/ace/src-min/mode-ejs.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeElixirJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeElixirJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-elixir.js" - name := "public/ace/src-min/mode-elixir.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeElmJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeElmJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-elm.js" - name := "public/ace/src-min/mode-elm.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeErlangJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeErlangJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-erlang.js" - name := "public/ace/src-min/mode-erlang.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeForthJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeForthJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-forth.js" - name := "public/ace/src-min/mode-forth.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeFortranJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeFortranJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-fortran.js" - name := "public/ace/src-min/mode-fortran.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeFtlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeFtlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-ftl.js" - name := "public/ace/src-min/mode-ftl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeGcodeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeGcodeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-gcode.js" - name := "public/ace/src-min/mode-gcode.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeGherkinJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeGherkinJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-gherkin.js" - name := "public/ace/src-min/mode-gherkin.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeGitignoreJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeGitignoreJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-gitignore.js" - name := "public/ace/src-min/mode-gitignore.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeGlslJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeGlslJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-glsl.js" - name := "public/ace/src-min/mode-glsl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeGobstonesJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeGobstonesJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-gobstones.js" - name := "public/ace/src-min/mode-gobstones.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeGolangJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeGolangJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-golang.js" - name := "public/ace/src-min/mode-golang.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeGroovyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeGroovyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-groovy.js" - name := "public/ace/src-min/mode-groovy.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHamlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHamlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-haml.js" - name := "public/ace/src-min/mode-haml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHandlebarsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHandlebarsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-handlebars.js" - name := "public/ace/src-min/mode-handlebars.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHaskellJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHaskellJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-haskell.js" - name := "public/ace/src-min/mode-haskell.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHaskell_cabalJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHaskell_cabalJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-haskell_cabal.js" - name := "public/ace/src-min/mode-haskell_cabal.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHaxeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHaxeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-haxe.js" - name := "public/ace/src-min/mode-haxe.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHjsonJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHjsonJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-hjson.js" - name := "public/ace/src-min/mode-hjson.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHtmlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHtmlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-html.js" - name := "public/ace/src-min/mode-html.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHtml_elixirJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHtml_elixirJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-html_elixir.js" - name := "public/ace/src-min/mode-html_elixir.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeHtml_rubyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeHtml_rubyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-html_ruby.js" - name := "public/ace/src-min/mode-html_ruby.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeIniJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeIniJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-ini.js" - name := "public/ace/src-min/mode-ini.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeIoJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeIoJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-io.js" - name := "public/ace/src-min/mode-io.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJackJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJackJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-jack.js" - name := "public/ace/src-min/mode-jack.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJadeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJadeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-jade.js" - name := "public/ace/src-min/mode-jade.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJavaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJavaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-java.js" - name := "public/ace/src-min/mode-java.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJavascriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJavascriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-javascript.js" - name := "public/ace/src-min/mode-javascript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJsonJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJsonJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-json.js" - name := "public/ace/src-min/mode-json.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJsoniqJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJsoniqJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-jsoniq.js" - name := "public/ace/src-min/mode-jsoniq.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJspJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJspJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-jsp.js" - name := "public/ace/src-min/mode-jsp.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJsxJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJsxJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-jsx.js" - name := "public/ace/src-min/mode-jsx.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeJuliaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeJuliaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-julia.js" - name := "public/ace/src-min/mode-julia.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeKotlinJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeKotlinJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-kotlin.js" - name := "public/ace/src-min/mode-kotlin.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLatexJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLatexJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-latex.js" - name := "public/ace/src-min/mode-latex.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLeanJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLeanJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-lean.js" - name := "public/ace/src-min/mode-lean.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLessJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLessJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-less.js" - name := "public/ace/src-min/mode-less.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLiquidJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLiquidJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-liquid.js" - name := "public/ace/src-min/mode-liquid.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLispJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLispJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-lisp.js" - name := "public/ace/src-min/mode-lisp.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLive_scriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLive_scriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-live_script.js" - name := "public/ace/src-min/mode-live_script.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLivescriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLivescriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-livescript.js" - name := "public/ace/src-min/mode-livescript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLogiqlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLogiqlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-logiql.js" - name := "public/ace/src-min/mode-logiql.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLslJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLslJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-lsl.js" - name := "public/ace/src-min/mode-lsl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLuaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLuaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-lua.js" - name := "public/ace/src-min/mode-lua.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLuapageJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLuapageJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-luapage.js" - name := "public/ace/src-min/mode-luapage.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeLuceneJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeLuceneJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-lucene.js" - name := "public/ace/src-min/mode-lucene.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMakefileJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMakefileJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-makefile.js" - name := "public/ace/src-min/mode-makefile.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMarkdownJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMarkdownJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-markdown.js" - name := "public/ace/src-min/mode-markdown.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMaskJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMaskJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-mask.js" - name := "public/ace/src-min/mode-mask.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMatlabJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMatlabJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-matlab.js" - name := "public/ace/src-min/mode-matlab.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMazeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMazeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-maze.js" - name := "public/ace/src-min/mode-maze.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMelJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMelJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-mel.js" - name := "public/ace/src-min/mode-mel.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMips_assemblerJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMips_assemblerJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-mips_assembler.js" - name := "public/ace/src-min/mode-mips_assembler.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMipsassemblerJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMipsassemblerJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-mipsassembler.js" - name := "public/ace/src-min/mode-mipsassembler.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMushcodeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMushcodeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-mushcode.js" - name := "public/ace/src-min/mode-mushcode.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeMysqlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeMysqlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-mysql.js" - name := "public/ace/src-min/mode-mysql.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeNixJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeNixJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-nix.js" - name := "public/ace/src-min/mode-nix.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeNsisJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeNsisJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-nsis.js" - name := "public/ace/src-min/mode-nsis.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeObjectivecJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeObjectivecJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-objectivec.js" - name := "public/ace/src-min/mode-objectivec.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeOcamlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeOcamlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-ocaml.js" - name := "public/ace/src-min/mode-ocaml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePascalJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePascalJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-pascal.js" - name := "public/ace/src-min/mode-pascal.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePerlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePerlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-perl.js" - name := "public/ace/src-min/mode-perl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePgsqlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePgsqlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-pgsql.js" - name := "public/ace/src-min/mode-pgsql.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePhpJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePhpJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-php.js" - name := "public/ace/src-min/mode-php.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePlain_textJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePlain_textJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-plain_text.js" - name := "public/ace/src-min/mode-plain_text.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePowershellJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePowershellJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-powershell.js" - name := "public/ace/src-min/mode-powershell.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePraatJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePraatJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-praat.js" - name := "public/ace/src-min/mode-praat.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePrologJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePrologJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-prolog.js" - name := "public/ace/src-min/mode-prolog.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePropertiesJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePropertiesJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-properties.js" - name := "public/ace/src-min/mode-properties.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeProtobufJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeProtobufJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-protobuf.js" - name := "public/ace/src-min/mode-protobuf.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModePythonJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModePythonJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-python.js" - name := "public/ace/src-min/mode-python.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeRJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeRJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-r.js" - name := "public/ace/src-min/mode-r.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeRazorJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeRazorJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-razor.js" - name := "public/ace/src-min/mode-razor.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeRdocJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeRdocJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-rdoc.js" - name := "public/ace/src-min/mode-rdoc.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeRhtmlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeRhtmlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-rhtml.js" - name := "public/ace/src-min/mode-rhtml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeRstJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeRstJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-rst.js" - name := "public/ace/src-min/mode-rst.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeRubyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeRubyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-ruby.js" - name := "public/ace/src-min/mode-ruby.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeRustJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeRustJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-rust.js" - name := "public/ace/src-min/mode-rust.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSassJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSassJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-sass.js" - name := "public/ace/src-min/mode-sass.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeScadJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeScadJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-scad.js" - name := "public/ace/src-min/mode-scad.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeScalaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeScalaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-scala.js" - name := "public/ace/src-min/mode-scala.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSchemeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSchemeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-scheme.js" - name := "public/ace/src-min/mode-scheme.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeScssJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeScssJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-scss.js" - name := "public/ace/src-min/mode-scss.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeShJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeShJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-sh.js" - name := "public/ace/src-min/mode-sh.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSjsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSjsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-sjs.js" - name := "public/ace/src-min/mode-sjs.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSmartyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSmartyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-smarty.js" - name := "public/ace/src-min/mode-smarty.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSnippetsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSnippetsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-snippets.js" - name := "public/ace/src-min/mode-snippets.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSoy_templateJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSoy_templateJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-soy_template.js" - name := "public/ace/src-min/mode-soy_template.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSpaceJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSpaceJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-space.js" - name := "public/ace/src-min/mode-space.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSqlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSqlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-sql.js" - name := "public/ace/src-min/mode-sql.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSqlserverJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSqlserverJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-sqlserver.js" - name := "public/ace/src-min/mode-sqlserver.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeStylusJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeStylusJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-stylus.js" - name := "public/ace/src-min/mode-stylus.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSvgJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSvgJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-svg.js" - name := "public/ace/src-min/mode-svg.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSwiftJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSwiftJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-swift.js" - name := "public/ace/src-min/mode-swift.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeSwigJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeSwigJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-swig.js" - name := "public/ace/src-min/mode-swig.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeTclJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeTclJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-tcl.js" - name := "public/ace/src-min/mode-tcl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeTexJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeTexJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-tex.js" - name := "public/ace/src-min/mode-tex.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeTextJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeTextJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-text.js" - name := "public/ace/src-min/mode-text.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeTextileJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeTextileJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-textile.js" - name := "public/ace/src-min/mode-textile.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeTomlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeTomlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-toml.js" - name := "public/ace/src-min/mode-toml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeTsxJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeTsxJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-tsx.js" - name := "public/ace/src-min/mode-tsx.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeTwigJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeTwigJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-twig.js" - name := "public/ace/src-min/mode-twig.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeTypescriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeTypescriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-typescript.js" - name := "public/ace/src-min/mode-typescript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeValaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeValaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-vala.js" - name := "public/ace/src-min/mode-vala.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeVbscriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeVbscriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-vbscript.js" - name := "public/ace/src-min/mode-vbscript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeVelocityJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeVelocityJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-velocity.js" - name := "public/ace/src-min/mode-velocity.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeVerilogJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeVerilogJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-verilog.js" - name := "public/ace/src-min/mode-verilog.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeVhdlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeVhdlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-vhdl.js" - name := "public/ace/src-min/mode-vhdl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeWollokJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeWollokJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-wollok.js" - name := "public/ace/src-min/mode-wollok.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeXmlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeXmlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-xml.js" - name := "public/ace/src-min/mode-xml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeXqueryJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeXqueryJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-xquery.js" - name := "public/ace/src-min/mode-xquery.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinModeYamlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinModeYamlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\mode-yaml.js" - name := "public/ace/src-min/mode-yaml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsAbapJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsAbapJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\abap.js" - name := "public/ace/src-min/snippets/abap.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsAbcJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsAbcJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\abc.js" - name := "public/ace/src-min/snippets/abc.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsActionscriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsActionscriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\actionscript.js" - name := "public/ace/src-min/snippets/actionscript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsAdaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsAdaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\ada.js" - name := "public/ace/src-min/snippets/ada.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsApache_confJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsApache_confJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\apache_conf.js" - name := "public/ace/src-min/snippets/apache_conf.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsApplescriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsApplescriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\applescript.js" - name := "public/ace/src-min/snippets/applescript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsAsciidocJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsAsciidocJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\asciidoc.js" - name := "public/ace/src-min/snippets/asciidoc.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsAssembly_x86Js reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsAssembly_x86Js() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\assembly_x86.js" - name := "public/ace/src-min/snippets/assembly_x86.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsAutohotkeyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsAutohotkeyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\autohotkey.js" - name := "public/ace/src-min/snippets/autohotkey.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsBatchfileJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsBatchfileJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\batchfile.js" - name := "public/ace/src-min/snippets/batchfile.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsBroJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsBroJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\bro.js" - name := "public/ace/src-min/snippets/bro.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsC9searchJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsC9searchJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\c9search.js" - name := "public/ace/src-min/snippets/c9search.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsC_cppJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsC_cppJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\c_cpp.js" - name := "public/ace/src-min/snippets/c_cpp.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsCirruJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsCirruJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\cirru.js" - name := "public/ace/src-min/snippets/cirru.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsClojureJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsClojureJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\clojure.js" - name := "public/ace/src-min/snippets/clojure.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsCobolJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsCobolJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\cobol.js" - name := "public/ace/src-min/snippets/cobol.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsCoffeeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsCoffeeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\coffee.js" - name := "public/ace/src-min/snippets/coffee.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsColdfusionJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsColdfusionJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\coldfusion.js" - name := "public/ace/src-min/snippets/coldfusion.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsCsharpJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsCsharpJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\csharp.js" - name := "public/ace/src-min/snippets/csharp.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsCssJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsCssJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\css.js" - name := "public/ace/src-min/snippets/css.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsCurlyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsCurlyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\curly.js" - name := "public/ace/src-min/snippets/curly.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsDJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsDJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\d.js" - name := "public/ace/src-min/snippets/d.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsDartJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsDartJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\dart.js" - name := "public/ace/src-min/snippets/dart.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsDiffJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsDiffJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\diff.js" - name := "public/ace/src-min/snippets/diff.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsDjangoJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsDjangoJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\django.js" - name := "public/ace/src-min/snippets/django.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsDockerfileJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsDockerfileJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\dockerfile.js" - name := "public/ace/src-min/snippets/dockerfile.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsDotJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsDotJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\dot.js" - name := "public/ace/src-min/snippets/dot.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsDroolsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsDroolsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\drools.js" - name := "public/ace/src-min/snippets/drools.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsEiffelJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsEiffelJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\eiffel.js" - name := "public/ace/src-min/snippets/eiffel.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsEjsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsEjsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\ejs.js" - name := "public/ace/src-min/snippets/ejs.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsElixirJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsElixirJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\elixir.js" - name := "public/ace/src-min/snippets/elixir.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsElmJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsElmJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\elm.js" - name := "public/ace/src-min/snippets/elm.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsErlangJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsErlangJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\erlang.js" - name := "public/ace/src-min/snippets/erlang.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsForthJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsForthJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\forth.js" - name := "public/ace/src-min/snippets/forth.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsFortranJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsFortranJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\fortran.js" - name := "public/ace/src-min/snippets/fortran.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsFtlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsFtlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\ftl.js" - name := "public/ace/src-min/snippets/ftl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsGcodeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsGcodeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\gcode.js" - name := "public/ace/src-min/snippets/gcode.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsGherkinJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsGherkinJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\gherkin.js" - name := "public/ace/src-min/snippets/gherkin.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsGitignoreJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsGitignoreJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\gitignore.js" - name := "public/ace/src-min/snippets/gitignore.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsGlslJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsGlslJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\glsl.js" - name := "public/ace/src-min/snippets/glsl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsGobstonesJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsGobstonesJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\gobstones.js" - name := "public/ace/src-min/snippets/gobstones.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsGolangJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsGolangJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\golang.js" - name := "public/ace/src-min/snippets/golang.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsGroovyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsGroovyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\groovy.js" - name := "public/ace/src-min/snippets/groovy.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHamlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHamlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\haml.js" - name := "public/ace/src-min/snippets/haml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHandlebarsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHandlebarsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\handlebars.js" - name := "public/ace/src-min/snippets/handlebars.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHaskellJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHaskellJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\haskell.js" - name := "public/ace/src-min/snippets/haskell.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHaskell_cabalJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHaskell_cabalJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\haskell_cabal.js" - name := "public/ace/src-min/snippets/haskell_cabal.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHaxeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHaxeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\haxe.js" - name := "public/ace/src-min/snippets/haxe.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHjsonJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHjsonJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\hjson.js" - name := "public/ace/src-min/snippets/hjson.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHtmlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHtmlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\html.js" - name := "public/ace/src-min/snippets/html.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHtml_elixirJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHtml_elixirJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\html_elixir.js" - name := "public/ace/src-min/snippets/html_elixir.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsHtml_rubyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsHtml_rubyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\html_ruby.js" - name := "public/ace/src-min/snippets/html_ruby.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsIniJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsIniJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\ini.js" - name := "public/ace/src-min/snippets/ini.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsIoJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsIoJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\io.js" - name := "public/ace/src-min/snippets/io.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJackJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJackJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\jack.js" - name := "public/ace/src-min/snippets/jack.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJadeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJadeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\jade.js" - name := "public/ace/src-min/snippets/jade.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJavaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJavaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\java.js" - name := "public/ace/src-min/snippets/java.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJavascriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJavascriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\javascript.js" - name := "public/ace/src-min/snippets/javascript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJsonJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJsonJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\json.js" - name := "public/ace/src-min/snippets/json.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJsoniqJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJsoniqJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\jsoniq.js" - name := "public/ace/src-min/snippets/jsoniq.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJspJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJspJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\jsp.js" - name := "public/ace/src-min/snippets/jsp.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJsxJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJsxJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\jsx.js" - name := "public/ace/src-min/snippets/jsx.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsJuliaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsJuliaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\julia.js" - name := "public/ace/src-min/snippets/julia.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsKotlinJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsKotlinJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\kotlin.js" - name := "public/ace/src-min/snippets/kotlin.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLatexJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLatexJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\latex.js" - name := "public/ace/src-min/snippets/latex.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLeanJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLeanJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\lean.js" - name := "public/ace/src-min/snippets/lean.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLessJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLessJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\less.js" - name := "public/ace/src-min/snippets/less.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLiquidJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLiquidJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\liquid.js" - name := "public/ace/src-min/snippets/liquid.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLispJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLispJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\lisp.js" - name := "public/ace/src-min/snippets/lisp.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLive_scriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLive_scriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\live_script.js" - name := "public/ace/src-min/snippets/live_script.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLivescriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLivescriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\livescript.js" - name := "public/ace/src-min/snippets/livescript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLogiqlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLogiqlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\logiql.js" - name := "public/ace/src-min/snippets/logiql.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLslJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLslJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\lsl.js" - name := "public/ace/src-min/snippets/lsl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLuaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLuaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\lua.js" - name := "public/ace/src-min/snippets/lua.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLuapageJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLuapageJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\luapage.js" - name := "public/ace/src-min/snippets/luapage.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsLuceneJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsLuceneJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\lucene.js" - name := "public/ace/src-min/snippets/lucene.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMakefileJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMakefileJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\makefile.js" - name := "public/ace/src-min/snippets/makefile.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMarkdownJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMarkdownJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\markdown.js" - name := "public/ace/src-min/snippets/markdown.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMaskJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMaskJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\mask.js" - name := "public/ace/src-min/snippets/mask.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMatlabJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMatlabJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\matlab.js" - name := "public/ace/src-min/snippets/matlab.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMazeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMazeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\maze.js" - name := "public/ace/src-min/snippets/maze.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMelJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMelJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\mel.js" - name := "public/ace/src-min/snippets/mel.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMips_assemblerJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMips_assemblerJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\mips_assembler.js" - name := "public/ace/src-min/snippets/mips_assembler.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMipsassemblerJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMipsassemblerJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\mipsassembler.js" - name := "public/ace/src-min/snippets/mipsassembler.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMushcodeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMushcodeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\mushcode.js" - name := "public/ace/src-min/snippets/mushcode.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsMysqlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsMysqlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\mysql.js" - name := "public/ace/src-min/snippets/mysql.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsNixJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsNixJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\nix.js" - name := "public/ace/src-min/snippets/nix.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsNsisJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsNsisJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\nsis.js" - name := "public/ace/src-min/snippets/nsis.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsObjectivecJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsObjectivecJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\objectivec.js" - name := "public/ace/src-min/snippets/objectivec.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsOcamlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsOcamlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\ocaml.js" - name := "public/ace/src-min/snippets/ocaml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPascalJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPascalJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\pascal.js" - name := "public/ace/src-min/snippets/pascal.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPerlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPerlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\perl.js" - name := "public/ace/src-min/snippets/perl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPgsqlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPgsqlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\pgsql.js" - name := "public/ace/src-min/snippets/pgsql.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPhpJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPhpJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\php.js" - name := "public/ace/src-min/snippets/php.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPlain_textJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPlain_textJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\plain_text.js" - name := "public/ace/src-min/snippets/plain_text.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPowershellJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPowershellJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\powershell.js" - name := "public/ace/src-min/snippets/powershell.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPraatJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPraatJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\praat.js" - name := "public/ace/src-min/snippets/praat.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPrologJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPrologJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\prolog.js" - name := "public/ace/src-min/snippets/prolog.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPropertiesJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPropertiesJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\properties.js" - name := "public/ace/src-min/snippets/properties.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsProtobufJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsProtobufJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\protobuf.js" - name := "public/ace/src-min/snippets/protobuf.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsPythonJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsPythonJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\python.js" - name := "public/ace/src-min/snippets/python.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsRJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsRJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\r.js" - name := "public/ace/src-min/snippets/r.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsRazorJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsRazorJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\razor.js" - name := "public/ace/src-min/snippets/razor.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsRdocJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsRdocJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\rdoc.js" - name := "public/ace/src-min/snippets/rdoc.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsRhtmlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsRhtmlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\rhtml.js" - name := "public/ace/src-min/snippets/rhtml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsRstJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsRstJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\rst.js" - name := "public/ace/src-min/snippets/rst.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsRubyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsRubyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\ruby.js" - name := "public/ace/src-min/snippets/ruby.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsRustJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsRustJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\rust.js" - name := "public/ace/src-min/snippets/rust.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSassJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSassJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\sass.js" - name := "public/ace/src-min/snippets/sass.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsScadJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsScadJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\scad.js" - name := "public/ace/src-min/snippets/scad.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsScalaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsScalaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\scala.js" - name := "public/ace/src-min/snippets/scala.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSchemeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSchemeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\scheme.js" - name := "public/ace/src-min/snippets/scheme.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsScssJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsScssJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\scss.js" - name := "public/ace/src-min/snippets/scss.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsShJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsShJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\sh.js" - name := "public/ace/src-min/snippets/sh.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSjsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSjsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\sjs.js" - name := "public/ace/src-min/snippets/sjs.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSmartyJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSmartyJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\smarty.js" - name := "public/ace/src-min/snippets/smarty.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSnippetsJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSnippetsJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\snippets.js" - name := "public/ace/src-min/snippets/snippets.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSoy_templateJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSoy_templateJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\soy_template.js" - name := "public/ace/src-min/snippets/soy_template.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSpaceJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSpaceJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\space.js" - name := "public/ace/src-min/snippets/space.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSqlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSqlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\sql.js" - name := "public/ace/src-min/snippets/sql.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSqlserverJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSqlserverJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\sqlserver.js" - name := "public/ace/src-min/snippets/sqlserver.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsStylusJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsStylusJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\stylus.js" - name := "public/ace/src-min/snippets/stylus.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSvgJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSvgJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\svg.js" - name := "public/ace/src-min/snippets/svg.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSwiftJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSwiftJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\swift.js" - name := "public/ace/src-min/snippets/swift.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsSwigJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsSwigJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\swig.js" - name := "public/ace/src-min/snippets/swig.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsTclJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsTclJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\tcl.js" - name := "public/ace/src-min/snippets/tcl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsTexJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsTexJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\tex.js" - name := "public/ace/src-min/snippets/tex.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsTextJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsTextJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\text.js" - name := "public/ace/src-min/snippets/text.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsTextileJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsTextileJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\textile.js" - name := "public/ace/src-min/snippets/textile.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsTomlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsTomlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\toml.js" - name := "public/ace/src-min/snippets/toml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsTsxJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsTsxJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\tsx.js" - name := "public/ace/src-min/snippets/tsx.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsTwigJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsTwigJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\twig.js" - name := "public/ace/src-min/snippets/twig.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsTypescriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsTypescriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\typescript.js" - name := "public/ace/src-min/snippets/typescript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsValaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsValaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\vala.js" - name := "public/ace/src-min/snippets/vala.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsVbscriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsVbscriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\vbscript.js" - name := "public/ace/src-min/snippets/vbscript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsVelocityJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsVelocityJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\velocity.js" - name := "public/ace/src-min/snippets/velocity.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsVerilogJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsVerilogJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\verilog.js" - name := "public/ace/src-min/snippets/verilog.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsVhdlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsVhdlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\vhdl.js" - name := "public/ace/src-min/snippets/vhdl.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsWollokJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsWollokJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\wollok.js" - name := "public/ace/src-min/snippets/wollok.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsXmlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsXmlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\xml.js" - name := "public/ace/src-min/snippets/xml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsXqueryJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsXqueryJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\xquery.js" - name := "public/ace/src-min/snippets/xquery.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinSnippetsYamlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinSnippetsYamlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\snippets\\yaml.js" - name := "public/ace/src-min/snippets/yaml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinThemeGithubJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinThemeGithubJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\theme-github.js" - name := "public/ace/src-min/theme-github.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerCoffeeJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerCoffeeJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-coffee.js" - name := "public/ace/src-min/worker-coffee.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerCssJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerCssJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-css.js" - name := "public/ace/src-min/worker-css.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerHtmlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerHtmlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-html.js" - name := "public/ace/src-min/worker-html.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerJavascriptJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerJavascriptJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-javascript.js" - name := "public/ace/src-min/worker-javascript.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerJsonJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerJsonJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-json.js" - name := "public/ace/src-min/worker-json.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerLuaJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerLuaJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-lua.js" - name := "public/ace/src-min/worker-lua.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerPhpJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerPhpJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-php.js" - name := "public/ace/src-min/worker-php.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerXmlJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerXmlJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-xml.js" - name := "public/ace/src-min/worker-xml.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// publicAceSrcMinWorkerXqueryJs reads file data from disk. It returns an error on failure. -func publicAceSrcMinWorkerXqueryJs() (*asset, error) { - path := "D:\\Code\\Go\\src\\github.com\\hacdias\\filemanager\\_embed\\public\\ace\\src-min\\worker-xquery.js" - name := "public/ace/src-min/worker-xquery.js" - bytes, err := bindataRead(path, name) - if err != nil { - return nil, err - } - - fi, err := os.Stat(path) - if err != nil { - err = fmt.Errorf("Error reading asset info %s at %s: %v", name, path, err) - } - - a := &asset{bytes: bytes, info: fi} - return a, err -} - -// Asset loads and returns the asset for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func Asset(name string) ([]byte, error) { - cannonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[cannonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) - } - return a.bytes, nil - } - return nil, fmt.Errorf("Asset %s not found", name) -} - -// MustAsset is like Asset but panics when Asset would return an error. -// It simplifies safe initialization of global variables. -func MustAsset(name string) []byte { - a, err := Asset(name) - if err != nil { - panic("asset: Asset(" + name + "): " + err.Error()) - } - - return a -} - -// AssetInfo loads and returns the asset info for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func AssetInfo(name string) (os.FileInfo, error) { - cannonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[cannonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) - } - return a.info, nil - } - return nil, fmt.Errorf("AssetInfo %s not found", name) -} - -// AssetNames returns the names of the assets. -func AssetNames() []string { - names := make([]string, 0, len(_bindata)) - for name := range _bindata { - names = append(names, name) - } - return names -} - -// _bindata is a table, holding each asset generator, mapped to its name. -var _bindata = map[string]func() (*asset, error){ - "templates/base.tmpl": templatesBaseTmpl, - "templates/editor.tmpl": templatesEditorTmpl, - "templates/frontmatter.tmpl": templatesFrontmatterTmpl, - "templates/listing.tmpl": templatesListingTmpl, - "templates/minimal.tmpl": templatesMinimalTmpl, - "templates/single.tmpl": templatesSingleTmpl, - "public/js/common.js": publicJsCommonJs, - "public/js/editor.js": publicJsEditorJs, - "public/js/form2js.js": publicJsForm2jsJs, - "public/js/listing.js": publicJsListingJs, - "public/css/fonts.css": publicCssFontsCss, - "public/css/material/icons.woff2": publicCssMaterialIconsWoff2, - "public/css/normalize.css": publicCssNormalizeCss, - "public/css/roboto/medium-cyrillic-ext.woff2": publicCssRobotoMediumCyrillicExtWoff2, - "public/css/roboto/medium-cyrillic.woff2": publicCssRobotoMediumCyrillicWoff2, - "public/css/roboto/medium-greek-ext.woff2": publicCssRobotoMediumGreekExtWoff2, - "public/css/roboto/medium-greek.woff2": publicCssRobotoMediumGreekWoff2, - "public/css/roboto/medium-latin-ext.woff2": publicCssRobotoMediumLatinExtWoff2, - "public/css/roboto/medium-latin.woff2": publicCssRobotoMediumLatinWoff2, - "public/css/roboto/medium-vietnamese.woff2": publicCssRobotoMediumVietnameseWoff2, - "public/css/roboto/normal-cyrillic-ext.woff2": publicCssRobotoNormalCyrillicExtWoff2, - "public/css/roboto/normal-cyrillic.woff2": publicCssRobotoNormalCyrillicWoff2, - "public/css/roboto/normal-greek-ext.woff2": publicCssRobotoNormalGreekExtWoff2, - "public/css/roboto/normal-greek.woff2": publicCssRobotoNormalGreekWoff2, - "public/css/roboto/normal-latin-ext.woff2": publicCssRobotoNormalLatinExtWoff2, - "public/css/roboto/normal-latin.woff2": publicCssRobotoNormalLatinWoff2, - "public/css/roboto/normal-vietnamese.woff2": publicCssRobotoNormalVietnameseWoff2, - "public/css/styles.css": publicCssStylesCss, - "public/ace/src-min/ace.js": publicAceSrcMinAceJs, - "public/ace/src-min/ext-beautify.js": publicAceSrcMinExtBeautifyJs, - "public/ace/src-min/ext-chromevox.js": publicAceSrcMinExtChromevoxJs, - "public/ace/src-min/ext-elastic_tabstops_lite.js": publicAceSrcMinExtElastic_tabstops_liteJs, - "public/ace/src-min/ext-emmet.js": publicAceSrcMinExtEmmetJs, - "public/ace/src-min/ext-error_marker.js": publicAceSrcMinExtError_markerJs, - "public/ace/src-min/ext-keybinding_menu.js": publicAceSrcMinExtKeybinding_menuJs, - "public/ace/src-min/ext-language_tools.js": publicAceSrcMinExtLanguage_toolsJs, - "public/ace/src-min/ext-linking.js": publicAceSrcMinExtLinkingJs, - "public/ace/src-min/ext-modelist.js": publicAceSrcMinExtModelistJs, - "public/ace/src-min/ext-old_ie.js": publicAceSrcMinExtOld_ieJs, - "public/ace/src-min/ext-searchbox.js": publicAceSrcMinExtSearchboxJs, - "public/ace/src-min/ext-settings_menu.js": publicAceSrcMinExtSettings_menuJs, - "public/ace/src-min/ext-spellcheck.js": publicAceSrcMinExtSpellcheckJs, - "public/ace/src-min/ext-split.js": publicAceSrcMinExtSplitJs, - "public/ace/src-min/ext-static_highlight.js": publicAceSrcMinExtStatic_highlightJs, - "public/ace/src-min/ext-statusbar.js": publicAceSrcMinExtStatusbarJs, - "public/ace/src-min/ext-textarea.js": publicAceSrcMinExtTextareaJs, - "public/ace/src-min/ext-themelist.js": publicAceSrcMinExtThemelistJs, - "public/ace/src-min/ext-whitespace.js": publicAceSrcMinExtWhitespaceJs, - "public/ace/src-min/keybinding-emacs.js": publicAceSrcMinKeybindingEmacsJs, - "public/ace/src-min/keybinding-vim.js": publicAceSrcMinKeybindingVimJs, - "public/ace/src-min/mode-abap.js": publicAceSrcMinModeAbapJs, - "public/ace/src-min/mode-abc.js": publicAceSrcMinModeAbcJs, - "public/ace/src-min/mode-actionscript.js": publicAceSrcMinModeActionscriptJs, - "public/ace/src-min/mode-ada.js": publicAceSrcMinModeAdaJs, - "public/ace/src-min/mode-apache_conf.js": publicAceSrcMinModeApache_confJs, - "public/ace/src-min/mode-applescript.js": publicAceSrcMinModeApplescriptJs, - "public/ace/src-min/mode-asciidoc.js": publicAceSrcMinModeAsciidocJs, - "public/ace/src-min/mode-assembly_x86.js": publicAceSrcMinModeAssembly_x86Js, - "public/ace/src-min/mode-autohotkey.js": publicAceSrcMinModeAutohotkeyJs, - "public/ace/src-min/mode-batchfile.js": publicAceSrcMinModeBatchfileJs, - "public/ace/src-min/mode-bro.js": publicAceSrcMinModeBroJs, - "public/ace/src-min/mode-c9search.js": publicAceSrcMinModeC9searchJs, - "public/ace/src-min/mode-c_cpp.js": publicAceSrcMinModeC_cppJs, - "public/ace/src-min/mode-cirru.js": publicAceSrcMinModeCirruJs, - "public/ace/src-min/mode-clojure.js": publicAceSrcMinModeClojureJs, - "public/ace/src-min/mode-cobol.js": publicAceSrcMinModeCobolJs, - "public/ace/src-min/mode-coffee.js": publicAceSrcMinModeCoffeeJs, - "public/ace/src-min/mode-coldfusion.js": publicAceSrcMinModeColdfusionJs, - "public/ace/src-min/mode-csharp.js": publicAceSrcMinModeCsharpJs, - "public/ace/src-min/mode-css.js": publicAceSrcMinModeCssJs, - "public/ace/src-min/mode-curly.js": publicAceSrcMinModeCurlyJs, - "public/ace/src-min/mode-d.js": publicAceSrcMinModeDJs, - "public/ace/src-min/mode-dart.js": publicAceSrcMinModeDartJs, - "public/ace/src-min/mode-diff.js": publicAceSrcMinModeDiffJs, - "public/ace/src-min/mode-django.js": publicAceSrcMinModeDjangoJs, - "public/ace/src-min/mode-dockerfile.js": publicAceSrcMinModeDockerfileJs, - "public/ace/src-min/mode-dot.js": publicAceSrcMinModeDotJs, - "public/ace/src-min/mode-drools.js": publicAceSrcMinModeDroolsJs, - "public/ace/src-min/mode-eiffel.js": publicAceSrcMinModeEiffelJs, - "public/ace/src-min/mode-ejs.js": publicAceSrcMinModeEjsJs, - "public/ace/src-min/mode-elixir.js": publicAceSrcMinModeElixirJs, - "public/ace/src-min/mode-elm.js": publicAceSrcMinModeElmJs, - "public/ace/src-min/mode-erlang.js": publicAceSrcMinModeErlangJs, - "public/ace/src-min/mode-forth.js": publicAceSrcMinModeForthJs, - "public/ace/src-min/mode-fortran.js": publicAceSrcMinModeFortranJs, - "public/ace/src-min/mode-ftl.js": publicAceSrcMinModeFtlJs, - "public/ace/src-min/mode-gcode.js": publicAceSrcMinModeGcodeJs, - "public/ace/src-min/mode-gherkin.js": publicAceSrcMinModeGherkinJs, - "public/ace/src-min/mode-gitignore.js": publicAceSrcMinModeGitignoreJs, - "public/ace/src-min/mode-glsl.js": publicAceSrcMinModeGlslJs, - "public/ace/src-min/mode-gobstones.js": publicAceSrcMinModeGobstonesJs, - "public/ace/src-min/mode-golang.js": publicAceSrcMinModeGolangJs, - "public/ace/src-min/mode-groovy.js": publicAceSrcMinModeGroovyJs, - "public/ace/src-min/mode-haml.js": publicAceSrcMinModeHamlJs, - "public/ace/src-min/mode-handlebars.js": publicAceSrcMinModeHandlebarsJs, - "public/ace/src-min/mode-haskell.js": publicAceSrcMinModeHaskellJs, - "public/ace/src-min/mode-haskell_cabal.js": publicAceSrcMinModeHaskell_cabalJs, - "public/ace/src-min/mode-haxe.js": publicAceSrcMinModeHaxeJs, - "public/ace/src-min/mode-hjson.js": publicAceSrcMinModeHjsonJs, - "public/ace/src-min/mode-html.js": publicAceSrcMinModeHtmlJs, - "public/ace/src-min/mode-html_elixir.js": publicAceSrcMinModeHtml_elixirJs, - "public/ace/src-min/mode-html_ruby.js": publicAceSrcMinModeHtml_rubyJs, - "public/ace/src-min/mode-ini.js": publicAceSrcMinModeIniJs, - "public/ace/src-min/mode-io.js": publicAceSrcMinModeIoJs, - "public/ace/src-min/mode-jack.js": publicAceSrcMinModeJackJs, - "public/ace/src-min/mode-jade.js": publicAceSrcMinModeJadeJs, - "public/ace/src-min/mode-java.js": publicAceSrcMinModeJavaJs, - "public/ace/src-min/mode-javascript.js": publicAceSrcMinModeJavascriptJs, - "public/ace/src-min/mode-json.js": publicAceSrcMinModeJsonJs, - "public/ace/src-min/mode-jsoniq.js": publicAceSrcMinModeJsoniqJs, - "public/ace/src-min/mode-jsp.js": publicAceSrcMinModeJspJs, - "public/ace/src-min/mode-jsx.js": publicAceSrcMinModeJsxJs, - "public/ace/src-min/mode-julia.js": publicAceSrcMinModeJuliaJs, - "public/ace/src-min/mode-kotlin.js": publicAceSrcMinModeKotlinJs, - "public/ace/src-min/mode-latex.js": publicAceSrcMinModeLatexJs, - "public/ace/src-min/mode-lean.js": publicAceSrcMinModeLeanJs, - "public/ace/src-min/mode-less.js": publicAceSrcMinModeLessJs, - "public/ace/src-min/mode-liquid.js": publicAceSrcMinModeLiquidJs, - "public/ace/src-min/mode-lisp.js": publicAceSrcMinModeLispJs, - "public/ace/src-min/mode-live_script.js": publicAceSrcMinModeLive_scriptJs, - "public/ace/src-min/mode-livescript.js": publicAceSrcMinModeLivescriptJs, - "public/ace/src-min/mode-logiql.js": publicAceSrcMinModeLogiqlJs, - "public/ace/src-min/mode-lsl.js": publicAceSrcMinModeLslJs, - "public/ace/src-min/mode-lua.js": publicAceSrcMinModeLuaJs, - "public/ace/src-min/mode-luapage.js": publicAceSrcMinModeLuapageJs, - "public/ace/src-min/mode-lucene.js": publicAceSrcMinModeLuceneJs, - "public/ace/src-min/mode-makefile.js": publicAceSrcMinModeMakefileJs, - "public/ace/src-min/mode-markdown.js": publicAceSrcMinModeMarkdownJs, - "public/ace/src-min/mode-mask.js": publicAceSrcMinModeMaskJs, - "public/ace/src-min/mode-matlab.js": publicAceSrcMinModeMatlabJs, - "public/ace/src-min/mode-maze.js": publicAceSrcMinModeMazeJs, - "public/ace/src-min/mode-mel.js": publicAceSrcMinModeMelJs, - "public/ace/src-min/mode-mips_assembler.js": publicAceSrcMinModeMips_assemblerJs, - "public/ace/src-min/mode-mipsassembler.js": publicAceSrcMinModeMipsassemblerJs, - "public/ace/src-min/mode-mushcode.js": publicAceSrcMinModeMushcodeJs, - "public/ace/src-min/mode-mysql.js": publicAceSrcMinModeMysqlJs, - "public/ace/src-min/mode-nix.js": publicAceSrcMinModeNixJs, - "public/ace/src-min/mode-nsis.js": publicAceSrcMinModeNsisJs, - "public/ace/src-min/mode-objectivec.js": publicAceSrcMinModeObjectivecJs, - "public/ace/src-min/mode-ocaml.js": publicAceSrcMinModeOcamlJs, - "public/ace/src-min/mode-pascal.js": publicAceSrcMinModePascalJs, - "public/ace/src-min/mode-perl.js": publicAceSrcMinModePerlJs, - "public/ace/src-min/mode-pgsql.js": publicAceSrcMinModePgsqlJs, - "public/ace/src-min/mode-php.js": publicAceSrcMinModePhpJs, - "public/ace/src-min/mode-plain_text.js": publicAceSrcMinModePlain_textJs, - "public/ace/src-min/mode-powershell.js": publicAceSrcMinModePowershellJs, - "public/ace/src-min/mode-praat.js": publicAceSrcMinModePraatJs, - "public/ace/src-min/mode-prolog.js": publicAceSrcMinModePrologJs, - "public/ace/src-min/mode-properties.js": publicAceSrcMinModePropertiesJs, - "public/ace/src-min/mode-protobuf.js": publicAceSrcMinModeProtobufJs, - "public/ace/src-min/mode-python.js": publicAceSrcMinModePythonJs, - "public/ace/src-min/mode-r.js": publicAceSrcMinModeRJs, - "public/ace/src-min/mode-razor.js": publicAceSrcMinModeRazorJs, - "public/ace/src-min/mode-rdoc.js": publicAceSrcMinModeRdocJs, - "public/ace/src-min/mode-rhtml.js": publicAceSrcMinModeRhtmlJs, - "public/ace/src-min/mode-rst.js": publicAceSrcMinModeRstJs, - "public/ace/src-min/mode-ruby.js": publicAceSrcMinModeRubyJs, - "public/ace/src-min/mode-rust.js": publicAceSrcMinModeRustJs, - "public/ace/src-min/mode-sass.js": publicAceSrcMinModeSassJs, - "public/ace/src-min/mode-scad.js": publicAceSrcMinModeScadJs, - "public/ace/src-min/mode-scala.js": publicAceSrcMinModeScalaJs, - "public/ace/src-min/mode-scheme.js": publicAceSrcMinModeSchemeJs, - "public/ace/src-min/mode-scss.js": publicAceSrcMinModeScssJs, - "public/ace/src-min/mode-sh.js": publicAceSrcMinModeShJs, - "public/ace/src-min/mode-sjs.js": publicAceSrcMinModeSjsJs, - "public/ace/src-min/mode-smarty.js": publicAceSrcMinModeSmartyJs, - "public/ace/src-min/mode-snippets.js": publicAceSrcMinModeSnippetsJs, - "public/ace/src-min/mode-soy_template.js": publicAceSrcMinModeSoy_templateJs, - "public/ace/src-min/mode-space.js": publicAceSrcMinModeSpaceJs, - "public/ace/src-min/mode-sql.js": publicAceSrcMinModeSqlJs, - "public/ace/src-min/mode-sqlserver.js": publicAceSrcMinModeSqlserverJs, - "public/ace/src-min/mode-stylus.js": publicAceSrcMinModeStylusJs, - "public/ace/src-min/mode-svg.js": publicAceSrcMinModeSvgJs, - "public/ace/src-min/mode-swift.js": publicAceSrcMinModeSwiftJs, - "public/ace/src-min/mode-swig.js": publicAceSrcMinModeSwigJs, - "public/ace/src-min/mode-tcl.js": publicAceSrcMinModeTclJs, - "public/ace/src-min/mode-tex.js": publicAceSrcMinModeTexJs, - "public/ace/src-min/mode-text.js": publicAceSrcMinModeTextJs, - "public/ace/src-min/mode-textile.js": publicAceSrcMinModeTextileJs, - "public/ace/src-min/mode-toml.js": publicAceSrcMinModeTomlJs, - "public/ace/src-min/mode-tsx.js": publicAceSrcMinModeTsxJs, - "public/ace/src-min/mode-twig.js": publicAceSrcMinModeTwigJs, - "public/ace/src-min/mode-typescript.js": publicAceSrcMinModeTypescriptJs, - "public/ace/src-min/mode-vala.js": publicAceSrcMinModeValaJs, - "public/ace/src-min/mode-vbscript.js": publicAceSrcMinModeVbscriptJs, - "public/ace/src-min/mode-velocity.js": publicAceSrcMinModeVelocityJs, - "public/ace/src-min/mode-verilog.js": publicAceSrcMinModeVerilogJs, - "public/ace/src-min/mode-vhdl.js": publicAceSrcMinModeVhdlJs, - "public/ace/src-min/mode-wollok.js": publicAceSrcMinModeWollokJs, - "public/ace/src-min/mode-xml.js": publicAceSrcMinModeXmlJs, - "public/ace/src-min/mode-xquery.js": publicAceSrcMinModeXqueryJs, - "public/ace/src-min/mode-yaml.js": publicAceSrcMinModeYamlJs, - "public/ace/src-min/snippets/abap.js": publicAceSrcMinSnippetsAbapJs, - "public/ace/src-min/snippets/abc.js": publicAceSrcMinSnippetsAbcJs, - "public/ace/src-min/snippets/actionscript.js": publicAceSrcMinSnippetsActionscriptJs, - "public/ace/src-min/snippets/ada.js": publicAceSrcMinSnippetsAdaJs, - "public/ace/src-min/snippets/apache_conf.js": publicAceSrcMinSnippetsApache_confJs, - "public/ace/src-min/snippets/applescript.js": publicAceSrcMinSnippetsApplescriptJs, - "public/ace/src-min/snippets/asciidoc.js": publicAceSrcMinSnippetsAsciidocJs, - "public/ace/src-min/snippets/assembly_x86.js": publicAceSrcMinSnippetsAssembly_x86Js, - "public/ace/src-min/snippets/autohotkey.js": publicAceSrcMinSnippetsAutohotkeyJs, - "public/ace/src-min/snippets/batchfile.js": publicAceSrcMinSnippetsBatchfileJs, - "public/ace/src-min/snippets/bro.js": publicAceSrcMinSnippetsBroJs, - "public/ace/src-min/snippets/c9search.js": publicAceSrcMinSnippetsC9searchJs, - "public/ace/src-min/snippets/c_cpp.js": publicAceSrcMinSnippetsC_cppJs, - "public/ace/src-min/snippets/cirru.js": publicAceSrcMinSnippetsCirruJs, - "public/ace/src-min/snippets/clojure.js": publicAceSrcMinSnippetsClojureJs, - "public/ace/src-min/snippets/cobol.js": publicAceSrcMinSnippetsCobolJs, - "public/ace/src-min/snippets/coffee.js": publicAceSrcMinSnippetsCoffeeJs, - "public/ace/src-min/snippets/coldfusion.js": publicAceSrcMinSnippetsColdfusionJs, - "public/ace/src-min/snippets/csharp.js": publicAceSrcMinSnippetsCsharpJs, - "public/ace/src-min/snippets/css.js": publicAceSrcMinSnippetsCssJs, - "public/ace/src-min/snippets/curly.js": publicAceSrcMinSnippetsCurlyJs, - "public/ace/src-min/snippets/d.js": publicAceSrcMinSnippetsDJs, - "public/ace/src-min/snippets/dart.js": publicAceSrcMinSnippetsDartJs, - "public/ace/src-min/snippets/diff.js": publicAceSrcMinSnippetsDiffJs, - "public/ace/src-min/snippets/django.js": publicAceSrcMinSnippetsDjangoJs, - "public/ace/src-min/snippets/dockerfile.js": publicAceSrcMinSnippetsDockerfileJs, - "public/ace/src-min/snippets/dot.js": publicAceSrcMinSnippetsDotJs, - "public/ace/src-min/snippets/drools.js": publicAceSrcMinSnippetsDroolsJs, - "public/ace/src-min/snippets/eiffel.js": publicAceSrcMinSnippetsEiffelJs, - "public/ace/src-min/snippets/ejs.js": publicAceSrcMinSnippetsEjsJs, - "public/ace/src-min/snippets/elixir.js": publicAceSrcMinSnippetsElixirJs, - "public/ace/src-min/snippets/elm.js": publicAceSrcMinSnippetsElmJs, - "public/ace/src-min/snippets/erlang.js": publicAceSrcMinSnippetsErlangJs, - "public/ace/src-min/snippets/forth.js": publicAceSrcMinSnippetsForthJs, - "public/ace/src-min/snippets/fortran.js": publicAceSrcMinSnippetsFortranJs, - "public/ace/src-min/snippets/ftl.js": publicAceSrcMinSnippetsFtlJs, - "public/ace/src-min/snippets/gcode.js": publicAceSrcMinSnippetsGcodeJs, - "public/ace/src-min/snippets/gherkin.js": publicAceSrcMinSnippetsGherkinJs, - "public/ace/src-min/snippets/gitignore.js": publicAceSrcMinSnippetsGitignoreJs, - "public/ace/src-min/snippets/glsl.js": publicAceSrcMinSnippetsGlslJs, - "public/ace/src-min/snippets/gobstones.js": publicAceSrcMinSnippetsGobstonesJs, - "public/ace/src-min/snippets/golang.js": publicAceSrcMinSnippetsGolangJs, - "public/ace/src-min/snippets/groovy.js": publicAceSrcMinSnippetsGroovyJs, - "public/ace/src-min/snippets/haml.js": publicAceSrcMinSnippetsHamlJs, - "public/ace/src-min/snippets/handlebars.js": publicAceSrcMinSnippetsHandlebarsJs, - "public/ace/src-min/snippets/haskell.js": publicAceSrcMinSnippetsHaskellJs, - "public/ace/src-min/snippets/haskell_cabal.js": publicAceSrcMinSnippetsHaskell_cabalJs, - "public/ace/src-min/snippets/haxe.js": publicAceSrcMinSnippetsHaxeJs, - "public/ace/src-min/snippets/hjson.js": publicAceSrcMinSnippetsHjsonJs, - "public/ace/src-min/snippets/html.js": publicAceSrcMinSnippetsHtmlJs, - "public/ace/src-min/snippets/html_elixir.js": publicAceSrcMinSnippetsHtml_elixirJs, - "public/ace/src-min/snippets/html_ruby.js": publicAceSrcMinSnippetsHtml_rubyJs, - "public/ace/src-min/snippets/ini.js": publicAceSrcMinSnippetsIniJs, - "public/ace/src-min/snippets/io.js": publicAceSrcMinSnippetsIoJs, - "public/ace/src-min/snippets/jack.js": publicAceSrcMinSnippetsJackJs, - "public/ace/src-min/snippets/jade.js": publicAceSrcMinSnippetsJadeJs, - "public/ace/src-min/snippets/java.js": publicAceSrcMinSnippetsJavaJs, - "public/ace/src-min/snippets/javascript.js": publicAceSrcMinSnippetsJavascriptJs, - "public/ace/src-min/snippets/json.js": publicAceSrcMinSnippetsJsonJs, - "public/ace/src-min/snippets/jsoniq.js": publicAceSrcMinSnippetsJsoniqJs, - "public/ace/src-min/snippets/jsp.js": publicAceSrcMinSnippetsJspJs, - "public/ace/src-min/snippets/jsx.js": publicAceSrcMinSnippetsJsxJs, - "public/ace/src-min/snippets/julia.js": publicAceSrcMinSnippetsJuliaJs, - "public/ace/src-min/snippets/kotlin.js": publicAceSrcMinSnippetsKotlinJs, - "public/ace/src-min/snippets/latex.js": publicAceSrcMinSnippetsLatexJs, - "public/ace/src-min/snippets/lean.js": publicAceSrcMinSnippetsLeanJs, - "public/ace/src-min/snippets/less.js": publicAceSrcMinSnippetsLessJs, - "public/ace/src-min/snippets/liquid.js": publicAceSrcMinSnippetsLiquidJs, - "public/ace/src-min/snippets/lisp.js": publicAceSrcMinSnippetsLispJs, - "public/ace/src-min/snippets/live_script.js": publicAceSrcMinSnippetsLive_scriptJs, - "public/ace/src-min/snippets/livescript.js": publicAceSrcMinSnippetsLivescriptJs, - "public/ace/src-min/snippets/logiql.js": publicAceSrcMinSnippetsLogiqlJs, - "public/ace/src-min/snippets/lsl.js": publicAceSrcMinSnippetsLslJs, - "public/ace/src-min/snippets/lua.js": publicAceSrcMinSnippetsLuaJs, - "public/ace/src-min/snippets/luapage.js": publicAceSrcMinSnippetsLuapageJs, - "public/ace/src-min/snippets/lucene.js": publicAceSrcMinSnippetsLuceneJs, - "public/ace/src-min/snippets/makefile.js": publicAceSrcMinSnippetsMakefileJs, - "public/ace/src-min/snippets/markdown.js": publicAceSrcMinSnippetsMarkdownJs, - "public/ace/src-min/snippets/mask.js": publicAceSrcMinSnippetsMaskJs, - "public/ace/src-min/snippets/matlab.js": publicAceSrcMinSnippetsMatlabJs, - "public/ace/src-min/snippets/maze.js": publicAceSrcMinSnippetsMazeJs, - "public/ace/src-min/snippets/mel.js": publicAceSrcMinSnippetsMelJs, - "public/ace/src-min/snippets/mips_assembler.js": publicAceSrcMinSnippetsMips_assemblerJs, - "public/ace/src-min/snippets/mipsassembler.js": publicAceSrcMinSnippetsMipsassemblerJs, - "public/ace/src-min/snippets/mushcode.js": publicAceSrcMinSnippetsMushcodeJs, - "public/ace/src-min/snippets/mysql.js": publicAceSrcMinSnippetsMysqlJs, - "public/ace/src-min/snippets/nix.js": publicAceSrcMinSnippetsNixJs, - "public/ace/src-min/snippets/nsis.js": publicAceSrcMinSnippetsNsisJs, - "public/ace/src-min/snippets/objectivec.js": publicAceSrcMinSnippetsObjectivecJs, - "public/ace/src-min/snippets/ocaml.js": publicAceSrcMinSnippetsOcamlJs, - "public/ace/src-min/snippets/pascal.js": publicAceSrcMinSnippetsPascalJs, - "public/ace/src-min/snippets/perl.js": publicAceSrcMinSnippetsPerlJs, - "public/ace/src-min/snippets/pgsql.js": publicAceSrcMinSnippetsPgsqlJs, - "public/ace/src-min/snippets/php.js": publicAceSrcMinSnippetsPhpJs, - "public/ace/src-min/snippets/plain_text.js": publicAceSrcMinSnippetsPlain_textJs, - "public/ace/src-min/snippets/powershell.js": publicAceSrcMinSnippetsPowershellJs, - "public/ace/src-min/snippets/praat.js": publicAceSrcMinSnippetsPraatJs, - "public/ace/src-min/snippets/prolog.js": publicAceSrcMinSnippetsPrologJs, - "public/ace/src-min/snippets/properties.js": publicAceSrcMinSnippetsPropertiesJs, - "public/ace/src-min/snippets/protobuf.js": publicAceSrcMinSnippetsProtobufJs, - "public/ace/src-min/snippets/python.js": publicAceSrcMinSnippetsPythonJs, - "public/ace/src-min/snippets/r.js": publicAceSrcMinSnippetsRJs, - "public/ace/src-min/snippets/razor.js": publicAceSrcMinSnippetsRazorJs, - "public/ace/src-min/snippets/rdoc.js": publicAceSrcMinSnippetsRdocJs, - "public/ace/src-min/snippets/rhtml.js": publicAceSrcMinSnippetsRhtmlJs, - "public/ace/src-min/snippets/rst.js": publicAceSrcMinSnippetsRstJs, - "public/ace/src-min/snippets/ruby.js": publicAceSrcMinSnippetsRubyJs, - "public/ace/src-min/snippets/rust.js": publicAceSrcMinSnippetsRustJs, - "public/ace/src-min/snippets/sass.js": publicAceSrcMinSnippetsSassJs, - "public/ace/src-min/snippets/scad.js": publicAceSrcMinSnippetsScadJs, - "public/ace/src-min/snippets/scala.js": publicAceSrcMinSnippetsScalaJs, - "public/ace/src-min/snippets/scheme.js": publicAceSrcMinSnippetsSchemeJs, - "public/ace/src-min/snippets/scss.js": publicAceSrcMinSnippetsScssJs, - "public/ace/src-min/snippets/sh.js": publicAceSrcMinSnippetsShJs, - "public/ace/src-min/snippets/sjs.js": publicAceSrcMinSnippetsSjsJs, - "public/ace/src-min/snippets/smarty.js": publicAceSrcMinSnippetsSmartyJs, - "public/ace/src-min/snippets/snippets.js": publicAceSrcMinSnippetsSnippetsJs, - "public/ace/src-min/snippets/soy_template.js": publicAceSrcMinSnippetsSoy_templateJs, - "public/ace/src-min/snippets/space.js": publicAceSrcMinSnippetsSpaceJs, - "public/ace/src-min/snippets/sql.js": publicAceSrcMinSnippetsSqlJs, - "public/ace/src-min/snippets/sqlserver.js": publicAceSrcMinSnippetsSqlserverJs, - "public/ace/src-min/snippets/stylus.js": publicAceSrcMinSnippetsStylusJs, - "public/ace/src-min/snippets/svg.js": publicAceSrcMinSnippetsSvgJs, - "public/ace/src-min/snippets/swift.js": publicAceSrcMinSnippetsSwiftJs, - "public/ace/src-min/snippets/swig.js": publicAceSrcMinSnippetsSwigJs, - "public/ace/src-min/snippets/tcl.js": publicAceSrcMinSnippetsTclJs, - "public/ace/src-min/snippets/tex.js": publicAceSrcMinSnippetsTexJs, - "public/ace/src-min/snippets/text.js": publicAceSrcMinSnippetsTextJs, - "public/ace/src-min/snippets/textile.js": publicAceSrcMinSnippetsTextileJs, - "public/ace/src-min/snippets/toml.js": publicAceSrcMinSnippetsTomlJs, - "public/ace/src-min/snippets/tsx.js": publicAceSrcMinSnippetsTsxJs, - "public/ace/src-min/snippets/twig.js": publicAceSrcMinSnippetsTwigJs, - "public/ace/src-min/snippets/typescript.js": publicAceSrcMinSnippetsTypescriptJs, - "public/ace/src-min/snippets/vala.js": publicAceSrcMinSnippetsValaJs, - "public/ace/src-min/snippets/vbscript.js": publicAceSrcMinSnippetsVbscriptJs, - "public/ace/src-min/snippets/velocity.js": publicAceSrcMinSnippetsVelocityJs, - "public/ace/src-min/snippets/verilog.js": publicAceSrcMinSnippetsVerilogJs, - "public/ace/src-min/snippets/vhdl.js": publicAceSrcMinSnippetsVhdlJs, - "public/ace/src-min/snippets/wollok.js": publicAceSrcMinSnippetsWollokJs, - "public/ace/src-min/snippets/xml.js": publicAceSrcMinSnippetsXmlJs, - "public/ace/src-min/snippets/xquery.js": publicAceSrcMinSnippetsXqueryJs, - "public/ace/src-min/snippets/yaml.js": publicAceSrcMinSnippetsYamlJs, - "public/ace/src-min/theme-github.js": publicAceSrcMinThemeGithubJs, - "public/ace/src-min/worker-coffee.js": publicAceSrcMinWorkerCoffeeJs, - "public/ace/src-min/worker-css.js": publicAceSrcMinWorkerCssJs, - "public/ace/src-min/worker-html.js": publicAceSrcMinWorkerHtmlJs, - "public/ace/src-min/worker-javascript.js": publicAceSrcMinWorkerJavascriptJs, - "public/ace/src-min/worker-json.js": publicAceSrcMinWorkerJsonJs, - "public/ace/src-min/worker-lua.js": publicAceSrcMinWorkerLuaJs, - "public/ace/src-min/worker-php.js": publicAceSrcMinWorkerPhpJs, - "public/ace/src-min/worker-xml.js": publicAceSrcMinWorkerXmlJs, - "public/ace/src-min/worker-xquery.js": publicAceSrcMinWorkerXqueryJs, -} - -// AssetDir returns the file names below a certain -// directory embedded in the file by go-bindata. -// For example if you run go-bindata on data/... and data contains the -// following hierarchy: -// data/ -// foo.txt -// img/ -// a.png -// b.png -// then AssetDir("data") would return []string{"foo.txt", "img"} -// AssetDir("data/img") would return []string{"a.png", "b.png"} -// AssetDir("foo.txt") and AssetDir("notexist") would return an error -// AssetDir("") will return []string{"data"}. -func AssetDir(name string) ([]string, error) { - node := _bintree - if len(name) != 0 { - cannonicalName := strings.Replace(name, "\\", "/", -1) - pathList := strings.Split(cannonicalName, "/") - for _, p := range pathList { - node = node.Children[p] - if node == nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - } - } - if node.Func != nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - rv := make([]string, 0, len(node.Children)) - for childName := range node.Children { - rv = append(rv, childName) - } - return rv, nil -} - -type bintree struct { - Func func() (*asset, error) - Children map[string]*bintree -} -var _bintree = &bintree{nil, map[string]*bintree{ - "public": &bintree{nil, map[string]*bintree{ - "ace": &bintree{nil, map[string]*bintree{ - "src-min": &bintree{nil, map[string]*bintree{ - "ace.js": &bintree{publicAceSrcMinAceJs, map[string]*bintree{}}, - "ext-beautify.js": &bintree{publicAceSrcMinExtBeautifyJs, map[string]*bintree{}}, - "ext-chromevox.js": &bintree{publicAceSrcMinExtChromevoxJs, map[string]*bintree{}}, - "ext-elastic_tabstops_lite.js": &bintree{publicAceSrcMinExtElastic_tabstops_liteJs, map[string]*bintree{}}, - "ext-emmet.js": &bintree{publicAceSrcMinExtEmmetJs, map[string]*bintree{}}, - "ext-error_marker.js": &bintree{publicAceSrcMinExtError_markerJs, map[string]*bintree{}}, - "ext-keybinding_menu.js": &bintree{publicAceSrcMinExtKeybinding_menuJs, map[string]*bintree{}}, - "ext-language_tools.js": &bintree{publicAceSrcMinExtLanguage_toolsJs, map[string]*bintree{}}, - "ext-linking.js": &bintree{publicAceSrcMinExtLinkingJs, map[string]*bintree{}}, - "ext-modelist.js": &bintree{publicAceSrcMinExtModelistJs, map[string]*bintree{}}, - "ext-old_ie.js": &bintree{publicAceSrcMinExtOld_ieJs, map[string]*bintree{}}, - "ext-searchbox.js": &bintree{publicAceSrcMinExtSearchboxJs, map[string]*bintree{}}, - "ext-settings_menu.js": &bintree{publicAceSrcMinExtSettings_menuJs, map[string]*bintree{}}, - "ext-spellcheck.js": &bintree{publicAceSrcMinExtSpellcheckJs, map[string]*bintree{}}, - "ext-split.js": &bintree{publicAceSrcMinExtSplitJs, map[string]*bintree{}}, - "ext-static_highlight.js": &bintree{publicAceSrcMinExtStatic_highlightJs, map[string]*bintree{}}, - "ext-statusbar.js": &bintree{publicAceSrcMinExtStatusbarJs, map[string]*bintree{}}, - "ext-textarea.js": &bintree{publicAceSrcMinExtTextareaJs, map[string]*bintree{}}, - "ext-themelist.js": &bintree{publicAceSrcMinExtThemelistJs, map[string]*bintree{}}, - "ext-whitespace.js": &bintree{publicAceSrcMinExtWhitespaceJs, map[string]*bintree{}}, - "keybinding-emacs.js": &bintree{publicAceSrcMinKeybindingEmacsJs, map[string]*bintree{}}, - "keybinding-vim.js": &bintree{publicAceSrcMinKeybindingVimJs, map[string]*bintree{}}, - "mode-abap.js": &bintree{publicAceSrcMinModeAbapJs, map[string]*bintree{}}, - "mode-abc.js": &bintree{publicAceSrcMinModeAbcJs, map[string]*bintree{}}, - "mode-actionscript.js": &bintree{publicAceSrcMinModeActionscriptJs, map[string]*bintree{}}, - "mode-ada.js": &bintree{publicAceSrcMinModeAdaJs, map[string]*bintree{}}, - "mode-apache_conf.js": &bintree{publicAceSrcMinModeApache_confJs, map[string]*bintree{}}, - "mode-applescript.js": &bintree{publicAceSrcMinModeApplescriptJs, map[string]*bintree{}}, - "mode-asciidoc.js": &bintree{publicAceSrcMinModeAsciidocJs, map[string]*bintree{}}, - "mode-assembly_x86.js": &bintree{publicAceSrcMinModeAssembly_x86Js, map[string]*bintree{}}, - "mode-autohotkey.js": &bintree{publicAceSrcMinModeAutohotkeyJs, map[string]*bintree{}}, - "mode-batchfile.js": &bintree{publicAceSrcMinModeBatchfileJs, map[string]*bintree{}}, - "mode-bro.js": &bintree{publicAceSrcMinModeBroJs, map[string]*bintree{}}, - "mode-c9search.js": &bintree{publicAceSrcMinModeC9searchJs, map[string]*bintree{}}, - "mode-c_cpp.js": &bintree{publicAceSrcMinModeC_cppJs, map[string]*bintree{}}, - "mode-cirru.js": &bintree{publicAceSrcMinModeCirruJs, map[string]*bintree{}}, - "mode-clojure.js": &bintree{publicAceSrcMinModeClojureJs, map[string]*bintree{}}, - "mode-cobol.js": &bintree{publicAceSrcMinModeCobolJs, map[string]*bintree{}}, - "mode-coffee.js": &bintree{publicAceSrcMinModeCoffeeJs, map[string]*bintree{}}, - "mode-coldfusion.js": &bintree{publicAceSrcMinModeColdfusionJs, map[string]*bintree{}}, - "mode-csharp.js": &bintree{publicAceSrcMinModeCsharpJs, map[string]*bintree{}}, - "mode-css.js": &bintree{publicAceSrcMinModeCssJs, map[string]*bintree{}}, - "mode-curly.js": &bintree{publicAceSrcMinModeCurlyJs, map[string]*bintree{}}, - "mode-d.js": &bintree{publicAceSrcMinModeDJs, map[string]*bintree{}}, - "mode-dart.js": &bintree{publicAceSrcMinModeDartJs, map[string]*bintree{}}, - "mode-diff.js": &bintree{publicAceSrcMinModeDiffJs, map[string]*bintree{}}, - "mode-django.js": &bintree{publicAceSrcMinModeDjangoJs, map[string]*bintree{}}, - "mode-dockerfile.js": &bintree{publicAceSrcMinModeDockerfileJs, map[string]*bintree{}}, - "mode-dot.js": &bintree{publicAceSrcMinModeDotJs, map[string]*bintree{}}, - "mode-drools.js": &bintree{publicAceSrcMinModeDroolsJs, map[string]*bintree{}}, - "mode-eiffel.js": &bintree{publicAceSrcMinModeEiffelJs, map[string]*bintree{}}, - "mode-ejs.js": &bintree{publicAceSrcMinModeEjsJs, map[string]*bintree{}}, - "mode-elixir.js": &bintree{publicAceSrcMinModeElixirJs, map[string]*bintree{}}, - "mode-elm.js": &bintree{publicAceSrcMinModeElmJs, map[string]*bintree{}}, - "mode-erlang.js": &bintree{publicAceSrcMinModeErlangJs, map[string]*bintree{}}, - "mode-forth.js": &bintree{publicAceSrcMinModeForthJs, map[string]*bintree{}}, - "mode-fortran.js": &bintree{publicAceSrcMinModeFortranJs, map[string]*bintree{}}, - "mode-ftl.js": &bintree{publicAceSrcMinModeFtlJs, map[string]*bintree{}}, - "mode-gcode.js": &bintree{publicAceSrcMinModeGcodeJs, map[string]*bintree{}}, - "mode-gherkin.js": &bintree{publicAceSrcMinModeGherkinJs, map[string]*bintree{}}, - "mode-gitignore.js": &bintree{publicAceSrcMinModeGitignoreJs, map[string]*bintree{}}, - "mode-glsl.js": &bintree{publicAceSrcMinModeGlslJs, map[string]*bintree{}}, - "mode-gobstones.js": &bintree{publicAceSrcMinModeGobstonesJs, map[string]*bintree{}}, - "mode-golang.js": &bintree{publicAceSrcMinModeGolangJs, map[string]*bintree{}}, - "mode-groovy.js": &bintree{publicAceSrcMinModeGroovyJs, map[string]*bintree{}}, - "mode-haml.js": &bintree{publicAceSrcMinModeHamlJs, map[string]*bintree{}}, - "mode-handlebars.js": &bintree{publicAceSrcMinModeHandlebarsJs, map[string]*bintree{}}, - "mode-haskell.js": &bintree{publicAceSrcMinModeHaskellJs, map[string]*bintree{}}, - "mode-haskell_cabal.js": &bintree{publicAceSrcMinModeHaskell_cabalJs, map[string]*bintree{}}, - "mode-haxe.js": &bintree{publicAceSrcMinModeHaxeJs, map[string]*bintree{}}, - "mode-hjson.js": &bintree{publicAceSrcMinModeHjsonJs, map[string]*bintree{}}, - "mode-html.js": &bintree{publicAceSrcMinModeHtmlJs, map[string]*bintree{}}, - "mode-html_elixir.js": &bintree{publicAceSrcMinModeHtml_elixirJs, map[string]*bintree{}}, - "mode-html_ruby.js": &bintree{publicAceSrcMinModeHtml_rubyJs, map[string]*bintree{}}, - "mode-ini.js": &bintree{publicAceSrcMinModeIniJs, map[string]*bintree{}}, - "mode-io.js": &bintree{publicAceSrcMinModeIoJs, map[string]*bintree{}}, - "mode-jack.js": &bintree{publicAceSrcMinModeJackJs, map[string]*bintree{}}, - "mode-jade.js": &bintree{publicAceSrcMinModeJadeJs, map[string]*bintree{}}, - "mode-java.js": &bintree{publicAceSrcMinModeJavaJs, map[string]*bintree{}}, - "mode-javascript.js": &bintree{publicAceSrcMinModeJavascriptJs, map[string]*bintree{}}, - "mode-json.js": &bintree{publicAceSrcMinModeJsonJs, map[string]*bintree{}}, - "mode-jsoniq.js": &bintree{publicAceSrcMinModeJsoniqJs, map[string]*bintree{}}, - "mode-jsp.js": &bintree{publicAceSrcMinModeJspJs, map[string]*bintree{}}, - "mode-jsx.js": &bintree{publicAceSrcMinModeJsxJs, map[string]*bintree{}}, - "mode-julia.js": &bintree{publicAceSrcMinModeJuliaJs, map[string]*bintree{}}, - "mode-kotlin.js": &bintree{publicAceSrcMinModeKotlinJs, map[string]*bintree{}}, - "mode-latex.js": &bintree{publicAceSrcMinModeLatexJs, map[string]*bintree{}}, - "mode-lean.js": &bintree{publicAceSrcMinModeLeanJs, map[string]*bintree{}}, - "mode-less.js": &bintree{publicAceSrcMinModeLessJs, map[string]*bintree{}}, - "mode-liquid.js": &bintree{publicAceSrcMinModeLiquidJs, map[string]*bintree{}}, - "mode-lisp.js": &bintree{publicAceSrcMinModeLispJs, map[string]*bintree{}}, - "mode-live_script.js": &bintree{publicAceSrcMinModeLive_scriptJs, map[string]*bintree{}}, - "mode-livescript.js": &bintree{publicAceSrcMinModeLivescriptJs, map[string]*bintree{}}, - "mode-logiql.js": &bintree{publicAceSrcMinModeLogiqlJs, map[string]*bintree{}}, - "mode-lsl.js": &bintree{publicAceSrcMinModeLslJs, map[string]*bintree{}}, - "mode-lua.js": &bintree{publicAceSrcMinModeLuaJs, map[string]*bintree{}}, - "mode-luapage.js": &bintree{publicAceSrcMinModeLuapageJs, map[string]*bintree{}}, - "mode-lucene.js": &bintree{publicAceSrcMinModeLuceneJs, map[string]*bintree{}}, - "mode-makefile.js": &bintree{publicAceSrcMinModeMakefileJs, map[string]*bintree{}}, - "mode-markdown.js": &bintree{publicAceSrcMinModeMarkdownJs, map[string]*bintree{}}, - "mode-mask.js": &bintree{publicAceSrcMinModeMaskJs, map[string]*bintree{}}, - "mode-matlab.js": &bintree{publicAceSrcMinModeMatlabJs, map[string]*bintree{}}, - "mode-maze.js": &bintree{publicAceSrcMinModeMazeJs, map[string]*bintree{}}, - "mode-mel.js": &bintree{publicAceSrcMinModeMelJs, map[string]*bintree{}}, - "mode-mips_assembler.js": &bintree{publicAceSrcMinModeMips_assemblerJs, map[string]*bintree{}}, - "mode-mipsassembler.js": &bintree{publicAceSrcMinModeMipsassemblerJs, map[string]*bintree{}}, - "mode-mushcode.js": &bintree{publicAceSrcMinModeMushcodeJs, map[string]*bintree{}}, - "mode-mysql.js": &bintree{publicAceSrcMinModeMysqlJs, map[string]*bintree{}}, - "mode-nix.js": &bintree{publicAceSrcMinModeNixJs, map[string]*bintree{}}, - "mode-nsis.js": &bintree{publicAceSrcMinModeNsisJs, map[string]*bintree{}}, - "mode-objectivec.js": &bintree{publicAceSrcMinModeObjectivecJs, map[string]*bintree{}}, - "mode-ocaml.js": &bintree{publicAceSrcMinModeOcamlJs, map[string]*bintree{}}, - "mode-pascal.js": &bintree{publicAceSrcMinModePascalJs, map[string]*bintree{}}, - "mode-perl.js": &bintree{publicAceSrcMinModePerlJs, map[string]*bintree{}}, - "mode-pgsql.js": &bintree{publicAceSrcMinModePgsqlJs, map[string]*bintree{}}, - "mode-php.js": &bintree{publicAceSrcMinModePhpJs, map[string]*bintree{}}, - "mode-plain_text.js": &bintree{publicAceSrcMinModePlain_textJs, map[string]*bintree{}}, - "mode-powershell.js": &bintree{publicAceSrcMinModePowershellJs, map[string]*bintree{}}, - "mode-praat.js": &bintree{publicAceSrcMinModePraatJs, map[string]*bintree{}}, - "mode-prolog.js": &bintree{publicAceSrcMinModePrologJs, map[string]*bintree{}}, - "mode-properties.js": &bintree{publicAceSrcMinModePropertiesJs, map[string]*bintree{}}, - "mode-protobuf.js": &bintree{publicAceSrcMinModeProtobufJs, map[string]*bintree{}}, - "mode-python.js": &bintree{publicAceSrcMinModePythonJs, map[string]*bintree{}}, - "mode-r.js": &bintree{publicAceSrcMinModeRJs, map[string]*bintree{}}, - "mode-razor.js": &bintree{publicAceSrcMinModeRazorJs, map[string]*bintree{}}, - "mode-rdoc.js": &bintree{publicAceSrcMinModeRdocJs, map[string]*bintree{}}, - "mode-rhtml.js": &bintree{publicAceSrcMinModeRhtmlJs, map[string]*bintree{}}, - "mode-rst.js": &bintree{publicAceSrcMinModeRstJs, map[string]*bintree{}}, - "mode-ruby.js": &bintree{publicAceSrcMinModeRubyJs, map[string]*bintree{}}, - "mode-rust.js": &bintree{publicAceSrcMinModeRustJs, map[string]*bintree{}}, - "mode-sass.js": &bintree{publicAceSrcMinModeSassJs, map[string]*bintree{}}, - "mode-scad.js": &bintree{publicAceSrcMinModeScadJs, map[string]*bintree{}}, - "mode-scala.js": &bintree{publicAceSrcMinModeScalaJs, map[string]*bintree{}}, - "mode-scheme.js": &bintree{publicAceSrcMinModeSchemeJs, map[string]*bintree{}}, - "mode-scss.js": &bintree{publicAceSrcMinModeScssJs, map[string]*bintree{}}, - "mode-sh.js": &bintree{publicAceSrcMinModeShJs, map[string]*bintree{}}, - "mode-sjs.js": &bintree{publicAceSrcMinModeSjsJs, map[string]*bintree{}}, - "mode-smarty.js": &bintree{publicAceSrcMinModeSmartyJs, map[string]*bintree{}}, - "mode-snippets.js": &bintree{publicAceSrcMinModeSnippetsJs, map[string]*bintree{}}, - "mode-soy_template.js": &bintree{publicAceSrcMinModeSoy_templateJs, map[string]*bintree{}}, - "mode-space.js": &bintree{publicAceSrcMinModeSpaceJs, map[string]*bintree{}}, - "mode-sql.js": &bintree{publicAceSrcMinModeSqlJs, map[string]*bintree{}}, - "mode-sqlserver.js": &bintree{publicAceSrcMinModeSqlserverJs, map[string]*bintree{}}, - "mode-stylus.js": &bintree{publicAceSrcMinModeStylusJs, map[string]*bintree{}}, - "mode-svg.js": &bintree{publicAceSrcMinModeSvgJs, map[string]*bintree{}}, - "mode-swift.js": &bintree{publicAceSrcMinModeSwiftJs, map[string]*bintree{}}, - "mode-swig.js": &bintree{publicAceSrcMinModeSwigJs, map[string]*bintree{}}, - "mode-tcl.js": &bintree{publicAceSrcMinModeTclJs, map[string]*bintree{}}, - "mode-tex.js": &bintree{publicAceSrcMinModeTexJs, map[string]*bintree{}}, - "mode-text.js": &bintree{publicAceSrcMinModeTextJs, map[string]*bintree{}}, - "mode-textile.js": &bintree{publicAceSrcMinModeTextileJs, map[string]*bintree{}}, - "mode-toml.js": &bintree{publicAceSrcMinModeTomlJs, map[string]*bintree{}}, - "mode-tsx.js": &bintree{publicAceSrcMinModeTsxJs, map[string]*bintree{}}, - "mode-twig.js": &bintree{publicAceSrcMinModeTwigJs, map[string]*bintree{}}, - "mode-typescript.js": &bintree{publicAceSrcMinModeTypescriptJs, map[string]*bintree{}}, - "mode-vala.js": &bintree{publicAceSrcMinModeValaJs, map[string]*bintree{}}, - "mode-vbscript.js": &bintree{publicAceSrcMinModeVbscriptJs, map[string]*bintree{}}, - "mode-velocity.js": &bintree{publicAceSrcMinModeVelocityJs, map[string]*bintree{}}, - "mode-verilog.js": &bintree{publicAceSrcMinModeVerilogJs, map[string]*bintree{}}, - "mode-vhdl.js": &bintree{publicAceSrcMinModeVhdlJs, map[string]*bintree{}}, - "mode-wollok.js": &bintree{publicAceSrcMinModeWollokJs, map[string]*bintree{}}, - "mode-xml.js": &bintree{publicAceSrcMinModeXmlJs, map[string]*bintree{}}, - "mode-xquery.js": &bintree{publicAceSrcMinModeXqueryJs, map[string]*bintree{}}, - "mode-yaml.js": &bintree{publicAceSrcMinModeYamlJs, map[string]*bintree{}}, - "snippets": &bintree{nil, map[string]*bintree{ - "abap.js": &bintree{publicAceSrcMinSnippetsAbapJs, map[string]*bintree{}}, - "abc.js": &bintree{publicAceSrcMinSnippetsAbcJs, map[string]*bintree{}}, - "actionscript.js": &bintree{publicAceSrcMinSnippetsActionscriptJs, map[string]*bintree{}}, - "ada.js": &bintree{publicAceSrcMinSnippetsAdaJs, map[string]*bintree{}}, - "apache_conf.js": &bintree{publicAceSrcMinSnippetsApache_confJs, map[string]*bintree{}}, - "applescript.js": &bintree{publicAceSrcMinSnippetsApplescriptJs, map[string]*bintree{}}, - "asciidoc.js": &bintree{publicAceSrcMinSnippetsAsciidocJs, map[string]*bintree{}}, - "assembly_x86.js": &bintree{publicAceSrcMinSnippetsAssembly_x86Js, map[string]*bintree{}}, - "autohotkey.js": &bintree{publicAceSrcMinSnippetsAutohotkeyJs, map[string]*bintree{}}, - "batchfile.js": &bintree{publicAceSrcMinSnippetsBatchfileJs, map[string]*bintree{}}, - "bro.js": &bintree{publicAceSrcMinSnippetsBroJs, map[string]*bintree{}}, - "c9search.js": &bintree{publicAceSrcMinSnippetsC9searchJs, map[string]*bintree{}}, - "c_cpp.js": &bintree{publicAceSrcMinSnippetsC_cppJs, map[string]*bintree{}}, - "cirru.js": &bintree{publicAceSrcMinSnippetsCirruJs, map[string]*bintree{}}, - "clojure.js": &bintree{publicAceSrcMinSnippetsClojureJs, map[string]*bintree{}}, - "cobol.js": &bintree{publicAceSrcMinSnippetsCobolJs, map[string]*bintree{}}, - "coffee.js": &bintree{publicAceSrcMinSnippetsCoffeeJs, map[string]*bintree{}}, - "coldfusion.js": &bintree{publicAceSrcMinSnippetsColdfusionJs, map[string]*bintree{}}, - "csharp.js": &bintree{publicAceSrcMinSnippetsCsharpJs, map[string]*bintree{}}, - "css.js": &bintree{publicAceSrcMinSnippetsCssJs, map[string]*bintree{}}, - "curly.js": &bintree{publicAceSrcMinSnippetsCurlyJs, map[string]*bintree{}}, - "d.js": &bintree{publicAceSrcMinSnippetsDJs, map[string]*bintree{}}, - "dart.js": &bintree{publicAceSrcMinSnippetsDartJs, map[string]*bintree{}}, - "diff.js": &bintree{publicAceSrcMinSnippetsDiffJs, map[string]*bintree{}}, - "django.js": &bintree{publicAceSrcMinSnippetsDjangoJs, map[string]*bintree{}}, - "dockerfile.js": &bintree{publicAceSrcMinSnippetsDockerfileJs, map[string]*bintree{}}, - "dot.js": &bintree{publicAceSrcMinSnippetsDotJs, map[string]*bintree{}}, - "drools.js": &bintree{publicAceSrcMinSnippetsDroolsJs, map[string]*bintree{}}, - "eiffel.js": &bintree{publicAceSrcMinSnippetsEiffelJs, map[string]*bintree{}}, - "ejs.js": &bintree{publicAceSrcMinSnippetsEjsJs, map[string]*bintree{}}, - "elixir.js": &bintree{publicAceSrcMinSnippetsElixirJs, map[string]*bintree{}}, - "elm.js": &bintree{publicAceSrcMinSnippetsElmJs, map[string]*bintree{}}, - "erlang.js": &bintree{publicAceSrcMinSnippetsErlangJs, map[string]*bintree{}}, - "forth.js": &bintree{publicAceSrcMinSnippetsForthJs, map[string]*bintree{}}, - "fortran.js": &bintree{publicAceSrcMinSnippetsFortranJs, map[string]*bintree{}}, - "ftl.js": &bintree{publicAceSrcMinSnippetsFtlJs, map[string]*bintree{}}, - "gcode.js": &bintree{publicAceSrcMinSnippetsGcodeJs, map[string]*bintree{}}, - "gherkin.js": &bintree{publicAceSrcMinSnippetsGherkinJs, map[string]*bintree{}}, - "gitignore.js": &bintree{publicAceSrcMinSnippetsGitignoreJs, map[string]*bintree{}}, - "glsl.js": &bintree{publicAceSrcMinSnippetsGlslJs, map[string]*bintree{}}, - "gobstones.js": &bintree{publicAceSrcMinSnippetsGobstonesJs, map[string]*bintree{}}, - "golang.js": &bintree{publicAceSrcMinSnippetsGolangJs, map[string]*bintree{}}, - "groovy.js": &bintree{publicAceSrcMinSnippetsGroovyJs, map[string]*bintree{}}, - "haml.js": &bintree{publicAceSrcMinSnippetsHamlJs, map[string]*bintree{}}, - "handlebars.js": &bintree{publicAceSrcMinSnippetsHandlebarsJs, map[string]*bintree{}}, - "haskell.js": &bintree{publicAceSrcMinSnippetsHaskellJs, map[string]*bintree{}}, - "haskell_cabal.js": &bintree{publicAceSrcMinSnippetsHaskell_cabalJs, map[string]*bintree{}}, - "haxe.js": &bintree{publicAceSrcMinSnippetsHaxeJs, map[string]*bintree{}}, - "hjson.js": &bintree{publicAceSrcMinSnippetsHjsonJs, map[string]*bintree{}}, - "html.js": &bintree{publicAceSrcMinSnippetsHtmlJs, map[string]*bintree{}}, - "html_elixir.js": &bintree{publicAceSrcMinSnippetsHtml_elixirJs, map[string]*bintree{}}, - "html_ruby.js": &bintree{publicAceSrcMinSnippetsHtml_rubyJs, map[string]*bintree{}}, - "ini.js": &bintree{publicAceSrcMinSnippetsIniJs, map[string]*bintree{}}, - "io.js": &bintree{publicAceSrcMinSnippetsIoJs, map[string]*bintree{}}, - "jack.js": &bintree{publicAceSrcMinSnippetsJackJs, map[string]*bintree{}}, - "jade.js": &bintree{publicAceSrcMinSnippetsJadeJs, map[string]*bintree{}}, - "java.js": &bintree{publicAceSrcMinSnippetsJavaJs, map[string]*bintree{}}, - "javascript.js": &bintree{publicAceSrcMinSnippetsJavascriptJs, map[string]*bintree{}}, - "json.js": &bintree{publicAceSrcMinSnippetsJsonJs, map[string]*bintree{}}, - "jsoniq.js": &bintree{publicAceSrcMinSnippetsJsoniqJs, map[string]*bintree{}}, - "jsp.js": &bintree{publicAceSrcMinSnippetsJspJs, map[string]*bintree{}}, - "jsx.js": &bintree{publicAceSrcMinSnippetsJsxJs, map[string]*bintree{}}, - "julia.js": &bintree{publicAceSrcMinSnippetsJuliaJs, map[string]*bintree{}}, - "kotlin.js": &bintree{publicAceSrcMinSnippetsKotlinJs, map[string]*bintree{}}, - "latex.js": &bintree{publicAceSrcMinSnippetsLatexJs, map[string]*bintree{}}, - "lean.js": &bintree{publicAceSrcMinSnippetsLeanJs, map[string]*bintree{}}, - "less.js": &bintree{publicAceSrcMinSnippetsLessJs, map[string]*bintree{}}, - "liquid.js": &bintree{publicAceSrcMinSnippetsLiquidJs, map[string]*bintree{}}, - "lisp.js": &bintree{publicAceSrcMinSnippetsLispJs, map[string]*bintree{}}, - "live_script.js": &bintree{publicAceSrcMinSnippetsLive_scriptJs, map[string]*bintree{}}, - "livescript.js": &bintree{publicAceSrcMinSnippetsLivescriptJs, map[string]*bintree{}}, - "logiql.js": &bintree{publicAceSrcMinSnippetsLogiqlJs, map[string]*bintree{}}, - "lsl.js": &bintree{publicAceSrcMinSnippetsLslJs, map[string]*bintree{}}, - "lua.js": &bintree{publicAceSrcMinSnippetsLuaJs, map[string]*bintree{}}, - "luapage.js": &bintree{publicAceSrcMinSnippetsLuapageJs, map[string]*bintree{}}, - "lucene.js": &bintree{publicAceSrcMinSnippetsLuceneJs, map[string]*bintree{}}, - "makefile.js": &bintree{publicAceSrcMinSnippetsMakefileJs, map[string]*bintree{}}, - "markdown.js": &bintree{publicAceSrcMinSnippetsMarkdownJs, map[string]*bintree{}}, - "mask.js": &bintree{publicAceSrcMinSnippetsMaskJs, map[string]*bintree{}}, - "matlab.js": &bintree{publicAceSrcMinSnippetsMatlabJs, map[string]*bintree{}}, - "maze.js": &bintree{publicAceSrcMinSnippetsMazeJs, map[string]*bintree{}}, - "mel.js": &bintree{publicAceSrcMinSnippetsMelJs, map[string]*bintree{}}, - "mips_assembler.js": &bintree{publicAceSrcMinSnippetsMips_assemblerJs, map[string]*bintree{}}, - "mipsassembler.js": &bintree{publicAceSrcMinSnippetsMipsassemblerJs, map[string]*bintree{}}, - "mushcode.js": &bintree{publicAceSrcMinSnippetsMushcodeJs, map[string]*bintree{}}, - "mysql.js": &bintree{publicAceSrcMinSnippetsMysqlJs, map[string]*bintree{}}, - "nix.js": &bintree{publicAceSrcMinSnippetsNixJs, map[string]*bintree{}}, - "nsis.js": &bintree{publicAceSrcMinSnippetsNsisJs, map[string]*bintree{}}, - "objectivec.js": &bintree{publicAceSrcMinSnippetsObjectivecJs, map[string]*bintree{}}, - "ocaml.js": &bintree{publicAceSrcMinSnippetsOcamlJs, map[string]*bintree{}}, - "pascal.js": &bintree{publicAceSrcMinSnippetsPascalJs, map[string]*bintree{}}, - "perl.js": &bintree{publicAceSrcMinSnippetsPerlJs, map[string]*bintree{}}, - "pgsql.js": &bintree{publicAceSrcMinSnippetsPgsqlJs, map[string]*bintree{}}, - "php.js": &bintree{publicAceSrcMinSnippetsPhpJs, map[string]*bintree{}}, - "plain_text.js": &bintree{publicAceSrcMinSnippetsPlain_textJs, map[string]*bintree{}}, - "powershell.js": &bintree{publicAceSrcMinSnippetsPowershellJs, map[string]*bintree{}}, - "praat.js": &bintree{publicAceSrcMinSnippetsPraatJs, map[string]*bintree{}}, - "prolog.js": &bintree{publicAceSrcMinSnippetsPrologJs, map[string]*bintree{}}, - "properties.js": &bintree{publicAceSrcMinSnippetsPropertiesJs, map[string]*bintree{}}, - "protobuf.js": &bintree{publicAceSrcMinSnippetsProtobufJs, map[string]*bintree{}}, - "python.js": &bintree{publicAceSrcMinSnippetsPythonJs, map[string]*bintree{}}, - "r.js": &bintree{publicAceSrcMinSnippetsRJs, map[string]*bintree{}}, - "razor.js": &bintree{publicAceSrcMinSnippetsRazorJs, map[string]*bintree{}}, - "rdoc.js": &bintree{publicAceSrcMinSnippetsRdocJs, map[string]*bintree{}}, - "rhtml.js": &bintree{publicAceSrcMinSnippetsRhtmlJs, map[string]*bintree{}}, - "rst.js": &bintree{publicAceSrcMinSnippetsRstJs, map[string]*bintree{}}, - "ruby.js": &bintree{publicAceSrcMinSnippetsRubyJs, map[string]*bintree{}}, - "rust.js": &bintree{publicAceSrcMinSnippetsRustJs, map[string]*bintree{}}, - "sass.js": &bintree{publicAceSrcMinSnippetsSassJs, map[string]*bintree{}}, - "scad.js": &bintree{publicAceSrcMinSnippetsScadJs, map[string]*bintree{}}, - "scala.js": &bintree{publicAceSrcMinSnippetsScalaJs, map[string]*bintree{}}, - "scheme.js": &bintree{publicAceSrcMinSnippetsSchemeJs, map[string]*bintree{}}, - "scss.js": &bintree{publicAceSrcMinSnippetsScssJs, map[string]*bintree{}}, - "sh.js": &bintree{publicAceSrcMinSnippetsShJs, map[string]*bintree{}}, - "sjs.js": &bintree{publicAceSrcMinSnippetsSjsJs, map[string]*bintree{}}, - "smarty.js": &bintree{publicAceSrcMinSnippetsSmartyJs, map[string]*bintree{}}, - "snippets.js": &bintree{publicAceSrcMinSnippetsSnippetsJs, map[string]*bintree{}}, - "soy_template.js": &bintree{publicAceSrcMinSnippetsSoy_templateJs, map[string]*bintree{}}, - "space.js": &bintree{publicAceSrcMinSnippetsSpaceJs, map[string]*bintree{}}, - "sql.js": &bintree{publicAceSrcMinSnippetsSqlJs, map[string]*bintree{}}, - "sqlserver.js": &bintree{publicAceSrcMinSnippetsSqlserverJs, map[string]*bintree{}}, - "stylus.js": &bintree{publicAceSrcMinSnippetsStylusJs, map[string]*bintree{}}, - "svg.js": &bintree{publicAceSrcMinSnippetsSvgJs, map[string]*bintree{}}, - "swift.js": &bintree{publicAceSrcMinSnippetsSwiftJs, map[string]*bintree{}}, - "swig.js": &bintree{publicAceSrcMinSnippetsSwigJs, map[string]*bintree{}}, - "tcl.js": &bintree{publicAceSrcMinSnippetsTclJs, map[string]*bintree{}}, - "tex.js": &bintree{publicAceSrcMinSnippetsTexJs, map[string]*bintree{}}, - "text.js": &bintree{publicAceSrcMinSnippetsTextJs, map[string]*bintree{}}, - "textile.js": &bintree{publicAceSrcMinSnippetsTextileJs, map[string]*bintree{}}, - "toml.js": &bintree{publicAceSrcMinSnippetsTomlJs, map[string]*bintree{}}, - "tsx.js": &bintree{publicAceSrcMinSnippetsTsxJs, map[string]*bintree{}}, - "twig.js": &bintree{publicAceSrcMinSnippetsTwigJs, map[string]*bintree{}}, - "typescript.js": &bintree{publicAceSrcMinSnippetsTypescriptJs, map[string]*bintree{}}, - "vala.js": &bintree{publicAceSrcMinSnippetsValaJs, map[string]*bintree{}}, - "vbscript.js": &bintree{publicAceSrcMinSnippetsVbscriptJs, map[string]*bintree{}}, - "velocity.js": &bintree{publicAceSrcMinSnippetsVelocityJs, map[string]*bintree{}}, - "verilog.js": &bintree{publicAceSrcMinSnippetsVerilogJs, map[string]*bintree{}}, - "vhdl.js": &bintree{publicAceSrcMinSnippetsVhdlJs, map[string]*bintree{}}, - "wollok.js": &bintree{publicAceSrcMinSnippetsWollokJs, map[string]*bintree{}}, - "xml.js": &bintree{publicAceSrcMinSnippetsXmlJs, map[string]*bintree{}}, - "xquery.js": &bintree{publicAceSrcMinSnippetsXqueryJs, map[string]*bintree{}}, - "yaml.js": &bintree{publicAceSrcMinSnippetsYamlJs, map[string]*bintree{}}, - }}, - "theme-github.js": &bintree{publicAceSrcMinThemeGithubJs, map[string]*bintree{}}, - "worker-coffee.js": &bintree{publicAceSrcMinWorkerCoffeeJs, map[string]*bintree{}}, - "worker-css.js": &bintree{publicAceSrcMinWorkerCssJs, map[string]*bintree{}}, - "worker-html.js": &bintree{publicAceSrcMinWorkerHtmlJs, map[string]*bintree{}}, - "worker-javascript.js": &bintree{publicAceSrcMinWorkerJavascriptJs, map[string]*bintree{}}, - "worker-json.js": &bintree{publicAceSrcMinWorkerJsonJs, map[string]*bintree{}}, - "worker-lua.js": &bintree{publicAceSrcMinWorkerLuaJs, map[string]*bintree{}}, - "worker-php.js": &bintree{publicAceSrcMinWorkerPhpJs, map[string]*bintree{}}, - "worker-xml.js": &bintree{publicAceSrcMinWorkerXmlJs, map[string]*bintree{}}, - "worker-xquery.js": &bintree{publicAceSrcMinWorkerXqueryJs, map[string]*bintree{}}, - }}, - }}, - "css": &bintree{nil, map[string]*bintree{ - "fonts.css": &bintree{publicCssFontsCss, map[string]*bintree{}}, - "material": &bintree{nil, map[string]*bintree{ - "icons.woff2": &bintree{publicCssMaterialIconsWoff2, map[string]*bintree{}}, - }}, - "normalize.css": &bintree{publicCssNormalizeCss, map[string]*bintree{}}, - "roboto": &bintree{nil, map[string]*bintree{ - "medium-cyrillic-ext.woff2": &bintree{publicCssRobotoMediumCyrillicExtWoff2, map[string]*bintree{}}, - "medium-cyrillic.woff2": &bintree{publicCssRobotoMediumCyrillicWoff2, map[string]*bintree{}}, - "medium-greek-ext.woff2": &bintree{publicCssRobotoMediumGreekExtWoff2, map[string]*bintree{}}, - "medium-greek.woff2": &bintree{publicCssRobotoMediumGreekWoff2, map[string]*bintree{}}, - "medium-latin-ext.woff2": &bintree{publicCssRobotoMediumLatinExtWoff2, map[string]*bintree{}}, - "medium-latin.woff2": &bintree{publicCssRobotoMediumLatinWoff2, map[string]*bintree{}}, - "medium-vietnamese.woff2": &bintree{publicCssRobotoMediumVietnameseWoff2, map[string]*bintree{}}, - "normal-cyrillic-ext.woff2": &bintree{publicCssRobotoNormalCyrillicExtWoff2, map[string]*bintree{}}, - "normal-cyrillic.woff2": &bintree{publicCssRobotoNormalCyrillicWoff2, map[string]*bintree{}}, - "normal-greek-ext.woff2": &bintree{publicCssRobotoNormalGreekExtWoff2, map[string]*bintree{}}, - "normal-greek.woff2": &bintree{publicCssRobotoNormalGreekWoff2, map[string]*bintree{}}, - "normal-latin-ext.woff2": &bintree{publicCssRobotoNormalLatinExtWoff2, map[string]*bintree{}}, - "normal-latin.woff2": &bintree{publicCssRobotoNormalLatinWoff2, map[string]*bintree{}}, - "normal-vietnamese.woff2": &bintree{publicCssRobotoNormalVietnameseWoff2, map[string]*bintree{}}, - }}, - "styles.css": &bintree{publicCssStylesCss, map[string]*bintree{}}, - }}, - "js": &bintree{nil, map[string]*bintree{ - "common.js": &bintree{publicJsCommonJs, map[string]*bintree{}}, - "editor.js": &bintree{publicJsEditorJs, map[string]*bintree{}}, - "form2js.js": &bintree{publicJsForm2jsJs, map[string]*bintree{}}, - "listing.js": &bintree{publicJsListingJs, map[string]*bintree{}}, - }}, - }}, - "templates": &bintree{nil, map[string]*bintree{ - "base.tmpl": &bintree{templatesBaseTmpl, map[string]*bintree{}}, - "editor.tmpl": &bintree{templatesEditorTmpl, map[string]*bintree{}}, - "frontmatter.tmpl": &bintree{templatesFrontmatterTmpl, map[string]*bintree{}}, - "listing.tmpl": &bintree{templatesListingTmpl, map[string]*bintree{}}, - "minimal.tmpl": &bintree{templatesMinimalTmpl, map[string]*bintree{}}, - "single.tmpl": &bintree{templatesSingleTmpl, map[string]*bintree{}}, - }}, -}} - -// RestoreAsset restores an asset under the given directory -func RestoreAsset(dir, name string) error { - data, err := Asset(name) - if err != nil { - return err - } - info, err := AssetInfo(name) - if err != nil { - return err - } - err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) - if err != nil { - return err - } - err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) - if err != nil { - return err - } - err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) - if err != nil { - return err - } - return nil -} - -// RestoreAssets restores an asset under the given directory recursively -func RestoreAssets(dir, name string) error { - children, err := AssetDir(name) - // File - if err != nil { - return RestoreAsset(dir, name) - } - // Dir - for _, child := range children { - err = RestoreAssets(dir, filepath.Join(name, child)) - if err != nil { - return err - } - } - return nil -} - -func _filePath(dir, name string) string { - cannonicalName := strings.Replace(name, "\\", "/", -1) - return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) -} - diff --git a/cmd/filemanager/main.go b/cmd/filemanager/main.go deleted file mode 100644 index f421b3b7..00000000 --- a/cmd/filemanager/main.go +++ /dev/null @@ -1,21 +0,0 @@ -package main - -import ( - "net/http" - - "github.com/hacdias/filemanager" - handlers "github.com/hacdias/filemanager/http" -) - -var cfg *filemanager.Config - -func handler(w http.ResponseWriter, r *http.Request) { - handlers.ServeHTTP(w, r, cfg) -} - -func main() { - cfg = filemanager.New("D:\\TEST\\") - - http.HandleFunc("/", handler) - http.ListenAndServe(":8080", nil) -} diff --git a/editor.go b/editor.go deleted file mode 100644 index c42deee1..00000000 --- a/editor.go +++ /dev/null @@ -1,120 +0,0 @@ -package filemanager - -import ( - "bytes" - "errors" - "net/http" - "path/filepath" - "strings" - - "github.com/hacdias/filemanager/frontmatter" - "github.com/spf13/hugo/parser" -) - -// editor contains the information for the editor page -type editor struct { - Class string - Mode string - Visual bool - Content string - FrontMatter struct { - Content *frontmatter.Content - Rune rune - } -} - -// newEditor gets the editor based on a FileInfo struct -func newEditor(r *http.Request, i *fileInfo) (*editor, error) { - var err error - - // Create a new editor variable and set the mode - e := new(editor) - e.Mode = editorMode(i.Name) - e.Class = editorClass(e.Mode) - - if e.Class == "frontmatter-only" || e.Class == "complete" { - e.Visual = true - } - - if r.URL.Query().Get("visual") == "false" { - e.Class = "content-only" - } - - hasRune := frontmatter.HasRune(i.Content) - - if e.Class == "frontmatter-only" && !hasRune { - e.FrontMatter.Rune, err = frontmatter.StringFormatToRune(e.Mode) - if err != nil { - goto Error - } - i.Content = frontmatter.AppendRune(i.Content, e.FrontMatter.Rune) - hasRune = true - } - - if e.Class == "frontmatter-only" && hasRune { - e.FrontMatter.Content, _, err = frontmatter.Pretty(i.Content) - if err != nil { - goto Error - } - } - - if e.Class == "complete" && hasRune { - var page parser.Page - // Starts a new buffer and parses the file using Hugo's functions - buffer := bytes.NewBuffer(i.Content) - page, err = parser.ReadFrom(buffer) - - if err != nil { - goto Error - } - - // Parses the page content and the frontmatter - e.Content = strings.TrimSpace(string(page.Content())) - e.FrontMatter.Rune = rune(i.Content[0]) - e.FrontMatter.Content, _, err = frontmatter.Pretty(page.FrontMatter()) - } - - if e.Class == "complete" && !hasRune { - err = errors.New("Complete but without rune") - } - -Error: - if e.Class == "content-only" || err != nil { - e.Class = "content-only" - e.Content = i.StringifyContent() - } - - return e, nil -} - -func editorClass(mode string) string { - switch mode { - case "json", "toml", "yaml": - return "frontmatter-only" - case "markdown", "asciidoc", "rst": - return "complete" - } - - return "content-only" -} - -func editorMode(filename string) string { - mode := strings.TrimPrefix(filepath.Ext(filename), ".") - - switch mode { - case "md", "markdown", "mdown", "mmark": - mode = "markdown" - case "asciidoc", "adoc", "ad": - mode = "asciidoc" - case "rst": - mode = "rst" - case "html", "htm": - mode = "html" - case "js": - mode = "javascript" - case "go": - mode = "golang" - } - - return mode -} diff --git a/file.go b/file.go deleted file mode 100644 index 5e0599b9..00000000 --- a/file.go +++ /dev/null @@ -1,161 +0,0 @@ -package filemanager - -import ( - "io/ioutil" - "mime" - "net/http" - "net/url" - "os" - "path/filepath" - "strings" - "time" - - humanize "github.com/dustin/go-humanize" -) - -// fileInfo contains the information about a particular file or directory. -type fileInfo struct { - Name string - Size int64 - URL string - Extension string - ModTime time.Time - Mode os.FileMode - IsDir bool - Path string // Relative path to Caddyfile - VirtualPath string // Relative path to u.FileSystem - Mimetype string - Content []byte - Type string - UserAllowed bool // Indicates if the user has enough permissions -} - -// getFileInfo retrieves the file information and the error, if there is any. -func getFileInfo(url *url.URL, c *FileManager, u *User) (*fileInfo, error) { - var err error - - i := &fileInfo{URL: c.PrefixURL + url.Path} - i.VirtualPath = strings.Replace(url.Path, c.BaseURL, "", 1) - i.VirtualPath = strings.TrimPrefix(i.VirtualPath, "/") - i.VirtualPath = "/" + i.VirtualPath - - i.Path = u.Scope + i.VirtualPath - i.Path = filepath.Clean(i.Path) - - info, err := os.Stat(i.Path) - if err != nil { - return i, err - } - - i.Name = info.Name() - i.ModTime = info.ModTime() - i.Mode = info.Mode() - i.IsDir = info.IsDir() - i.Size = info.Size() - i.Extension = filepath.Ext(i.Name) - return i, nil -} - -var textExtensions = [...]string{ - ".md", ".markdown", ".mdown", ".mmark", - ".asciidoc", ".adoc", ".ad", - ".rst", - ".json", ".toml", ".yaml", ".csv", ".xml", ".rss", ".conf", ".ini", - ".tex", ".sty", - ".css", ".sass", ".scss", - ".js", - ".html", - ".txt", ".rtf", - ".sh", ".bash", ".ps1", ".bat", ".cmd", - ".php", ".pl", ".py", - "Caddyfile", - ".c", ".cc", ".h", ".hh", ".cpp", ".hpp", ".f90", - ".f", ".bas", ".d", ".ada", ".nim", ".cr", ".java", ".cs", ".vala", ".vapi", -} - -// RetrieveFileType obtains the mimetype and a simplified internal Type -// using the first 512 bytes from the file. -func (i fileInfo) RetrieveFileType() error { - i.Mimetype = mime.TypeByExtension(i.Extension) - - if i.Mimetype == "" { - err := i.Read() - if err != nil { - return err - } - - i.Mimetype = http.DetectContentType(i.Content) - } - - if strings.HasPrefix(i.Mimetype, "video") { - i.Type = "video" - return nil - } - - if strings.HasPrefix(i.Mimetype, "audio") { - i.Type = "audio" - return nil - } - - if strings.HasPrefix(i.Mimetype, "image") { - i.Type = "image" - return nil - } - - if strings.HasPrefix(i.Mimetype, "text") { - i.Type = "text" - return nil - } - - if strings.HasPrefix(i.Mimetype, "application/javascript") { - i.Type = "text" - return nil - } - - // If the type isn't text (and is blob for example), it will check some - // common types that are mistaken not to be text. - for _, extension := range textExtensions { - if strings.HasSuffix(i.Name, extension) { - i.Type = "text" - return nil - } - } - - i.Type = "blob" - return nil -} - -// Reads the file. -func (i fileInfo) Read() error { - if len(i.Content) != 0 { - return nil - } - - var err error - i.Content, err = ioutil.ReadFile(i.Path) - if err != nil { - return err - } - return nil -} - -// StringifyContent returns the string version of Raw -func (i fileInfo) StringifyContent() string { - return string(i.Content) -} - -// HumanSize returns the size of the file as a human-readable string -// in IEC format (i.e. power of 2 or base 1024). -func (i fileInfo) HumanSize() string { - return humanize.IBytes(uint64(i.Size)) -} - -// HumanModTime returns the modified time of the file as a human-readable string. -func (i fileInfo) HumanModTime(format string) string { - return i.ModTime.Format(format) -} - -// CanBeEdited checks if the extension of a file is supported by the editor -func (i fileInfo) CanBeEdited() bool { - return i.Type == "text" -} diff --git a/filemanager.go b/filemanager.go deleted file mode 100644 index 6fc6107c..00000000 --- a/filemanager.go +++ /dev/null @@ -1,116 +0,0 @@ -package filemanager - -import ( - "net/http" - "regexp" - "strings" - - rice "github.com/GeertJohan/go.rice" - - "golang.org/x/net/webdav" -) - -// FileManager is a configuration for browsing in a particular path. -type FileManager struct { - *User - PrefixURL string // A part of the URL that is stripped from the http.Request - BaseURL string // The base URL of FileManager interface - WebDavURL string // The URL of WebDAV - Users map[string]*User - BeforeSave Command - AfterSave Command - Assets struct { - Templates *rice.Box - Static *rice.Box - } -} - -// New creates a new FileManager object with the default settings -// for a certain scope. -func New(scope string) *FileManager { - fm := &FileManager{ - User: &User{ - Scope: scope, - FileSystem: webdav.Dir(scope), - AllowCommands: true, - AllowEdit: true, - AllowNew: true, - Commands: []string{"git", "svn", "hg"}, - Rules: []*Rule{{ - Regex: true, - Allow: false, - Regexp: regexp.MustCompile("\\/\\..+"), - }}, - }, - Users: map[string]*User{}, - BaseURL: "", - PrefixURL: "", - WebDavURL: "/webdav", - BeforeSave: func(r *http.Request, c *FileManager, u *User) error { return nil }, - AfterSave: func(r *http.Request, c *FileManager, u *User) error { return nil }, - } - - fm.Handler = &webdav.Handler{ - Prefix: fm.WebDavURL, - FileSystem: fm.FileSystem, - LockSystem: webdav.NewMemLS(), - } - - return fm -} - -// AbsoluteURL ... -func (c FileManager) AbsoluteURL() string { - return c.PrefixURL + c.BaseURL -} - -// AbsoluteWebdavURL ... -func (c FileManager) AbsoluteWebdavURL() string { - return c.PrefixURL + c.WebDavURL -} - -// Rule is a dissalow/allow rule -type Rule struct { - Regex bool - Allow bool - Path string - Regexp *regexp.Regexp -} - -// User contains the configuration for each user -type User struct { - Scope string `json:"-"` // Path the user have access - FileSystem webdav.FileSystem `json:"-"` // The virtual file system the user have access - Handler *webdav.Handler `json:"-"` // The WebDav HTTP Handler - StyleSheet string `json:"-"` // Costum stylesheet - Rules []*Rule `json:"-"` // Access rules - AllowNew bool // Can create files and folders - AllowEdit bool // Can edit/rename files - AllowCommands bool // Can execute commands - Commands []string // Available Commands -} - -// Allowed checks if the user has permission to access a directory/file -func (u User) Allowed(url string) bool { - var rule *Rule - i := len(u.Rules) - 1 - - for i >= 0 { - rule = u.Rules[i] - - if rule.Regex { - if rule.Regexp.MatchString(url) { - return rule.Allow - } - } else if strings.HasPrefix(url, rule.Path) { - return rule.Allow - } - - i-- - } - - return true -} - -// Command is a user-defined command that is executed in some moments. -type Command func(r *http.Request, c *FileManager, u *User) error diff --git a/frontmatter/frontmatter.go b/frontmatter/frontmatter.go deleted file mode 100644 index 6e2401d8..00000000 --- a/frontmatter/frontmatter.go +++ /dev/null @@ -1,275 +0,0 @@ -package frontmatter - -import ( - "bytes" - "encoding/json" - "errors" - "log" - "reflect" - "sort" - "strconv" - "strings" - - "gopkg.in/yaml.v2" - - "github.com/BurntSushi/toml" - - "github.com/spf13/cast" -) - -const ( - mainName = "#MAIN#" - objectType = "object" - arrayType = "array" -) - -var mainTitle = "" - -// Pretty creates a new FrontMatter object -func Pretty(content []byte) (*Content, string, error) { - data, err := Unmarshal(content) - - if err != nil { - return &Content{}, "", err - } - - kind := reflect.ValueOf(data).Kind() - - if kind == reflect.Invalid { - return &Content{}, "", nil - } - - object := new(Block) - object.Type = objectType - object.Name = mainName - - if kind == reflect.Map { - object.Type = objectType - } else if kind == reflect.Slice || kind == reflect.Array { - object.Type = arrayType - } - - return rawToPretty(data, object), mainTitle, nil -} - -// Unmarshal returns the data of the frontmatter -func Unmarshal(content []byte) (interface{}, error) { - mark := rune(content[0]) - var data interface{} - - switch mark { - case '-': - // If it's YAML - if err := yaml.Unmarshal(content, &data); err != nil { - return nil, err - } - case '+': - // If it's TOML - content = bytes.Replace(content, []byte("+"), []byte(""), -1) - if _, err := toml.Decode(string(content), &data); err != nil { - return nil, err - } - case '{', '[': - // If it's JSON - if err := json.Unmarshal(content, &data); err != nil { - return nil, err - } - default: - return nil, errors.New("Invalid frontmatter type") - } - - return data, nil -} - -// Marshal encodes the interface in a specific format -func Marshal(data interface{}, mark rune) ([]byte, error) { - b := new(bytes.Buffer) - - switch mark { - case '+': - enc := toml.NewEncoder(b) - err := enc.Encode(data) - if err != nil { - return nil, err - } - return b.Bytes(), nil - case '{': - by, err := json.MarshalIndent(data, "", " ") - if err != nil { - return nil, err - } - b.Write(by) - _, err = b.Write([]byte("\n")) - if err != nil { - return nil, err - } - return b.Bytes(), nil - case '-': - by, err := yaml.Marshal(data) - if err != nil { - return nil, err - } - b.Write(by) - _, err = b.Write([]byte("...")) - if err != nil { - return nil, err - } - return b.Bytes(), nil - default: - return nil, errors.New("Unsupported Format provided") - } -} - -// Content is the block content -type Content struct { - Other interface{} - Fields []*Block - Arrays []*Block - Objects []*Block -} - -// Block is a block -type Block struct { - Name string - Title string - Type string - HTMLType string - Content *Content - Parent *Block -} - -func rawToPretty(config interface{}, parent *Block) *Content { - objects := []*Block{} - arrays := []*Block{} - fields := []*Block{} - - cnf := map[string]interface{}{} - kind := reflect.TypeOf(config) - - switch kind { - case reflect.TypeOf(map[interface{}]interface{}{}): - for key, value := range config.(map[interface{}]interface{}) { - cnf[key.(string)] = value - } - case reflect.TypeOf([]map[string]interface{}{}): - for index, value := range config.([]map[string]interface{}) { - cnf[strconv.Itoa(index)] = value - } - case reflect.TypeOf([]map[interface{}]interface{}{}): - for index, value := range config.([]map[interface{}]interface{}) { - cnf[strconv.Itoa(index)] = value - } - case reflect.TypeOf([]interface{}{}): - for index, value := range config.([]interface{}) { - cnf[strconv.Itoa(index)] = value - } - default: - cnf = config.(map[string]interface{}) - } - - for name, element := range cnf { - if isMap(element) { - objects = append(objects, handleObjects(element, parent, name)) - } else if isSlice(element) { - arrays = append(arrays, handleArrays(element, parent, name)) - } else { - if name == "title" && parent.Name == mainName { - mainTitle = element.(string) - } - fields = append(fields, handleFlatValues(element, parent, name)) - } - } - - sort.Sort(sortByTitle(fields)) - sort.Sort(sortByTitle(arrays)) - sort.Sort(sortByTitle(objects)) - return &Content{ - Fields: fields, - Arrays: arrays, - Objects: objects, - } -} - -type sortByTitle []*Block - -func (f sortByTitle) Len() int { return len(f) } -func (f sortByTitle) Swap(i, j int) { f[i], f[j] = f[j], f[i] } -func (f sortByTitle) Less(i, j int) bool { - return strings.ToLower(f[i].Name) < strings.ToLower(f[j].Name) -} - -func handleObjects(content interface{}, parent *Block, name string) *Block { - c := new(Block) - c.Parent = parent - c.Type = objectType - c.Title = name - - if parent.Name == mainName { - c.Name = c.Title - } else if parent.Type == arrayType { - c.Name = parent.Name + "[" + name + "]" - } else { - c.Name = parent.Name + "." + c.Title - } - - c.Content = rawToPretty(content, c) - return c -} - -func handleArrays(content interface{}, parent *Block, name string) *Block { - c := new(Block) - c.Parent = parent - c.Type = arrayType - c.Title = name - - if parent.Name == mainName { - c.Name = name - } else { - c.Name = parent.Name + "." + name - } - - c.Content = rawToPretty(content, c) - return c -} - -func handleFlatValues(content interface{}, parent *Block, name string) *Block { - c := new(Block) - c.Parent = parent - - switch content.(type) { - case bool: - c.Type = "boolean" - case int, float32, float64: - c.Type = "number" - default: - c.Type = "string" - } - - c.Content = &Content{Other: content} - - switch strings.ToLower(name) { - case "description": - c.HTMLType = "textarea" - case "date", "publishdate": - c.HTMLType = "datetime" - c.Content = &Content{Other: cast.ToTime(content)} - default: - c.HTMLType = "text" - } - - if parent.Type == arrayType { - c.Name = parent.Name + "[]" - c.Title = content.(string) - } else if parent.Type == objectType { - c.Title = name - c.Name = parent.Name + "." + name - - if parent.Name == mainName { - c.Name = name - } - } else { - log.Panic("Parent type not allowed in handleFlatValues.") - } - - return c -} diff --git a/frontmatter/runes.go b/frontmatter/runes.go deleted file mode 100644 index b4ad1dc2..00000000 --- a/frontmatter/runes.go +++ /dev/null @@ -1,58 +0,0 @@ -package frontmatter - -import ( - "bytes" - "errors" - "strings" -) - -// HasRune checks if the file has the frontmatter rune -func HasRune(file []byte) bool { - return strings.HasPrefix(string(file), "---") || - strings.HasPrefix(string(file), "+++") || - strings.HasPrefix(string(file), "{") -} - -// AppendRune appends the frontmatter rune to a file -func AppendRune(frontmatter []byte, mark rune) []byte { - frontmatter = bytes.TrimSpace(frontmatter) - - switch mark { - case '-': - return []byte("---\n" + string(frontmatter) + "\n---") - case '+': - return []byte("+++\n" + string(frontmatter) + "\n+++") - case '{': - return []byte("{\n" + string(frontmatter) + "\n}") - } - - return frontmatter -} - -// RuneToStringFormat converts the rune to a string with the format -func RuneToStringFormat(mark rune) (string, error) { - switch mark { - case '-': - return "yaml", nil - case '+': - return "toml", nil - case '{', '}': - return "json", nil - default: - return "", errors.New("Unsupported format type") - } -} - -// StringFormatToRune converts the format name to its rune -func StringFormatToRune(format string) (rune, error) { - switch format { - case "yaml": - return '-', nil - case "toml": - return '+', nil - case "json": - return '{', nil - default: - return '0', errors.New("Unsupported format type") - } -} diff --git a/frontmatter/runes_test.go b/frontmatter/runes_test.go deleted file mode 100644 index 6d120948..00000000 --- a/frontmatter/runes_test.go +++ /dev/null @@ -1,131 +0,0 @@ -package frontmatter - -import "testing" - -type hasRuneTest struct { - File []byte - Return bool -} - -var testHasRune = []hasRuneTest{ - hasRuneTest{ - File: []byte(`--- -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -Sed auctor libero eget ante fermentum commodo. ----`), - Return: true, - }, - hasRuneTest{ - File: []byte(`+++ -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -Sed auctor libero eget ante fermentum commodo. -+++`), - Return: true, - }, - hasRuneTest{ - File: []byte(`{ - "json": "Lorem ipsum dolor sit amet" -}`), - Return: true, - }, - hasRuneTest{ - File: []byte(`+`), - Return: false, - }, - hasRuneTest{ - File: []byte(`++`), - Return: false, - }, - hasRuneTest{ - File: []byte(`-`), - Return: false, - }, - hasRuneTest{ - File: []byte(`--`), - Return: false, - }, - hasRuneTest{ - File: []byte(`Lorem ipsum`), - Return: false, - }, -} - -func TestHasRune(t *testing.T) { - for _, test := range testHasRune { - if HasRune(test.File) != test.Return { - t.Error("Incorrect value on HasRune") - } - } -} - -type appendRuneTest struct { - Before []byte - After []byte - Mark rune -} - -var testAppendRuneTest = []appendRuneTest{} - -func TestAppendRune(t *testing.T) { - for i, test := range testAppendRuneTest { - if !compareByte(AppendRune(test.Before, test.Mark), test.After) { - t.Errorf("Incorrect value on AppendRune of Test %d", i) - } - } -} - -func compareByte(a, b []byte) bool { - if a == nil && b == nil { - return true - } - - if a == nil || b == nil { - return false - } - - if len(a) != len(b) { - return false - } - - for i := range a { - if a[i] != b[i] { - return false - } - } - - return true -} - -var testRuneToStringFormat = map[rune]string{ - '-': "yaml", - '+': "toml", - '{': "json", - '}': "json", - '1': "", - 'a': "", -} - -func TestRuneToStringFormat(t *testing.T) { - for mark, format := range testRuneToStringFormat { - val, _ := RuneToStringFormat(mark) - if val != format { - t.Errorf("Incorrect value on RuneToStringFormat of %v; want: %s; got: %s", mark, format, val) - } - } -} - -var testStringFormatToRune = map[string]rune{ - "yaml": '-', - "toml": '+', - "json": '{', - "lorem": '0', -} - -func TestStringFormatToRune(t *testing.T) { - for format, mark := range testStringFormatToRune { - val, _ := StringFormatToRune(format) - if val != mark { - t.Errorf("Incorrect value on StringFormatToRune of %s; want: %v; got: %v", format, mark, val) - } - } -} diff --git a/frontmatter/types.go b/frontmatter/types.go deleted file mode 100644 index 89ff9b6d..00000000 --- a/frontmatter/types.go +++ /dev/null @@ -1,13 +0,0 @@ -package frontmatter - -import "reflect" - -// isMap checks if some variable is a map -func isMap(sth interface{}) bool { - return reflect.ValueOf(sth).Kind() == reflect.Map -} - -// isSlice checks if some variable is a slice -func isSlice(sth interface{}) bool { - return reflect.ValueOf(sth).Kind() == reflect.Slice -} diff --git a/frontmatter/types_test.go b/frontmatter/types_test.go deleted file mode 100644 index e2f008c3..00000000 --- a/frontmatter/types_test.go +++ /dev/null @@ -1,49 +0,0 @@ -package frontmatter - -import "testing" - -type interfaceToBool struct { - Value interface{} - Result bool -} - -var testIsMap = []*interfaceToBool{ - &interfaceToBool{"teste", false}, - &interfaceToBool{453478, false}, - &interfaceToBool{-984512, false}, - &interfaceToBool{true, false}, - &interfaceToBool{map[string]bool{}, true}, - &interfaceToBool{map[int]bool{}, true}, - &interfaceToBool{map[interface{}]bool{}, true}, - &interfaceToBool{[]string{}, false}, -} - -func TestIsMap(t *testing.T) { - for _, test := range testIsMap { - if isMap(test.Value) != test.Result { - t.Errorf("Incorrect value on IsMap for %v; want: %v; got: %v", test.Value, test.Result, !test.Result) - } - } -} - -var testIsSlice = []*interfaceToBool{ - &interfaceToBool{"teste", false}, - &interfaceToBool{453478, false}, - &interfaceToBool{-984512, false}, - &interfaceToBool{true, false}, - &interfaceToBool{map[string]bool{}, false}, - &interfaceToBool{map[int]bool{}, false}, - &interfaceToBool{map[interface{}]bool{}, false}, - &interfaceToBool{[]string{}, true}, - &interfaceToBool{[]int{}, true}, - &interfaceToBool{[]bool{}, true}, - &interfaceToBool{[]interface{}{}, true}, -} - -func TestIsSlice(t *testing.T) { - for _, test := range testIsSlice { - if isSlice(test.Value) != test.Result { - t.Errorf("Incorrect value on IsSlice for %v; want: %v; got: %v", test.Value, test.Result, !test.Result) - } - } -} diff --git a/http.go b/http.go deleted file mode 100644 index d6c851a1..00000000 --- a/http.go +++ /dev/null @@ -1,168 +0,0 @@ -package filemanager - -import ( - "errors" - "net/http" - "os" - "path/filepath" - "strings" - - "github.com/mholt/caddy/caddyhttp/httpserver" -) - -// ServeHTTP starts FileManager. -func (c *FileManager) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, error) { - var ( - fi *fileInfo - user *User - code int - err error - ) - /* TODO: readd this - // Checks if the URL matches the Assets URL. Returns the asset if the - // method is GET and Status Forbidden otherwise. - if strings.HasPrefix(r.URL.Path, c.BaseURL+assets.BaseURL) { - if r.Method == http.MethodGet { - return assets.Serve(w, r, c) - } - - return http.StatusForbidden, nil - } */ - - // Obtains the user. - username, _, _ := r.BasicAuth() - if _, ok := c.Users[username]; ok { - user = c.Users[username] - } else { - user = c.User - } - - // Checks if the request URL is for the WebDav server - if httpserver.Path(r.URL.Path).Matches(c.WebDavURL) { - // Checks for user permissions relatively to this PATH - if !user.Allowed(strings.TrimPrefix(r.URL.Path, c.WebDavURL)) { - return http.StatusForbidden, nil - } - - switch r.Method { - case "GET", "HEAD": - // Excerpt from RFC4918, section 9.4: - // - // GET, when applied to a collection, may return the contents of an - // "index.html" resource, a human-readable view of the contents of - // the collection, or something else altogether. - // - // It was decided on https://github.com/hacdias/caddy-filemanager/issues/85 - // that GET, for collections, will return the same as PROPFIND method. - path := strings.Replace(r.URL.Path, c.WebDavURL, "", 1) - path = user.Scope + "/" + path - path = filepath.Clean(path) - - var i os.FileInfo - i, err = os.Stat(path) - if err != nil { - // Is there any error? WebDav will handle it... no worries. - break - } - - if i.IsDir() { - r.Method = "PROPFIND" - - if r.Method == "HEAD" { - w = NewResponseWriterNoBody(w) - } - } - case "PROPPATCH", "MOVE", "PATCH", "PUT", "DELETE": - if !user.AllowEdit { - return http.StatusForbidden, nil - } - case "MKCOL", "COPY": - if !user.AllowNew { - return http.StatusForbidden, nil - } - } - - // Preprocess the PUT request if it's the case - if r.Method == http.MethodPut { - if err = c.BeforeSave(r, c, user); err != nil { - return http.StatusInternalServerError, err - } - - if c.preProccessPUT(w, r, user) != nil { - return http.StatusInternalServerError, err - } - } - - c.Handler.ServeHTTP(w, r) - if err = c.AfterSave(r, c, user); err != nil { - return http.StatusInternalServerError, err - } - - return 0, nil - } - - w.Header().Set("x-frame-options", "SAMEORIGIN") - w.Header().Set("x-content-type", "nosniff") - w.Header().Set("x-xss-protection", "1; mode=block") - - // Checks if the User is allowed to access this file - if !user.Allowed(strings.TrimPrefix(r.URL.Path, c.BaseURL)) { - if r.Method == http.MethodGet { - return printError( - w, http.StatusForbidden, - errors.New("You don't have permission to access this page"), - ) - } - - return http.StatusForbidden, nil - } - - if r.URL.Query().Get("search") != "" { - return c.search(w, r, user) - } - - if r.URL.Query().Get("command") != "" { - return c.command(w, r, user) - } - - if r.Method == http.MethodGet { - // Gets the information of the directory/file - fi, err = getFileInfo(r.URL, c, user) - code = errorToHTTPCode(err, false) - if err != nil { - if r.Method == http.MethodGet { - return printError(w, code, err) - } - return code, err - } - - // If it's a dir and the path doesn't end with a trailing slash, - // redirect the user. - if fi.IsDir && !strings.HasSuffix(r.URL.Path, "/") { - http.Redirect(w, r, c.PrefixURL+r.URL.Path+"/", http.StatusTemporaryRedirect) - return 0, nil - } - - switch { - case r.URL.Query().Get("download") != "": - code, err = c.download(w, r, fi) - case r.URL.Query().Get("raw") == "true" && !fi.IsDir: - http.ServeFile(w, r, fi.Path) - code, err = 0, nil - case !fi.IsDir && r.URL.Query().Get("checksum") != "": - code, err = c.checksum(w, r, fi) - case fi.IsDir: - code, err = c.serveListing(w, r, user, fi) - default: - code, err = c.serveSingle(w, r, user, fi) - } - - if err != nil { - code, err = printError(w, code, err) - } - - return code, err - } - - return http.StatusNotImplemented, nil -} diff --git a/http_checksum.go b/http_checksum.go deleted file mode 100644 index 58f9fe0e..00000000 --- a/http_checksum.go +++ /dev/null @@ -1,50 +0,0 @@ -package filemanager - -import ( - "crypto/md5" - "crypto/sha1" - "crypto/sha256" - "crypto/sha512" - "encoding/hex" - "errors" - "hash" - "io" - "net/http" - "os" -) - -// checksum calculates the hash of a filemanager. Supports MD5, SHA1, SHA256 and SHA512. -func (c *FileManager) checksum(w http.ResponseWriter, r *http.Request, i *fileInfo) (int, error) { - query := r.URL.Query().Get("checksum") - - file, err := os.Open(i.Path) - if err != nil { - return errorToHTTPCode(err, true), err - } - - defer file.Close() - - var h hash.Hash - - switch query { - case "md5": - h = md5.New() - case "sha1": - h = sha1.New() - case "sha256": - h = sha256.New() - case "sha512": - h = sha512.New() - default: - return http.StatusBadRequest, errors.New("Unknown HASH type") - } - - _, err = io.Copy(h, file) - if err != nil { - return http.StatusInternalServerError, err - } - - val := hex.EncodeToString(h.Sum(nil)) - w.Write([]byte(val)) - return http.StatusOK, nil -} diff --git a/http_command.go b/http_command.go deleted file mode 100644 index 3893473b..00000000 --- a/http_command.go +++ /dev/null @@ -1,135 +0,0 @@ -package filemanager - -import ( - "bytes" - "net/http" - "os/exec" - "path/filepath" - "strings" - "time" - - "github.com/gorilla/websocket" -) - -var upgrader = websocket.Upgrader{ - ReadBufferSize: 1024, - WriteBufferSize: 1024, -} - -var ( - cmdNotImplemented = []byte("Command not implemented.") - cmdNotAllowed = []byte("Command not allowed.") -) - -// command handles the requests for VCS related commands: git, svn and mercurial -func (c *FileManager) command(w http.ResponseWriter, r *http.Request, u *User) (int, error) { - // Upgrades the connection to a websocket and checks for errors. - conn, err := upgrader.Upgrade(w, r, nil) - if err != nil { - return 0, err - } - defer conn.Close() - - var ( - message []byte - command []string - ) - - // Starts an infinite loop until a valid command is captured. - for { - _, message, err = conn.ReadMessage() - if err != nil { - return http.StatusInternalServerError, err - } - - command = strings.Split(string(message), " ") - if len(command) != 0 { - break - } - } - - // Check if the command is allowed - allowed := false - - for _, cmd := range u.Commands { - if cmd == command[0] { - allowed = true - } - } - - if !allowed { - err = conn.WriteMessage(websocket.BinaryMessage, cmdNotAllowed) - if err != nil { - return http.StatusInternalServerError, err - } - - return 0, nil - } - - // Check if the program is talled is installed on the computer. - if _, err = exec.LookPath(command[0]); err != nil { - err = conn.WriteMessage(websocket.BinaryMessage, cmdNotImplemented) - if err != nil { - return http.StatusInternalServerError, err - } - - return http.StatusNotImplemented, nil - } - - // Gets the path and initializes a buffer. - path := strings.Replace(r.URL.Path, c.BaseURL, c.Scope, 1) - path = filepath.Clean(path) - buff := new(bytes.Buffer) - - // Sets up the command executation. - cmd := exec.Command(command[0], command[1:]...) - cmd.Dir = path - cmd.Stderr = buff - cmd.Stdout = buff - - // Starts the command and checks for errors. - err = cmd.Start() - if err != nil { - return http.StatusInternalServerError, err - } - - // Set a 'done' variable to check whetever the command has already finished - // running or not. This verification is done using a goroutine that uses the - // method .Wait() from the command. - done := false - go func() { - err = cmd.Wait() - done = true - }() - - // Function to print the current information on the buffer to the connection. - print := func() error { - by := buff.Bytes() - if len(by) > 0 { - err = conn.WriteMessage(websocket.TextMessage, by) - if err != nil { - return err - } - } - - return nil - } - - // While the command hasn't finished running, continue sending the output - // to the client in intervals of 100 milliseconds. - for !done { - if err = print(); err != nil { - return http.StatusInternalServerError, err - } - - time.Sleep(100 * time.Millisecond) - } - - // After the command is done executing, send the output one more time to the - // browser to make sure it gets the latest information. - if err = print(); err != nil { - return http.StatusInternalServerError, err - } - - return 0, nil -} diff --git a/http_download.go b/http_download.go deleted file mode 100644 index f1556153..00000000 --- a/http_download.go +++ /dev/null @@ -1,95 +0,0 @@ -package filemanager - -import ( - "io" - "io/ioutil" - "net/http" - "net/url" - "os" - "path/filepath" - "strings" - - "github.com/mholt/archiver" -) - -// download creates an archive in one of the supported formats (zip, tar, -// tar.gz or tar.bz2) and sends it to be downloaded. -func (c *FileManager) download(w http.ResponseWriter, r *http.Request, i *fileInfo) (int, error) { - query := r.URL.Query().Get("download") - - if !i.IsDir { - w.Header().Set("Content-Disposition", "attachment; filename="+i.Name) - http.ServeFile(w, r, i.Path) - return 0, nil - } - - files := []string{} - names := strings.Split(r.URL.Query().Get("files"), ",") - - if len(names) != 0 { - for _, name := range names { - name, err := url.QueryUnescape(name) - - if err != nil { - return http.StatusInternalServerError, err - } - - files = append(files, filepath.Join(i.Path, name)) - } - - } else { - files = append(files, i.Path) - } - - if query == "true" { - query = "zip" - } - - var ( - extension string - temp string - err error - tempfile string - ) - - temp, err = ioutil.TempDir("", "") - if err != nil { - return http.StatusInternalServerError, err - } - - defer os.RemoveAll(temp) - tempfile = filepath.Join(temp, "temp") - - switch query { - case "zip": - extension, err = ".zip", archiver.Zip.Make(tempfile, files) - case "tar": - extension, err = ".tar", archiver.Tar.Make(tempfile, files) - case "targz": - extension, err = ".tar.gz", archiver.TarGz.Make(tempfile, files) - case "tarbz2": - extension, err = ".tar.bz2", archiver.TarBz2.Make(tempfile, files) - case "tarxz": - extension, err = ".tar.xz", archiver.TarXZ.Make(tempfile, files) - default: - return http.StatusNotImplemented, nil - } - - if err != nil { - return http.StatusInternalServerError, err - } - - file, err := os.Open(temp + "/temp") - if err != nil { - return http.StatusInternalServerError, err - } - - name := i.Name - if name == "." || name == "" { - name = "download" - } - - w.Header().Set("Content-Disposition", "attachment; filename="+name+extension) - io.Copy(w, file) - return http.StatusOK, nil -} diff --git a/http_listing.go b/http_listing.go deleted file mode 100644 index 11480a88..00000000 --- a/http_listing.go +++ /dev/null @@ -1,144 +0,0 @@ -package filemanager - -import ( - "encoding/json" - "net/http" - "strconv" - "strings" - - "github.com/mholt/caddy/caddyhttp/httpserver" -) - -// serveListing presents the user with a listage of a directory folder. -func (c *FileManager) serveListing(w http.ResponseWriter, r *http.Request, u *User, i *fileInfo) (int, error) { - var err error - - // Loads the content of the directory - listing, err := getListing(u, i.VirtualPath, c.PrefixURL+r.URL.Path) - if err != nil { - return errorToHTTPCode(err, true), err - } - - listing.Context = httpserver.Context{ - Root: http.Dir(u.Scope), - Req: r, - URL: r.URL, - } - - cookieScope := c.BaseURL - if cookieScope == "" { - cookieScope = "/" - } - - // Copy the query values into the Listing struct - var limit int - listing.Sort, listing.Order, limit, err = handleSortOrder(w, r, cookieScope) - if err != nil { - return http.StatusBadRequest, err - } - - listing.ApplySort() - - if limit > 0 && limit <= len(listing.Items) { - listing.Items = listing.Items[:limit] - listing.ItemsLimitedTo = limit - } - - if strings.Contains(r.Header.Get("Accept"), "application/json") { - marsh, err := json.Marshal(listing.Items) - if err != nil { - return http.StatusInternalServerError, err - } - - w.Header().Set("Content-Type", "application/json; charset=utf-8") - if _, err := w.Write(marsh); err != nil { - return http.StatusInternalServerError, err - } - - return http.StatusOK, nil - } - - displayMode := r.URL.Query().Get("display") - - if displayMode == "" { - if displayCookie, err := r.Cookie("display"); err == nil { - displayMode = displayCookie.Value - } - } - - if displayMode == "" || (displayMode != "mosaic" && displayMode != "list") { - displayMode = "mosaic" - } - - http.SetCookie(w, &http.Cookie{ - Name: "display", - Value: displayMode, - Path: cookieScope, - Secure: r.TLS != nil, - }) - - page := &page{ - Minimal: r.Header.Get("Minimal") == "true", - Info: &pageInfo{ - Name: listing.Name, - Path: i.VirtualPath, - IsDir: true, - User: u, - Config: c, - Display: displayMode, - Data: listing, - }, - } - - return page.PrintHTML(w, "listing") -} - -// handleSortOrder gets and stores for a Listing the 'sort' and 'order', -// and reads 'limit' if given. The latter is 0 if not given. Sets cookies. -func handleSortOrder(w http.ResponseWriter, r *http.Request, scope string) (sort string, order string, limit int, err error) { - sort = r.URL.Query().Get("sort") - order = r.URL.Query().Get("order") - limitQuery := r.URL.Query().Get("limit") - - // If the query 'sort' or 'order' is empty, use defaults or any values - // previously saved in Cookies. - switch sort { - case "": - sort = "name" - if sortCookie, sortErr := r.Cookie("sort"); sortErr == nil { - sort = sortCookie.Value - } - case "name", "size", "type": - http.SetCookie(w, &http.Cookie{ - Name: "sort", - Value: sort, - Path: scope, - Secure: r.TLS != nil, - }) - } - - switch order { - case "": - order = "asc" - if orderCookie, orderErr := r.Cookie("order"); orderErr == nil { - order = orderCookie.Value - } - case "asc", "desc": - http.SetCookie(w, &http.Cookie{ - Name: "order", - Value: order, - Path: scope, - Secure: r.TLS != nil, - }) - } - - if limitQuery != "" { - limit, err = strconv.Atoi(limitQuery) - // If the 'limit' query can't be interpreted as a number, return err. - if err != nil { - return - } - } - - return -} diff --git a/http_put.go b/http_put.go deleted file mode 100644 index fa41658e..00000000 --- a/http_put.go +++ /dev/null @@ -1,138 +0,0 @@ -package filemanager - -import ( - "bytes" - "encoding/json" - "errors" - "io/ioutil" - "net/http" - "path/filepath" - "strconv" - "strings" - - "github.com/hacdias/filemanager/frontmatter" -) - -// preProccessPUT is used to update a file that was edited -func (c *FileManager) preProccessPUT(w http.ResponseWriter, r *http.Request, u *User) (err error) { - var ( - data = map[string]interface{}{} - file []byte - kind string - rawBuffer = new(bytes.Buffer) - ) - - kind = r.Header.Get("kind") - rawBuffer.ReadFrom(r.Body) - - if kind != "" { - err = json.Unmarshal(rawBuffer.Bytes(), &data) - - if err != nil { - return - } - } - - switch kind { - case "frontmatter-only": - if file, err = ParseFrontMatterOnlyFile(data, r.URL.Path); err != nil { - return - } - case "content-only": - mainContent := data["content"].(string) - mainContent = strings.TrimSpace(mainContent) - file = []byte(mainContent) - case "complete": - var mark rune - - if v := r.Header.Get("Rune"); v != "" { - var n int - n, err = strconv.Atoi(v) - if err != nil { - return err - } - - mark = rune(n) - } - - if file, err = ParseCompleteFile(data, r.URL.Path, mark); err != nil { - return - } - default: - file = rawBuffer.Bytes() - } - - // Overwrite the request Body - r.Body = ioutil.NopCloser(bytes.NewReader(file)) - return -} - -// ParseFrontMatterOnlyFile parses a frontmatter only file -func ParseFrontMatterOnlyFile(data interface{}, filename string) ([]byte, error) { - frontmatter := strings.TrimPrefix(filepath.Ext(filename), ".") - f, err := ParseFrontMatter(data, frontmatter) - fString := string(f) - - // If it's toml or yaml, strip frontmatter identifier - if frontmatter == "toml" { - fString = strings.TrimSuffix(fString, "+++\n") - fString = strings.TrimPrefix(fString, "+++\n") - } - - if frontmatter == "yaml" { - fString = strings.TrimSuffix(fString, "---\n") - fString = strings.TrimPrefix(fString, "---\n") - } - - f = []byte(fString) - return f, err -} - -// ParseFrontMatter is the frontmatter parser -func ParseFrontMatter(data interface{}, front string) ([]byte, error) { - var mark rune - - switch front { - case "toml": - mark = '+' - case "json": - mark = '{' - case "yaml": - mark = '-' - default: - return nil, errors.New("Unsupported Format provided") - } - - return frontmatter.Marshal(data, mark) -} - -// ParseCompleteFile parses a complete file -func ParseCompleteFile(data map[string]interface{}, filename string, mark rune) ([]byte, error) { - mainContent := "" - - if _, ok := data["content"]; ok { - // The main content of the file - mainContent = data["content"].(string) - mainContent = "\n\n" + strings.TrimSpace(mainContent) + "\n" - - // Removes the main content from the rest of the frontmatter - delete(data, "content") - } - - if _, ok := data["date"]; ok { - data["date"] = data["date"].(string) + ":00" - } - - front, err := frontmatter.Marshal(data, mark) - if err != nil { - return []byte{}, err - } - - front = frontmatter.AppendRune(front, mark) - - // Generates the final file - f := new(bytes.Buffer) - f.Write(front) - f.Write([]byte(mainContent)) - return f.Bytes(), nil -} diff --git a/http_search.go b/http_search.go deleted file mode 100644 index 9e656de2..00000000 --- a/http_search.go +++ /dev/null @@ -1,117 +0,0 @@ -package filemanager - -import ( - "net/http" - "os" - "path/filepath" - "strings" - - "github.com/gorilla/websocket" -) - -type searchOptions struct { - CaseInsensitive bool - Terms []string -} - -func parseSearch(value string) *searchOptions { - opts := &searchOptions{ - CaseInsensitive: strings.Contains(value, "case:insensitive"), - } - - // removes the options from the value - value = strings.Replace(value, "case:insensitive", "", -1) - value = strings.Replace(value, "case:sensitive", "", -1) - value = strings.TrimSpace(value) - - if opts.CaseInsensitive { - value = strings.ToLower(value) - } - - // if the value starts with " and finishes what that character, we will - // only search for that term - if value[0] == '"' && value[len(value)-1] == '"' { - unique := strings.TrimPrefix(value, "\"") - unique = strings.TrimSuffix(unique, "\"") - - opts.Terms = []string{unique} - return opts - } - - opts.Terms = strings.Split(value, " ") - return opts -} - -// search ... -func (c *FileManager) search(w http.ResponseWriter, r *http.Request, u *User) (int, error) { - // Upgrades the connection to a websocket and checks for errors. - conn, err := upgrader.Upgrade(w, r, nil) - if err != nil { - return 0, err - } - defer conn.Close() - - var ( - value string - search *searchOptions - message []byte - ) - - // Starts an infinite loop until a valid command is captured. - for { - _, message, err = conn.ReadMessage() - if err != nil { - return http.StatusInternalServerError, err - } - - if len(message) != 0 { - value = string(message) - break - } - } - - search = parseSearch(value) - scope := strings.Replace(r.URL.Path, c.BaseURL, "", 1) - scope = strings.TrimPrefix(scope, "/") - scope = "/" + scope - scope = u.Scope + scope - scope = strings.Replace(scope, "\\", "/", -1) - scope = filepath.Clean(scope) - - err = filepath.Walk(scope, func(path string, f os.FileInfo, err error) error { - if search.CaseInsensitive { - path = strings.ToLower(path) - } - - path = strings.Replace(path, "\\", "/", -1) - is := false - - for _, term := range search.Terms { - if is { - break - } - - if strings.Contains(path, term) { - if !u.Allowed(path) { - return nil - } - - is = true - } - } - - if !is { - return nil - } - - path = strings.TrimPrefix(path, scope) - path = strings.TrimPrefix(path, "/") - return conn.WriteMessage(websocket.TextMessage, []byte(path)) - }) - - if err != nil { - return http.StatusInternalServerError, err - } - - return http.StatusOK, nil -} diff --git a/http_single.go b/http_single.go deleted file mode 100644 index 32f9dbed..00000000 --- a/http_single.go +++ /dev/null @@ -1,50 +0,0 @@ -package filemanager - -import ( - "net/http" - "strings" -) - -// serveSingle serves a single file in an editor (if it is editable), shows the -// plain file, or downloads it if it can't be shown. -func (c *FileManager) serveSingle(w http.ResponseWriter, r *http.Request, u *User, i *fileInfo) (int, error) { - var err error - - if err = i.RetrieveFileType(); err != nil { - return errorToHTTPCode(err, true), err - } - - p := &page{ - Info: &pageInfo{ - Name: i.Name, - Path: i.VirtualPath, - IsDir: false, - Data: i, - User: u, - Config: c, - }, - } - - // If the request accepts JSON, we send the file information. - if strings.Contains(r.Header.Get("Accept"), "application/json") { - return p.PrintJSON(w) - } - - if i.Type == "text" { - if err = i.Read(); err != nil { - return errorToHTTPCode(err, true), err - } - } - - if i.CanBeEdited() && u.AllowEdit { - p.Info.Data, err = newEditor(r, i) - p.Info.Editor = true - if err != nil { - return http.StatusInternalServerError, err - } - - return p.PrintHTML(w, "frontmatter", "editor") - } - - return p.PrintHTML(w, "single") -} diff --git a/listing.go b/listing.go deleted file mode 100644 index 0b4468c9..00000000 --- a/listing.go +++ /dev/null @@ -1,184 +0,0 @@ -package filemanager - -import ( - "context" - "net/url" - "os" - "path" - "sort" - "strings" - - "github.com/mholt/caddy/caddyhttp/httpserver" -) - -// A listing is the context used to fill out a template. -type listing struct { - // The name of the directory (the last element of the path) - Name string - // The full path of the request relatively to a File System - Path string - // The items (files and folders) in the path - Items []fileInfo - // The number of directories in the listing - NumDirs int - // The number of files (items that aren't directories) in the listing - NumFiles int - // Which sorting order is used - Sort string - // And which order - Order string - // If ≠0 then Items have been limited to that many elements - ItemsLimitedTo int - httpserver.Context `json:"-"` -} - -// getListing gets the information about a specific directory and its files. -func getListing(u *User, filePath string, baseURL string) (*listing, error) { - // Gets the directory information using the Virtual File System of - // the user configuration. - file, err := u.FileSystem.OpenFile(context.TODO(), filePath, os.O_RDONLY, 0) - if err != nil { - return nil, err - } - defer file.Close() - - // Reads the directory and gets the information about the files. - files, err := file.Readdir(-1) - if err != nil { - return nil, err - } - - var ( - fileinfos []fileInfo - dirCount, fileCount int - ) - - for _, f := range files { - name := f.Name() - allowed := u.Allowed("/" + name) - - if !allowed { - continue - } - - if f.IsDir() { - name += "/" - dirCount++ - } else { - fileCount++ - } - - // Absolute URL - url := url.URL{Path: baseURL + name} - - i := fileInfo{ - Name: f.Name(), - Size: f.Size(), - ModTime: f.ModTime(), - Mode: f.Mode(), - IsDir: f.IsDir(), - URL: url.String(), - UserAllowed: allowed, - } - i.RetrieveFileType() - - fileinfos = append(fileinfos, i) - } - - return &listing{ - Name: path.Base(filePath), - Path: filePath, - Items: fileinfos, - NumDirs: dirCount, - NumFiles: fileCount, - }, nil -} - -// ApplySort applies the sort order using .Order and .Sort -func (l listing) ApplySort() { - // Check '.Order' to know how to sort - if l.Order == "desc" { - switch l.Sort { - case "name": - sort.Sort(sort.Reverse(byName(l))) - case "size": - sort.Sort(sort.Reverse(bySize(l))) - case "time": - sort.Sort(sort.Reverse(byTime(l))) - default: - // If not one of the above, do nothing - return - } - } else { // If we had more Orderings we could add them here - switch l.Sort { - case "name": - sort.Sort(byName(l)) - case "size": - sort.Sort(bySize(l)) - case "time": - sort.Sort(byTime(l)) - default: - sort.Sort(byName(l)) - return - } - } -} - -// Implement sorting for listing -type byName listing -type bySize listing -type byTime listing - -// By Name -func (l byName) Len() int { - return len(l.Items) -} - -func (l byName) Swap(i, j int) { - l.Items[i], l.Items[j] = l.Items[j], l.Items[i] -} - -// Treat upper and lower case equally -func (l byName) Less(i, j int) bool { - if l.Items[i].IsDir && !l.Items[j].IsDir { - return true - } - - if !l.Items[i].IsDir && l.Items[j].IsDir { - return false - } - - return strings.ToLower(l.Items[i].Name) < strings.ToLower(l.Items[j].Name) -} - -// By Size -func (l bySize) Len() int { - return len(l.Items) -} - -func (l bySize) Swap(i, j int) { - l.Items[i], l.Items[j] = l.Items[j], l.Items[i] -} - -const directoryOffset = -1 << 31 // = math.MinInt32 -func (l bySize) Less(i, j int) bool { - iSize, jSize := l.Items[i].Size, l.Items[j].Size - if l.Items[i].IsDir { - iSize = directoryOffset + iSize - } - if l.Items[j].IsDir { - jSize = directoryOffset + jSize - } - return iSize < jSize -} - -// By Time -func (l byTime) Len() int { - return len(l.Items) -} -func (l byTime) Swap(i, j int) { - l.Items[i], l.Items[j] = l.Items[j], l.Items[i] -} -func (l byTime) Less(i, j int) bool { - return l.Items[i].ModTime.Before(l.Items[j].ModTime) -} diff --git a/page.go b/page.go deleted file mode 100644 index 0e44acd6..00000000 --- a/page.go +++ /dev/null @@ -1,219 +0,0 @@ -package filemanager - -import ( - "bytes" - "encoding/json" - "errors" - "html/template" - "log" - "net/http" - "strconv" - "strings" -) - -// Create the functions map, then the template, check for erros and -// execute the template if there aren't errors -var functionMap = template.FuncMap{ - "Defined": defined, - "CSS": css, - "Marshal": marshal, - "EncodeBase64": encodeBase64, -} - -// page contains the informations and functions needed to show the Page -type page struct { - Info *pageInfo - Minimal bool -} - -// pageInfo contains the information of a Page -type pageInfo struct { - Name string - Path string - IsDir bool - User *User - Config *FileManager - Data interface{} - Editor bool - Display string -} - -// BreadcrumbMapItem ... -type BreadcrumbMapItem struct { - Name string - URL string -} - -// BreadcrumbMap returns p.Path where every element is a map -// of URLs and path segment names. -func (i pageInfo) BreadcrumbMap() []BreadcrumbMapItem { - result := []BreadcrumbMapItem{} - - if len(i.Path) == 0 { - return result - } - - // skip trailing slash - lpath := i.Path - if lpath[len(lpath)-1] == '/' { - lpath = lpath[:len(lpath)-1] - } - - parts := strings.Split(lpath, "/") - for i, part := range parts { - if i == len(parts)-1 { - continue - } - - if i == 0 && part == "" { - result = append([]BreadcrumbMapItem{{ - Name: "/", - URL: "/", - }}, result...) - continue - } - - result = append([]BreadcrumbMapItem{{ - Name: part, - URL: strings.Join(parts[:i+1], "/") + "/", - }}, result...) - } - - return result -} - -// PreviousLink returns the path of the previous folder -func (i pageInfo) PreviousLink() string { - path := strings.TrimSuffix(i.Path, "/") - path = strings.TrimPrefix(path, "/") - path = i.Config.AbsoluteURL() + "/" + path - path = path[0 : len(path)-len(i.Name)] - - if len(path) < len(i.Config.AbsoluteURL()+"/") { - return "" - } - - return path -} - -// PrintHTML formats the page in HTML and executes the template -func (p page) PrintHTML(w http.ResponseWriter, templates ...string) (int, error) { - - if p.Minimal { - templates = append(templates, "minimal") - } else { - templates = append(templates, "base") - } - - var tpl *template.Template - - // For each template, add it to the the tpl variable - for i, t := range templates { - // Get the template from the assets - //Page, err := assets.Asset("templates/" + t + ".tmpl") - Page, err := []byte("Shit"), errors.New("Hello") - - // Check if there is some error. If so, the template doesn't exist - if err != nil { - log.Print(err) - return http.StatusInternalServerError, err - } - - // If it's the first iteration, creates a new template and add the - // functions map - if i == 0 { - tpl, err = template.New(t).Funcs(functionMap).Parse(string(Page)) - } else { - tpl, err = tpl.Parse(string(Page)) - } - - if err != nil { - log.Print(err) - return http.StatusInternalServerError, err - } - } - - buf := &bytes.Buffer{} - err := tpl.Execute(buf, p.Info) - - if err != nil { - return http.StatusInternalServerError, err - } - - w.Header().Set("Content-Type", "text/html; charset=utf-8") - _, err = buf.WriteTo(w) - return http.StatusOK, err -} - -// PrintJSON prints the current Page information in JSON -func (p page) PrintJSON(w http.ResponseWriter) (int, error) { - marsh, err := json.MarshalIndent(p.Info.Data, "", " ") - if err != nil { - return http.StatusInternalServerError, err - } - - w.Header().Set("Content-Type", "application/json; charset=utf-8") - if _, err := w.Write(marsh); err != nil { - return http.StatusInternalServerError, err - } - - return http.StatusOK, nil -} - -// printError prints the error page -func printError(w http.ResponseWriter, code int, err error) (int, error) { - tpl := errorTemplate - tpl = strings.Replace(tpl, "TITLE", strconv.Itoa(code)+" "+http.StatusText(code), -1) - tpl = strings.Replace(tpl, "CODE", err.Error(), -1) - - _, err = w.Write([]byte(tpl)) - - if err != nil { - return http.StatusInternalServerError, err - } - return http.StatusOK, nil -} - -const errorTemplate = ` - - - TITLE - - - - - - -
    -

    TITLE

    - -

    Try reloading the page or hitting the back button. If this error persists, it seems that you may have found a bug! Please create an issue at hacdias/caddy-filemanager repository on GitHub with the code below.

    - - CODE -
    -` diff --git a/pre-build.sh b/pre-build.sh deleted file mode 100644 index 493b588b..00000000 --- a/pre-build.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -go get github.com/jteeuwen/go-bindata/go-bindata - -go-bindata -debug -pkg assets -prefix "_embed" \ - -o assets/binary.go -ignore "^.*theme-([^g]|g[^i]|gi[^t]|git[^h]|gith[^u]|githu[^b]).*\.js$" \ - _embed/templates/... _embed/public/js/... _embed/public/css/... _embed/public/ace/src-min/... \ \ No newline at end of file diff --git a/response_writer.go b/response_writer.go deleted file mode 100644 index 496971d4..00000000 --- a/response_writer.go +++ /dev/null @@ -1,29 +0,0 @@ -package filemanager - -import "net/http" - -// ResponseWriterNoBody is a wrapper used to suprress the body of the response -// to a request. Mainly used for HEAD requests. -type ResponseWriterNoBody struct { - http.ResponseWriter -} - -// NewResponseWriterNoBody creates a new ResponseWriterNoBody. -func NewResponseWriterNoBody(w http.ResponseWriter) *ResponseWriterNoBody { - return &ResponseWriterNoBody{w} -} - -// Header executes the Header method from the http.ResponseWriter. -func (w ResponseWriterNoBody) Header() http.Header { - return w.ResponseWriter.Header() -} - -// Write suprresses the body. -func (w ResponseWriterNoBody) Write(data []byte) (int, error) { - return 0, nil -} - -// WriteHeader writes the header to the http.ResponseWriter. -func (w ResponseWriterNoBody) WriteHeader(statusCode int) { - w.ResponseWriter.WriteHeader(statusCode) -} diff --git a/utils.go b/utils.go deleted file mode 100644 index bb8592ce..00000000 --- a/utils.go +++ /dev/null @@ -1,58 +0,0 @@ -package filemanager - -import ( - "encoding/base64" - "encoding/json" - "html/template" - "log" - "net/http" - "os" - "reflect" -) - -// defined checks if variable is defined in a struct -func defined(data interface{}, field string) bool { - t := reflect.Indirect(reflect.ValueOf(data)).Type() - - if t.Kind() != reflect.Struct { - log.Print("Non-struct type not allowed.") - return false - } - - _, b := t.FieldByName(field) - return b -} - -// css returns the sanitized and safe css -func css(s string) template.CSS { - return template.CSS(s) -} - -// marshal converts an interface to json and sanitizes it -func marshal(v interface{}) template.JS { - a, _ := json.Marshal(v) - return template.JS(a) -} - -// encodeBase64 encodes a string in base 64 -func encodeBase64(s string) string { - return base64.StdEncoding.EncodeToString([]byte(s)) -} - -// errorToHTTPCode converts errors to HTTP Status Code. -func errorToHTTPCode(err error, gone bool) int { - switch { - case os.IsPermission(err): - return http.StatusForbidden - case os.IsNotExist(err): - if !gone { - return http.StatusNotFound - } - - return http.StatusGone - case os.IsExist(err): - return http.StatusGone - default: - return http.StatusInternalServerError - } -} diff --git a/utils_test.go b/utils_test.go deleted file mode 100644 index 7c5b5c8a..00000000 --- a/utils_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package filemanager - -import "testing" - -type testDefinedData struct { - f1 string - f2 bool - f3 int - f4 func() -} - -type testDefined struct { - data interface{} - field string - result bool -} - -var testDefinedCases = []testDefined{ - {testDefinedData{}, "f1", true}, - {testDefinedData{}, "f2", true}, - {testDefinedData{}, "f3", true}, - {testDefinedData{}, "f4", true}, - {testDefinedData{}, "f5", false}, - {[]string{}, "", false}, - {map[string]int{"oi": 4}, "", false}, - {"asa", "", false}, - {"int", "", false}, -} - -func TestDefined(t *testing.T) { - for _, pair := range testDefinedCases { - v := defined(pair.data, pair.field) - if v != pair.result { - t.Error( - "For", pair.data, - "expected", pair.result, - "got", v, - ) - } - } -}