From 20c252e5c6f8181bf3e6f8aeced0cc7277030d54 Mon Sep 17 00:00:00 2001 From: Pierre Bondoerffer <pierre@bondoer.fr> Date: Fri, 14 Apr 2017 12:45:45 +0200 Subject: [PATCH 001/236] fix placeholder styling in safari --- www/poll/poll.css | 3 +++ www/poll/poll.less | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/www/poll/poll.css b/www/poll/poll.css index 321121b59..030b8898e 100644 --- a/www/poll/poll.css +++ b/www/poll/poll.css @@ -32,6 +32,9 @@ textarea[disabled] { font: white; border: 0px; } +input[type="text"]::placeholder { + color: #333; +} table#table { margin: 0px; } diff --git a/www/poll/poll.less b/www/poll/poll.less index 7292b0e15..2ae85c25c 100644 --- a/www/poll/poll.less +++ b/www/poll/poll.less @@ -3,6 +3,7 @@ @poll-th-bg: #aaa; @poll-td-bg: #aaa; +@poll-placeholder: #333; @poll-border-color: #555; @poll-cover-color: #000; @poll-fg: #000; @@ -42,6 +43,14 @@ input[type="text"][disabled], textarea[disabled] { font: white; border: 0px; } + +// The placeholder color only seems to effect Safari when not set, but +// setting others just in case. + +input[type="text"]::placeholder { + color: @poll-placeholder; +} + table#table { margin: 0px; } From 05785e96ea112435bd5cc1648e79362eaa9abe25 Mon Sep 17 00:00:00 2001 From: Pierre Bondoerffer <pierre@bondoer.fr> Date: Fri, 14 Apr 2017 17:47:05 +0200 Subject: [PATCH 002/236] small color change --- www/poll/poll.less | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/www/poll/poll.less b/www/poll/poll.less index 2ae85c25c..369c44f0f 100644 --- a/www/poll/poll.less +++ b/www/poll/poll.less @@ -3,7 +3,7 @@ @poll-th-bg: #aaa; @poll-td-bg: #aaa; -@poll-placeholder: #333; +@poll-placeholder: #666; @poll-border-color: #555; @poll-cover-color: #000; @poll-fg: #000; @@ -44,8 +44,7 @@ input[type="text"][disabled], textarea[disabled] { border: 0px; } -// The placeholder color only seems to effect Safari when not set, but -// setting others just in case. +// The placeholder color only seems to effect Safari when not set input[type="text"]::placeholder { color: @poll-placeholder; From 7a05462eb3ff312b57b1955478f9170c66c6c366 Mon Sep 17 00:00:00 2001 From: Pierre Bondoerffer <pierre@bondoer.fr> Date: Fri, 14 Apr 2017 19:34:58 +0200 Subject: [PATCH 003/236] Some more poll changes <3 --- customize.dist/translations/messages.es.js | 5 +++++ customize.dist/translations/messages.js | 5 +++++ www/poll/main.js | 6 +++--- www/poll/poll.css | 17 ++++++++++++----- www/poll/poll.less | 13 +++++++++---- www/poll/render.js | 18 ++++++++---------- 6 files changed, 42 insertions(+), 22 deletions(-) diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js index cfe682c48..9e6c8ceb7 100644 --- a/customize.dist/translations/messages.es.js +++ b/customize.dist/translations/messages.es.js @@ -356,5 +356,10 @@ define(function () { out.register_warning = "Zero Knowledge significa que no podemos recuperar tus datos si pierdes tu contraseña."; out.register_alreadyRegistered = "Este usuario ya existe, ¿iniciar sesión?"; + out.poll_remove = "Quitar"; + out.poll_edit = "Editar"; + out.poll_locked = "Cerrado"; + out.poll_unlocked = "Abierto"; + return out; }); diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 66f771033..7055a2b86 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -151,6 +151,11 @@ define(function () { out.poll_titleHint = "Title"; out.poll_descriptionHint = "Describe your poll, and use the 'publish' button when you're done. Anyone with the link can change the description, but this is discouraged."; + out.poll_remove = "Remove"; + out.poll_edit = "Edit"; + out.poll_locked = "Locked"; + out.poll_unlocked = "Unlocked"; + // Canvas out.canvas_clear = "Clear"; out.canvas_delete = "Delete selection"; diff --git a/www/poll/main.js b/www/poll/main.js index 8170f7e9d..d6522660f 100644 --- a/www/poll/main.js +++ b/www/poll/main.js @@ -114,7 +114,7 @@ define([ $('input[disabled="disabled"][data-rt-id^="' + id + '"]').removeAttr('disabled'); $('input[type="checkbox"][data-rt-id^="' + id + '"]').addClass('enabled'); $('[data-rt-id="' + id + '"] ~ .edit').css('visibility', 'hidden'); - $('.lock[data-rt-id="' + id + '"]').html(unlockHTML); + $('.lock[data-rt-id="' + id + '"]').html(unlockHTML).attr('title', Messages.poll_unlocked); if (isOwnColumnCommitted()) { return; } $('[data-rt-id^="' + id + '"]').closest('td').addClass("uncommitted"); @@ -132,7 +132,7 @@ define([ $('input[disabled="disabled"][data-rt-id^="' + id + '"]').removeAttr('disabled'); $('input[type="checkbox"][data-rt-id^="' + id + '"]').addClass('enabled'); $('span.edit[data-rt-id="' + id + '"]').css('visibility', 'hidden'); - $('.lock[data-rt-id="' + id + '"]').html(unlockHTML); + $('.lock[data-rt-id="' + id + '"]').html(unlockHTML).attr('title', Messages.poll_unlocked); }); }; @@ -369,7 +369,7 @@ define([ if (!isKeyup && $(e.target).is('[type="text"]')) { return; } - $('.lock[data-rt-id!="' + APP.userid + '"]').html(lockHTML); + $('.lock[data-rt-id!="' + APP.userid + '"]').html(lockHTML).attr('title', Messages.poll_lock); var $cells = APP.$table.find('thead td:not(.uncommitted), tbody td'); $cells.find('[type="text"][data-rt-id!="' + APP.userid + '"]').attr('disabled', true); $('.edit[data-rt-id!="' + APP.userid + '"]').css('visibility', 'visible'); diff --git a/www/poll/poll.css b/www/poll/poll.css index 030b8898e..8016a10c4 100644 --- a/www/poll/poll.css +++ b/www/poll/poll.css @@ -33,7 +33,7 @@ textarea[disabled] { border: 0px; } input[type="text"]::placeholder { - color: #333; + color: #666; } table#table { margin: 0px; @@ -69,7 +69,7 @@ table#table { #tableScroll { overflow-y: hidden; overflow-x: auto; - margin-left: calc(30% - 50px + 29px); + margin-left: calc(30% - 50px + 31px); max-width: 70%; width: auto; display: inline-block; @@ -107,6 +107,9 @@ table { tbody { border: 1px solid #555; } +tbody * { + box-sizing: border-box; +} tbody tr { text-align: center; } @@ -299,9 +302,13 @@ div.realtime table tbody .text-cell .remove { float: left; margin: 0 0 0 10px; } -form.realtime table tbody td label, -div.realtime table tbody td label { - border: 0.5px solid #555; +form.realtime table tbody tr td:nth-child(2), +div.realtime table tbody tr td:nth-child(2) { + border-left: 1px solid #555; +} +form.realtime table tbody tr:not(:first-child) td:not(:first-child) label, +div.realtime table tbody tr:not(:first-child) td:not(:first-child) label { + border-top: 1px solid #555; } form.realtime table .edit, div.realtime table .edit { diff --git a/www/poll/poll.less b/www/poll/poll.less index 369c44f0f..1ddcaa2f0 100644 --- a/www/poll/poll.less +++ b/www/poll/poll.less @@ -83,7 +83,7 @@ table#table { #tableScroll { overflow-y: hidden; overflow-x: auto; - margin-left: calc(~"30% - 50px + 29px"); + margin-left: calc(~"30% - 50px + 31px"); max-width: 70%; width: auto; display: inline-block; @@ -126,6 +126,9 @@ table { } tbody { border: 1px solid @poll-border-color; + * { + box-sizing: border-box; + } tr { text-align: center; &:first-of-type th{ @@ -326,9 +329,11 @@ form.realtime, div.realtime { margin: 0 0 0 10px; } } - td { - label { - border: .5px solid @poll-border-color; + tr:not(:first-child) { + td:not(:first-child) { + label { + border-top: 1px solid @poll-border-color; + } } } } diff --git a/www/poll/render.js b/www/poll/render.js index dcf62079f..c0ca599a0 100644 --- a/www/poll/render.js +++ b/www/poll/render.js @@ -252,6 +252,7 @@ var Renderer = function (Cryptpad) { var makeRemoveElement = Render.makeRemoveElement = function (id) { return ['SPAN', { 'data-rt-id': id, + 'title': Cryptpad.Messages.poll_remove, class: 'remove', }, ['✖']]; }; @@ -259,6 +260,7 @@ var Renderer = function (Cryptpad) { var makeEditElement = Render.makeEditElement = function (id) { return ['SPAN', { 'data-rt-id': id, + 'title': Cryptpad.Messages.poll_edit, class: 'edit', }, ['✐']]; }; @@ -266,6 +268,7 @@ var Renderer = function (Cryptpad) { var makeLockElement = Render.makeLockElement = function (id) { return ['SPAN', { 'data-rt-id': id, + 'title': Cryptpad.Messages.poll_locked, class: 'lock', }, [['i', { class: 'fa fa-lock', @@ -277,14 +280,11 @@ var Renderer = function (Cryptpad) { var makeHeadingCell = Render.makeHeadingCell = function (cell, readOnly) { if (!cell) { return ['TD', {}, []]; } if (cell.type === 'text') { - var removeElement = makeRemoveElement(cell['data-rt-id']); - var editElement = makeEditElement(cell['data-rt-id']); - var lockElement = makeLockElement(cell['data-rt-id']); var elements = [['INPUT', cell, []]]; if (!readOnly) { - elements.unshift(removeElement); - elements.unshift(lockElement); - elements.unshift(editElement); + elements.unshift(makeRemoveElement(cell['data-rt-id'])); + elements.unshift(makeLockElement(cell['data-rt-id'])); + elements.unshift(makeEditElement(cell['data-rt-id'])); } return ['TD', {}, elements]; } @@ -321,12 +321,10 @@ var Renderer = function (Cryptpad) { var makeBodyCell = Render.makeBodyCell = function (cell, readOnly) { if (cell && cell.type === 'text') { - var removeElement = makeRemoveElement(cell['data-rt-id']); - var editElement = makeEditElement(cell['data-rt-id']); var elements = [['INPUT', cell, []]]; if (!readOnly) { - elements.push(removeElement); - elements.push(editElement); + elements.push(makeRemoveElement(cell['data-rt-id'])); + elements.push(makeEditElement(cell['data-rt-id'])); } return ['TD', {}, [ ['DIV', {class: 'text-cell'}, elements] From 1d4d4cffdb06607f418dc4a379d5b08498765beb Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 9 May 2017 14:26:17 +0200 Subject: [PATCH 004/236] correct some copypasted code --- www/drive/inner.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/drive/inner.html b/www/drive/inner.html index 72bef5a79..859ae3391 100644 --- a/www/drive/inner.html +++ b/www/drive/inner.html @@ -33,7 +33,7 @@ <li><a tabindex="-1" data-icon="fa-file-code-o" class="newdoc own editable dropdown-item" data-type="code" data-localization="button_newcode">New code</a></li> <li><a tabindex="-1" data-icon="fa-file-powerpoint-o" class="newdoc own editable dropdown-item" data-type="slide" data-localization="button_newslide">New slide</a></li> <li><a tabindex="-1" data-icon="fa-calendar" class="newdoc own editable dropdown-item" data-type="poll" data-localization="button_newpoll">New poll</a></li> - <li><a tabindex="-1" data-icon="fa-calendar" class="newdoc own editable dropdown-item" data-type="whiteboard" data-localization="button_newwhiteboard">New whiteboard</a></li> + <li><a tabindex="-1" data-icon="fa-paint-brush" class="newdoc own editable dropdown-item" data-type="whiteboard" data-localization="button_newwhiteboard">New whiteboard</a></li> </ul> </div> <div id="defaultContextMenu" class="contextMenu dropdown clearfix"> From 63710e1cccba59dc84dfa89b2fe01fb1b1204a1b Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 9 May 2017 12:45:18 +0200 Subject: [PATCH 005/236] Move the code related to the title in another file --- www/code/main.js | 82 ++++++++--------------------------- www/common/common-title.js | 82 +++++++++++++++++++++++++++++++++++ www/common/cryptpad-common.js | 6 ++- 3 files changed, 106 insertions(+), 64 deletions(-) create mode 100644 www/common/common-title.js diff --git a/www/code/main.js b/www/code/main.js index c382b38e4..a21c67273 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -48,8 +48,6 @@ define([ var $textarea = $pad.contents().find('#editor1'); var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox'); - var parsedHash = Cryptpad.parsePadUrl(window.location.href); - var defaultName = Cryptpad.getDefaultName(parsedHash); var isHistoryMode = false; @@ -120,6 +118,7 @@ define([ editor.setOption('readOnly', !bool); }; + var Title; var UserList; var config = { @@ -144,11 +143,6 @@ define([ } }; -/* var isDefaultTitle = function () { - var parsed = Cryptpad.parsePadUrl(window.location.href); - return Cryptpad.isDefaultName(parsed, document.title); - };*/ - var initializing = true; var stringifyInner = function (textValue) { @@ -156,11 +150,11 @@ define([ content: textValue, metadata: { users: UserList.userData, - defaultTitle: defaultName + defaultTitle: Title.defaultTitle } }; if (!initializing) { - obj.metadata.title = document.title; + obj.metadata.title = Title.title; } // set mode too... obj.highlightMode = module.highlightMode; @@ -226,20 +220,12 @@ define([ return text.trim(); }; - var suggestName = function (fallback) { - if (document.title === defaultName) { - return getHeadingText() || fallback || ""; - } else { - return document.title || getHeadingText() || defaultName; - } - }; - var exportText = module.exportText = function () { var text = editor.getValue(); var ext = Modes.extensionOf(module.highlightMode); - var title = Cryptpad.fixFileName(suggestName('cryptpad')) + (ext || '.txt'); + var title = Cryptpad.fixFileName(Title.suggestTitle('cryptpad')) + (ext || '.txt'); Cryptpad.prompt(Messages.exportPrompt, title, function (filename) { if (filename === null) { return; } @@ -276,35 +262,6 @@ define([ onLocal(); }; - var renameCb = function (err, title) { - if (err) { return; } - document.title = title; - onLocal(); - }; - - var updateTitle = function (newTitle) { - if (newTitle === document.title) { return; } - // Change the title now, and set it back to the old value if there is an error - var oldTitle = document.title; - document.title = newTitle; - Cryptpad.renamePad(newTitle, function (err, data) { - if (err) { - console.log("Couldn't set pad title"); - console.error(err); - document.title = oldTitle; - return; - } - document.title = data; - $bar.find('.' + Toolbar.constants.title).find('span.title').text(data); - $bar.find('.' + Toolbar.constants.title).find('input').val(data); - }); - }; - - var updateDefaultTitle = function (defaultTitle) { - defaultName = defaultTitle; - $bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName); - }; - var updateMetadata = function(shjson) { // Extract the user list (metadata) from the hyperjson var json = (shjson === "") ? "" : JSON.parse(shjson); @@ -316,21 +273,27 @@ define([ UserList.addToUserData(userData); } if (json.metadata.defaultTitle) { - updateDefaultTitle(json.metadata.defaultTitle); + Title.updateDefaultTitle(json.metadata.defaultTitle); } if (typeof json.metadata.title !== "undefined") { - updateTitle(json.metadata.title || defaultName); + Title.updateTitle(json.metadata.title || Title.defaultTitle); titleUpdated = true; } } if (!titleUpdated) { - updateTitle(defaultName); + Title.updateTitle(Title.defaultTitle); } }; config.onInit = function (info) { UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad); + var titleCfg = { + $bar: $bar, + getHeadingText: getHeadingText + }; + Title = Cryptpad.createTitle(titleCfg, config.onLocal, Cryptpad); + var configTb = { displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], userList: UserList.getToolbarConfig(), @@ -338,11 +301,7 @@ define([ secret: secret, channel: info.channel }, - title: { - onRename: renameCb, - defaultName: defaultName, - suggestName: suggestName - }, + title: Title.getTitleConfig(), common: Cryptpad, readOnly: readOnly, ifrw: ifrw, @@ -352,6 +311,8 @@ define([ }; toolbar = module.toolbar = Toolbar.create(configTb); + Title.setToolbar(toolbar); + var $rightside = toolbar.$rightside; var editHash; @@ -396,7 +357,7 @@ define([ var templateObj = { rt: info.realtime, Crypt: Cryptget, - getTitle: function () { return document.title; } + getTitle: Title.getTitle }; var $templateButton = Cryptpad.createButton('template', true, templateObj); $rightside.append($templateButton); @@ -410,10 +371,6 @@ define([ /* add an import button */ var $import = Cryptpad.createButton('import', true, {}, importText); $rightside.append($import); - - /* add a rename button */ - //var $setTitle = Cryptpad.createButton('rename', true, {suggestName: suggestName}, renameCb); - //$rightside.append($setTitle); } /* add a forget button */ @@ -559,9 +516,8 @@ define([ editor.setValue(newDoc); } - if (Cryptpad.initialName && document.title === defaultName) { - updateTitle(Cryptpad.initialName); - onLocal(); + if (Cryptpad.initialName && Title.isDefaultTitle()) { + Title.updateTitle(Cryptpad.initialName); } if (Visible.isSupported()) { diff --git a/www/common/common-title.js b/www/common/common-title.js new file mode 100644 index 000000000..7ceb2741e --- /dev/null +++ b/www/common/common-title.js @@ -0,0 +1,82 @@ +define(function () { + var module = {}; + + module.create = function (cfg, onLocal, Cryptpad) { + var exp = {}; + + var parsed = exp.parsedHref = Cryptpad.parsePadUrl(window.location.href); + exp.defaultTitle = Cryptpad.getDefaultName(parsed); + + exp.title = document.title; // TOOD slides + + var getHeadingText = cfg.getHeadingText || function () { return; }; + var updateLocalTitle = function (newTitle) { + exp.title = newTitle; + if (typeof cfg.updateLocalTitle === "function") { + cfg.updateLocalTitle(newTitle); + } else { + document.title = newTitle; + } + }; + + var $title; + exp.setToolbar = function (toolbar) { + $title = toolbar && toolbar.title; + } + + exp.getTitle = function () { return exp.title; }; + var isDefaultTitle = exp.isDefaultTitle = function (){return exp.title === exp.defaultTitle;}; + + var suggestTitle = exp.suggestTitle = function (fallback) { + if (isDefaultTitle()) { + return getHeadingText() || fallback || ""; + } else { + return exp.title || getHeadingText() || exp.defaultTitle; + } + }; + + var renameCb = function (err, newTitle) { + if (err) { return; } + updateLocalTitle(newTitle); + console.log('here'); + onLocal(); + }; + + exp.updateTitle = function (newTitle) { + if (newTitle === exp.title) { return; } + // Change the title now, and set it back to the old value if there is an error + var oldTitle = exp.title; + Cryptpad.renamePad(newTitle, function (err, data) { + if (err) { + console.log("Couldn't set pad title"); + console.error(err); + updateLocalTitle(oldTitle); + return; + } + updateLocalTitle(data); + if (!$title) { return; } + $title.find('span.title').text(data); + $title.find('input').val(data); + }); + }; + + exp.updateDefaultTitle = function (newDefaultTitle) { + exp.defaultTitle = newDefaultTitle; + if (!$title) { return; } + $title.find('input').attr("placeholder", exp.defaultTitle); + }; + + exp.getTitleConfig = function () { + return { + onRename: renameCb, + suggestName: suggestTitle, + defaultName: exp.defaultTitle + } + }; + + return exp; + }; + + return module; +}); + diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index b58209029..29d3e0ddb 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -8,11 +8,12 @@ define([ '/common/common-interface.js', '/common/common-history.js', '/common/common-userlist.js', + '/common/common-title.js', '/common/clipboard.js', '/common/pinpad.js', '/customize/application_config.js' -], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Clipboard, Pinpad, AppConfig) { +], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Title, Clipboard, Pinpad, AppConfig) { /* This file exposes functionality which is specific to Cryptpad, but not to any particular pad type. This includes functions for committing metadata @@ -88,6 +89,9 @@ define([ // Userlist common.createUserList = UserList.create; + // Title + common.createTitle = Title.create; + // History common.getHistory = function (config) { return History.create(common, config); }; From 521f99a3d6993a678107bd42eadc70819a5a2c2b Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 9 May 2017 16:50:25 +0200 Subject: [PATCH 006/236] support drag and drop for file upload --- www/file/inner.html | 14 +++++++++++--- www/file/main.js | 26 ++++++++++++++++++++------ 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/www/file/inner.html b/www/file/inner.html index 09f627842..2f82b3461 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -30,11 +30,17 @@ position: absolute; z-index: -1; } - .inputfile + label { - border: 2px solid black; + + .block { display: block; height: 500px; width: 500px; + } + .hidden { + display: none; + } + .inputfile + label { + border: 2px solid black; background-color: rgba(50, 50, 50, .10); margin: 50px; } @@ -50,7 +56,9 @@ <div id="toolbar" class="toolbar-container"></div> <div id="upload-form" style="display: none;"> <input type="file" name="file" id="file" class="inputfile" /> - <label for="file">Choose a file</label> + <label for="file" class="block">Choose a file</label> + </div> + <div id="feedback" class="block hidden"> </div> </body> </html> diff --git a/www/file/main.js b/www/file/main.js index 7e193e6a9..2756ceced 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -20,6 +20,7 @@ define([ var ifrw = $('#pad-iframe')[0].contentWindow; var $iframe = $('#pad-iframe').contents(); + var $form = $iframe.find('#upload-form'); Cryptpad.addLoadingScreen(); @@ -85,7 +86,7 @@ define([ '' ].join('/'); - APP.$form.hide(); + $form.hide(); var newU8 = FileCrypto.joinChunks(chunks); FileCrypto.decrypt(newU8, key, function (e, res) { @@ -95,6 +96,7 @@ define([ var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href)); APP.updateTitle(title || defaultName); + }); }); }); @@ -128,8 +130,6 @@ define([ var andThen = function () { var $bar = $iframe.find('.toolbar-container'); -// Test hash: -// #/2/K6xWU-LT9BJHCQcDCT-DcQ/TBo77200c0e-FdldQFcnQx4Y/ var secret; var hexFileName; if (window.location.hash) { @@ -233,13 +233,12 @@ define([ return Cryptpad.alert("You must be logged in to upload files"); } - var $form = APP.$form = $iframe.find('#upload-form'); $form.css({ display: 'block', }); - $form.find("#file").on('change', function (e) { - var file = e.target.files[0]; + var handleFile = function (file) { + console.log(file); var reader = new FileReader(); reader.onloadend = function () { upload(this.result, { @@ -248,6 +247,21 @@ define([ }); }; reader.readAsArrayBuffer(file); + }; + + $form.find("#file").on('change', function (e) { + var file = e.target.files[0]; + handleFile(file); + }); + + $form + .on('drag dragstart dragend dragover dragenter dragleave drop', function (e) { + e.preventDefault(); + e.stopPropagation(); + }) + .on('drop', function (e) { + var dropped = e.originalEvent.dataTransfer.files; + handleFile(dropped[0]); }); // we're in upload mode From c79a6e3b2bce4c98a055e282b48765b05fc04ff1 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 9 May 2017 17:47:47 +0200 Subject: [PATCH 007/236] Move Metadata, CodeMirror and title functions in separate files --- www/code/main.js | 312 +++---------------------- www/common/common-codemirror.js | 247 ++++++++++++++++++++ www/common/common-interface.js | 28 ++- www/common/common-metadata.js | 51 +++++ www/common/common-title.js | 2 + www/common/cryptpad-common.js | 12 +- www/pad/main.js | 117 ++-------- www/poll/main.js | 90 ++------ www/slide/main.js | 391 ++++++-------------------------- www/whiteboard/main.js | 116 ++-------- 10 files changed, 486 insertions(+), 880 deletions(-) create mode 100644 www/common/common-codemirror.js create mode 100644 www/common/common-metadata.js diff --git a/www/code/main.js b/www/code/main.js index a21c67273..ea9a66001 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -8,13 +8,7 @@ define([ '/bower_components/chainpad-json-validator/json-ot.js', '/common/cryptpad-common.js', '/common/cryptget.js', - '/common/modes.js', - '/common/themes.js', - '/common/visible.js', - '/common/notify.js', - '/bower_components/file-saver/FileSaver.min.js' -], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget, Modes, Themes, Visible, Notify) { - var saveAs = window.saveAs; +], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget) { var Messages = Cryptpad.Messages; var module = window.APP = { @@ -30,6 +24,7 @@ define([ }; var toolbar; + var editor; var secret = Cryptpad.getSecrets(); var readOnly = secret.keys && !secret.keys.editKeyStr; @@ -42,77 +37,13 @@ define([ }; var andThen = function (CMeditor) { - var CodeMirror = module.CodeMirror = CMeditor; - CodeMirror.modeURL = "/bower_components/codemirror/mode/%N/%N.js"; - var $pad = $('#pad-iframe'); - var $textarea = $pad.contents().find('#editor1'); + var CodeMirror = Cryptpad.createCodemirror(CMeditor, ifrw, Cryptpad); + editor = CodeMirror.editor; var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox'); var isHistoryMode = false; - var editor = module.editor = CMeditor.fromTextArea($textarea[0], { - lineNumbers: true, - lineWrapping: true, - autoCloseBrackets: true, - matchBrackets : true, - showTrailingSpace : true, - styleActiveLine : true, - search: true, - highlightSelectionMatches: {showToken: /\w+/}, - extraKeys: {"Shift-Ctrl-R": undefined}, - foldGutter: true, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], - mode: "javascript", - readOnly: true - }); - editor.setValue(Messages.codeInitialState); - - var setMode = module.setMode = function (mode, $select) { - module.highlightMode = mode; - if (mode === 'text') { - editor.setOption('mode', 'text'); - return; - } - CodeMirror.autoLoadMode(editor, mode); - editor.setOption('mode', mode); - if ($select) { - var name = $select.find('a[data-value="' + mode + '"]').text() || 'Mode'; - $select.setValue(name); - } - }; - - var setTheme = module.setTheme = (function () { - var path = '/common/theme/'; - - var $head = $(ifrw.document.head); - - var themeLoaded = module.themeLoaded = function (theme) { - return $head.find('link[href*="'+theme+'"]').length; - }; - - var loadTheme = module.loadTheme = function (theme) { - $head.append($('<link />', { - rel: 'stylesheet', - href: path + theme + '.css', - })); - }; - - return function (theme, $select) { - if (!theme) { - editor.setOption('theme', 'default'); - } else { - if (!themeLoaded(theme)) { - loadTheme(theme); - } - editor.setOption('theme', theme); - } - if ($select) { - $select.setValue(theme || 'Theme'); - } - }; - }()); - var setEditable = module.setEditable = function (bool) { if (readOnly && bool) { return; } editor.setOption('readOnly', !bool); @@ -120,6 +51,7 @@ define([ var Title; var UserList; + var Metadata; var config = { initialState: '{}', @@ -157,7 +89,7 @@ define([ obj.metadata.title = Title.title; } // set mode too... - obj.highlightMode = module.highlightMode; + obj.highlightMode = CodeMirror.highlightMode; // stringify the json and send it into chainpad return stringify(obj); @@ -170,7 +102,7 @@ define([ editor.save(); - var textValue = canonicalize($textarea.val()); + var textValue = canonicalize(CodeMirror.$textarea.val()); var shjson = stringifyInner(textValue); module.patchText(shjson); @@ -180,120 +112,16 @@ define([ } }; - var getHeadingText = function () { - var lines = editor.getValue().split(/\n/); - var text = ''; - lines.some(function (line) { - // lisps? - var lispy = /^\s*(;|#\|)(.*?)$/; - if (lispy.test(line)) { - line.replace(lispy, function (a, one, two) { - text = two; - }); - return true; - } - // lines beginning with a hash are potentially valuable - // works for markdown, python, bash, etc. - var hash = /^#(.*?)$/; - if (hash.test(line)) { - line.replace(hash, function (a, one) { - text = one; - }); - return true; - } - - // lines including a c-style comment are also valuable - var clike = /^\s*(\/\*|\/\/)(.*)?(\*\/)*$/; - if (clike.test(line)) { - line.replace(clike, function (a, one, two) { - if (!(two && two.replace)) { return; } - text = two.replace(/\*\/\s*$/, '').trim(); - }); - return true; - } - - // TODO make one more pass for multiline comments - }); - - return text.trim(); - }; - - var exportText = module.exportText = function () { - var text = editor.getValue(); - - var ext = Modes.extensionOf(module.highlightMode); - - var title = Cryptpad.fixFileName(Title.suggestTitle('cryptpad')) + (ext || '.txt'); - - Cryptpad.prompt(Messages.exportPrompt, title, function (filename) { - if (filename === null) { return; } - var blob = new Blob([text], { - type: 'text/plain;charset=utf-8' - }); - saveAs(blob, filename); - }); - }; - var importText = function (content, file) { - var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox'); - var mode; - var mime = CodeMirror.findModeByMIME(file.type); - - if (!mime) { - var ext = /.+\.([^.]+)$/.exec(file.name); - if (ext[1]) { - mode = CodeMirror.findModeByExtension(ext[1]); - } - } else { - mode = mime && mime.mode || null; - } - - if (mode && Modes.list.some(function (o) { return o.mode === mode; })) { - setMode(mode); - $bar.find('#language-mode').val(mode); - } else { - console.log("Couldn't find a suitable highlighting mode: %s", mode); - setMode('text'); - $bar.find('#language-mode').val('text'); - } - - editor.setValue(content); - onLocal(); - }; - - var updateMetadata = function(shjson) { - // Extract the user list (metadata) from the hyperjson - var json = (shjson === "") ? "" : JSON.parse(shjson); - var titleUpdated = false; - if (json && json.metadata) { - if (json.metadata.users) { - var userData = json.metadata.users; - // Update the local user data - UserList.addToUserData(userData); - } - if (json.metadata.defaultTitle) { - Title.updateDefaultTitle(json.metadata.defaultTitle); - } - if (typeof json.metadata.title !== "undefined") { - Title.updateTitle(json.metadata.title || Title.defaultTitle); - titleUpdated = true; - } - } - if (!titleUpdated) { - Title.updateTitle(Title.defaultTitle); - } - }; - - config.onInit = function (info) { + config.onInit = function (info) { UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad); - var titleCfg = { - $bar: $bar, - getHeadingText: getHeadingText - }; + var titleCfg = { getHeadingText: CodeMirror.getHeadingText }; Title = Cryptpad.createTitle(titleCfg, config.onLocal, Cryptpad); + Metadata = Cryptpad.createMetadata(UserList, Title); + var configTb = { displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], userList: UserList.getToolbarConfig(), @@ -312,6 +140,7 @@ define([ toolbar = module.toolbar = Toolbar.create(configTb); Title.setToolbar(toolbar); + CodeMirror.init(config.onLocal, Title, toolbar); var $rightside = toolbar.$rightside; @@ -364,12 +193,12 @@ define([ } /* add an export button */ - var $export = Cryptpad.createButton('export', true, {}, exportText); + var $export = Cryptpad.createButton('export', true, {}, CodeMirror.exportText); $rightside.append($export); if (!readOnly) { /* add an import button */ - var $import = Cryptpad.createButton('import', true, {}, importText); + var $import = Cryptpad.createButton('import', true, {}, CodeMirror.importText); $rightside.append($import); } @@ -381,98 +210,17 @@ define([ var $forgetPad = Cryptpad.createButton('forget', true, {}, forgetCb); $rightside.append($forgetPad); - var configureLanguage = function (cb) { - // FIXME this is async so make it happen as early as possible - var options = []; - Modes.list.forEach(function (l) { - options.push({ - tag: 'a', - attributes: { - 'data-value': l.mode, - 'href': '#', - }, - content: l.language // Pretty name of the language value - }); - }); - var dropdownConfig = { - text: 'Mode', // Button initial text - options: options, // Entries displayed in the menu - left: true, // Open to the left of the button - isSelect: true, - }; - var $block = module.$language = Cryptpad.createDropdown(dropdownConfig); - $block.find('a').click(function () { - setMode($(this).attr('data-value'), $block); - onLocal(); - }); - - $rightside.append($block); - cb(); - }; - - var configureTheme = function () { - /* Remember the user's last choice of theme using localStorage */ - var themeKey = 'CRYPTPAD_CODE_THEME'; - var lastTheme = localStorage.getItem(themeKey) || 'default'; - - var options = []; - Themes.forEach(function (l) { - options.push({ - tag: 'a', - attributes: { - 'data-value': l.name, - 'href': '#', - }, - content: l.name // Pretty name of the language value - }); - }); - var dropdownConfig = { - text: 'Theme', // Button initial text - options: options, // Entries displayed in the menu - left: true, // Open to the left of the button - isSelect: true, - initialValue: lastTheme - }; - var $block = module.$theme = Cryptpad.createDropdown(dropdownConfig); - - setTheme(lastTheme, $block); - - $block.find('a').click(function () { - var theme = $(this).attr('data-value'); - setTheme(theme, $block); - localStorage.setItem(themeKey, theme); - }); - - $rightside.append($block); - }; - if (!readOnly) { - configureLanguage(function () { - configureTheme(); - }); + CodeMirror.configureLanguage(CodeMirror.configureTheme); } else { - configureTheme(); + CodeMirror.configureTheme(); } // set the hash if (!readOnly) { Cryptpad.replaceHash(editHash); } }; - var unnotify = module.unnotify = function () { - if (module.tabNotification && - typeof(module.tabNotification.cancel) === 'function') { - module.tabNotification.cancel(); - } - }; - - var notify = module.notify = function () { - if (Visible.isSupported() && !Visible.currently()) { - unnotify(); - module.tabNotification = Notify.tab(1000, 10); - } - }; - config.onReady = function (info) { if (module.realtime !== info.realtime) { var realtime = module.realtime = info.realtime; @@ -500,17 +248,17 @@ define([ newDoc = hjson.content; if (hjson.highlightMode) { - setMode(hjson.highlightMode, module.$language); + CodeMirror.setMode(hjson.highlightMode); } } - if (!module.highlightMode) { - setMode('javascript', module.$language); - console.log("%s => %s", module.highlightMode, module.$language.val()); + if (!CodeMirror.highlightMode) { + CodeMirror.setMode('javascript'); + console.log("%s => %s", CodeMirror.highlightMode, CodeMirror.$language.val()); } // Update the user list (metadata) from the hyperjson - updateMetadata(userDoc); + Metadata.update(userDoc); if (newDoc) { editor.setValue(newDoc); @@ -520,12 +268,6 @@ define([ Title.updateTitle(Cryptpad.initialName); } - if (Visible.isSupported()) { - Visible.onChange(function (yes) { - if (yes) { unnotify(); } - }); - } - Cryptpad.removeLoadingScreen(); setEditable(true); initializing = false; @@ -568,18 +310,18 @@ define([ if (isHistoryMode) { return; } var scroll = editor.getScrollInfo(); - var oldDoc = canonicalize($textarea.val()); + var oldDoc = canonicalize(CodeMirror.$textarea.val()); var shjson = module.realtime.getUserDoc(); // Update the user list (metadata) from the hyperjson - updateMetadata(shjson); + Metadata.update(shjson); var hjson = JSON.parse(shjson); var remoteDoc = hjson.content; var highlightMode = hjson.highlightMode; if (highlightMode && highlightMode !== module.highlightMode) { - setMode(highlightMode, module.$language); + CodeMirror.setMode(highlightMode); } //get old cursor here @@ -605,7 +347,7 @@ define([ editor.scrollTo(scroll.left, scroll.top); if (!readOnly) { - var textValue = canonicalize($textarea.val()); + var textValue = canonicalize(CodeMirror.$textarea.val()); var shjson2 = stringifyInner(textValue); if (shjson2 !== shjson) { console.error("shjson2 !== shjson"); @@ -613,9 +355,7 @@ define([ module.patchText(shjson2); } } - if (oldDoc !== remoteDoc) { - notify(); - } + if (oldDoc !== remoteDoc) { Cryptpad.notify(); } }; config.onAbort = function () { diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js new file mode 100644 index 000000000..bbaad49df --- /dev/null +++ b/www/common/common-codemirror.js @@ -0,0 +1,247 @@ +define([ + 'jquery', + '/common/modes.js', + '/common/themes.js', + '/bower_components/file-saver/FileSaver.min.js' +], function ($, Modes, Themes) { + var saveAs = window.saveAs; + var module = {}; + + module.create = function (CMeditor, ifrw, Cryptpad) { + var exp = {}; + + var Messages = Cryptpad.Messages; + + var CodeMirror = exp.CodeMirror = CMeditor; + CodeMirror.modeURL = "/bower_components/codemirror/mode/%N/%N.js"; + + var $pad = $('#pad-iframe'); + var $textarea = exp.$textarea = $pad.contents().find('#editor1'); + + var Title; + var onLocal = function () {}; + var $rightside; + exp.init = function (local, title, toolbar) { + if (typeof local === "function") { + onLocal = local; + } + Title = title; + $rightside = toolbar.$rightside; + }; + + var editor = exp.editor = CMeditor.fromTextArea($textarea[0], { + lineNumbers: true, + lineWrapping: true, + autoCloseBrackets: true, + matchBrackets : true, + showTrailingSpace : true, + styleActiveLine : true, + search: true, + highlightSelectionMatches: {showToken: /\w+/}, + extraKeys: {"Shift-Ctrl-R": undefined}, + foldGutter: true, + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + mode: "javascript", + readOnly: true + }); + editor.setValue(Messages.codeInitialState); + + var setMode = exp.setMode = function (mode) { + exp.highlightMode = mode; + if (mode === 'text') { + editor.setOption('mode', 'text'); + return; + } + CMeditor.autoLoadMode(editor, mode); + editor.setOption('mode', mode); + if (exp.$language) { + var name = exp.$language.find('a[data-value="' + mode + '"]').text() || 'Mode'; + exp.$language.setValue(name); + } + }; + + var setTheme = exp.setTheme = (function () { + var path = '/common/theme/'; + + var $head = $(ifrw.document.head); + + var themeLoaded = exp.themeLoaded = function (theme) { + return $head.find('link[href*="'+theme+'"]').length; + }; + + var loadTheme = exp.loadTheme = function (theme) { + $head.append($('<link />', { + rel: 'stylesheet', + href: path + theme + '.css', + })); + }; + + return function (theme, $select) { + if (!theme) { + editor.setOption('theme', 'default'); + } else { + if (!themeLoaded(theme)) { + loadTheme(theme); + } + editor.setOption('theme', theme); + } + if ($select) { + $select.setValue(theme || 'Theme'); + } + }; + }()); + + var getHeadingText = function () { + var lines = editor.getValue().split(/\n/); + + var text = ''; + lines.some(function (line) { + // lisps? + var lispy = /^\s*(;|#\|)(.*?)$/; + if (lispy.test(line)) { + line.replace(lispy, function (a, one, two) { + text = two; + }); + return true; + } + + // lines beginning with a hash are potentially valuable + // works for markdown, python, bash, etc. + var hash = /^#(.*?)$/; + if (hash.test(line)) { + line.replace(hash, function (a, one) { + text = one; + }); + return true; + } + + // lines including a c-style comment are also valuable + var clike = /^\s*(\/\*|\/\/)(.*)?(\*\/)*$/; + if (clike.test(line)) { + line.replace(clike, function (a, one, two) { + if (!(two && two.replace)) { return; } + text = two.replace(/\*\/\s*$/, '').trim(); + }); + return true; + } + + // TODO make one more pass for multiline comments + }); + + return text.trim(); + }; + + exp.configureLanguage = function (cb) { + var options = []; + Modes.list.forEach(function (l) { + options.push({ + tag: 'a', + attributes: { + 'data-value': l.mode, + 'href': '#', + }, + content: l.language // Pretty name of the language value + }); + }); + var dropdownConfig = { + text: 'Mode', // Button initial text + options: options, // Entries displayed in the menu + left: true, // Open to the left of the button + isSelect: true, + }; + console.log('here'); + var $block = exp.$language = Cryptpad.createDropdown(dropdownConfig); + console.log(exp); + $block.find('a').click(function () { + setMode($(this).attr('data-value'), $block); + onLocal(); + }); + + if ($rightside) { $rightside.append($block); } + cb(); + }; + + exp.configureTheme = function () { + /* Remember the user's last choice of theme using localStorage */ + var themeKey = 'CRYPTPAD_CODE_THEME'; + var lastTheme = localStorage.getItem(themeKey) || 'default'; + + var options = []; + Themes.forEach(function (l) { + options.push({ + tag: 'a', + attributes: { + 'data-value': l.name, + 'href': '#', + }, + content: l.name // Pretty name of the language value + }); + }); + var dropdownConfig = { + text: 'Theme', // Button initial text + options: options, // Entries displayed in the menu + left: true, // Open to the left of the button + isSelect: true, + initialValue: lastTheme + }; + var $block = exp.$theme = Cryptpad.createDropdown(dropdownConfig); + + setTheme(lastTheme, $block); + + $block.find('a').click(function () { + var theme = $(this).attr('data-value'); + setTheme(theme, $block); + localStorage.setItem(themeKey, theme); + }); + + if ($rightside) { $rightside.append($block); } + }; + + exp.exportText = function () { + var text = editor.getValue(); + + var ext = Modes.extensionOf(exp.highlightMode); + + var title = Cryptpad.fixFileName(Title ? Title.suggestTitle('cryptpad') : "?") + (ext || '.txt'); + + Cryptpad.prompt(Messages.exportPrompt, title, function (filename) { + if (filename === null) { return; } + var blob = new Blob([text], { + type: 'text/plain;charset=utf-8' + }); + saveAs(blob, filename); + }); + }; + exp.importText = function (content, file) { + var $bar = ifrw.$('#cme_toolbox'); + var mode; + var mime = CodeMirror.findModeByMIME(file.type); + + if (!mime) { + var ext = /.+\.([^.]+)$/.exec(file.name); + if (ext[1]) { + mode = CMeditor.findModeByExtension(ext[1]); + } + } else { + mode = mime && mime.mode || null; + } + + if (mode && Modes.list.some(function (o) { return o.mode === mode; })) { + setMode(mode); + $bar.find('#language-mode').val(mode); + } else { + console.log("Couldn't find a suitable highlighting mode: %s", mode); + setMode('text'); + $bar.find('#language-mode').val('text'); + } + + editor.setValue(content); + onLocal(); + }; + + return exp; + }; + + return module; +}); + diff --git a/www/common/common-interface.js b/www/common/common-interface.js index 979ffcf67..fb965a5d9 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -3,8 +3,10 @@ define([ '/customize/messages.js', '/common/common-util.js', '/customize/application_config.js', - '/bower_components/alertifyjs/dist/js/alertify.js' -], function ($, Messages, Util, AppConfig, Alertify) { + '/bower_components/alertifyjs/dist/js/alertify.js', + '/common/notify.js', + '/common/visible.js' +], function ($, Messages, Util, AppConfig, Alertify, Notify, Visible) { var UI = {}; @@ -204,6 +206,28 @@ define([ $('#' + LOADING).find('p').html(error || Messages.error); }; + // Notify + var notify = {}; + UI.unnotify = function () { + if (notify.tabNotification && + typeof(notify.tabNotification.cancel) === 'function') { + notify.tabNotification.cancel(); + } + }; + + UI.notify = function () { + if (Visible.isSupported() && !Visible.currently()) { + UI.unnotify(); + notify.tabNotification = Notify.tab(1000, 10); + } + }; + + if (Visible.isSupported()) { + Visible.onChange(function (yes) { + if (yes) { UI.unnotify(); } + }); + } + UI.importContent = function (type, f) { return function () { var $files = $('<input type="file">').click(); diff --git a/www/common/common-metadata.js b/www/common/common-metadata.js new file mode 100644 index 000000000..2198156d5 --- /dev/null +++ b/www/common/common-metadata.js @@ -0,0 +1,51 @@ +define(function () { + var module = {}; + + module.create = function (UserList, Title, cfg) { + var exp = {}; + + var updateMetadata = exp.update = function (shjson) { + // Extract the user list (metadata) from the hyperjson + var json = (!shjson || typeof shjson !== "string") ? "" : JSON.parse(shjson); + var titleUpdated = false; + var metadata; + if (Array.isArray(json)) { + metadata = json[3] && json[3].metadata; + } else { + metadata = json.metadata; + } + if (typeof metadata === "object") { + if (metadata.users) { + var userData = metadata.users; + // Update the local user data + UserList.addToUserData(userData); + } + if (metadata.defaultTitle) { + Title.updateDefaultTitle(metadata.defaultTitle); + } + if (typeof metadata.title !== "undefined") { + Title.updateTitle(metadata.title || Title.defaultTitle); + titleUpdated = true; + } + if (metadata.slideOptions && cfg.slideOptions) { + cfg.slideOptions(metadata.slideOptions); + } + if (metadata.color && cfg.slideColors) { + cfg.slideColors(metadata.color, metadata.backColor); + } + if (typeof(metadata.palette) !== 'undefined' && cfg.updatePalette) { + cfg.updatePalette(metadata.palette); + } + } + if (!titleUpdated) { + Title.updateTitle(Title.defaultTitle); + } + }; + + return exp; + }; + + return module; +}); + + diff --git a/www/common/common-title.js b/www/common/common-title.js index 7ceb2741e..056205bfb 100644 --- a/www/common/common-title.js +++ b/www/common/common-title.js @@ -9,6 +9,8 @@ define(function () { exp.title = document.title; // TOOD slides + cfg = cfg || {}; + var getHeadingText = cfg.getHeadingText || function () { return; }; var updateLocalTitle = function (newTitle) { exp.title = newTitle; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 29d3e0ddb..0c777b9c8 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -9,11 +9,13 @@ define([ '/common/common-history.js', '/common/common-userlist.js', '/common/common-title.js', + '/common/common-metadata.js', + '/common/common-codemirror.js', '/common/clipboard.js', '/common/pinpad.js', '/customize/application_config.js' -], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Title, Clipboard, Pinpad, AppConfig) { +], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Title, Metadata, CodeMirror, Clipboard, Pinpad, AppConfig) { /* This file exposes functionality which is specific to Cryptpad, but not to any particular pad type. This includes functions for committing metadata @@ -54,6 +56,8 @@ define([ common.addLoadingScreen = UI.addLoadingScreen; common.removeLoadingScreen = UI.removeLoadingScreen; common.errorLoadingScreen = UI.errorLoadingScreen; + common.notify = UI.notify; + common.unnotify = UI.unnotify; // import common utilities for export common.find = Util.find; @@ -92,6 +96,12 @@ define([ // Title common.createTitle = Title.create; + // Metadata + common.createMetadata = Metadata.create; + + // CodeMirror + common.createCodemirror = CodeMirror.create; + // History common.getHistory = function (config) { return History.create(common, config); }; diff --git a/www/pad/main.js b/www/pad/main.js index 5e679f05f..bf34b9328 100644 --- a/www/pad/main.js +++ b/www/pad/main.js @@ -11,14 +11,11 @@ define([ '/bower_components/textpatcher/TextPatcher.js', '/common/cryptpad-common.js', '/common/cryptget.js', - '/common/visible.js', - '/common/notify.js', '/pad/links.js', '/bower_components/file-saver/FileSaver.min.js', '/bower_components/diff-dom/diffDOM.js' ], function ($, Crypto, realtimeInput, Hyperjson, - Toolbar, Cursor, JsonOT, TypingTest, JSONSortify, TextPatcher, Cryptpad, Cryptget, - Visible, Notify, Links) { + Toolbar, Cursor, JsonOT, TypingTest, JSONSortify, TextPatcher, Cryptpad, Cryptget, Links) { var saveAs = window.saveAs; var Messages = Cryptpad.Messages; @@ -105,8 +102,6 @@ define([ editor.on('instanceReady', Links.addSupportForOpeningLinksInNewTab(Ckeditor)); editor.on('instanceReady', function () { var $bar = $('#pad-iframe')[0].contentWindow.$('#cke_1_toolbox'); - var parsedHash = Cryptpad.parsePadUrl(window.location.href); - var defaultName = Cryptpad.getDefaultName(parsedHash); var isHistoryMode = false; @@ -277,7 +272,10 @@ define([ }; var initializing = true; + + var Title; var UserList; + var Metadata; var getHeadingText = function () { var text; @@ -290,14 +288,6 @@ define([ })) { return text; } }; - var suggestName = function (fallback) { - if (document.title === defaultName) { - return getHeadingText() || fallback || ""; - } else { - return document.title || getHeadingText() || defaultName; - } - }; - var DD = new DiffDom(diffOptions); // apply patches, and try not to lose the cursor in the process! @@ -316,11 +306,11 @@ define([ hjson[3] = { metadata: { users: UserList.userData, - defaultTitle: defaultName + defaultTitle: Title.defaultTitle } }; if (!initializing) { - hjson[3].metadata.title = document.title; + hjson[3].metadata.title = Title.title; } else if (Cryptpad.initialName && !hjson[3].metadata.title) { hjson[3].metadata.title = Cryptpad.initialName; } @@ -369,68 +359,6 @@ define([ } }; - var updateTitle = function (newTitle) { - if (newTitle === document.title) { return; } - // Change the title now, and set it back to the old value if there is an error - var oldTitle = document.title; - document.title = newTitle; - Cryptpad.renamePad(newTitle, function (err, data) { - if (err) { - console.log("Couldn't set pad title"); - console.error(err); - document.title = oldTitle; - return; - } - document.title = data; - $bar.find('.' + Toolbar.constants.title).find('span.title').text(data); - $bar.find('.' + Toolbar.constants.title).find('input').val(data); - }); - }; - - var updateDefaultTitle = function (defaultTitle) { - defaultName = defaultTitle; - $bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName); - }; - - var updateMetadata = function(shjson) { - // Extract the user list (metadata) from the hyperjson - if (!shjson || typeof (shjson) !== "string") { updateTitle(defaultName); return; } - var hjson = JSON.parse(shjson); - var peerMetadata = hjson[3]; - var titleUpdated = false; - if (peerMetadata && peerMetadata.metadata) { - if (peerMetadata.metadata.users) { - var userData = peerMetadata.metadata.users; - // Update the local user data - UserList.addToUserData(userData); - } - if (peerMetadata.metadata.defaultTitle) { - updateDefaultTitle(peerMetadata.metadata.defaultTitle); - } - if (typeof peerMetadata.metadata.title !== "undefined") { - updateTitle(peerMetadata.metadata.title || defaultName); - titleUpdated = true; - } - } - if (!titleUpdated) { - updateTitle(defaultName); - } - }; - - var unnotify = function () { - if (module.tabNotification && - typeof(module.tabNotification.cancel) === 'function') { - module.tabNotification.cancel(); - } - }; - - var notify = function () { - if (Visible.isSupported() && !Visible.currently()) { - unnotify(); - module.tabNotification = Notify.tab(1000, 10); - } - }; - realtimeOptions.onRemote = function () { if (initializing) { return; } if (isHistoryMode) { return; } @@ -443,7 +371,7 @@ define([ cursor.update(); // Update the user list (metadata) from the hyperjson - updateMetadata(shjson); + Metadata.update(shjson); var newInner = JSON.parse(shjson); var newSInner; @@ -488,7 +416,7 @@ define([ // Notify only when the content has changed, not when someone has joined/left var oldSInner = stringify(JSON.parse(oldShjson)[2]); if (newSInner && newSInner !== oldSInner) { - notify(); + Cryptpad.notify(); } }; @@ -516,15 +444,14 @@ define([ realtimeOptions.onLocal(); }; - var renameCb = function (err, title) { - if (err) { return; } - document.title = title; - editor.fire('change'); - }; - realtimeOptions.onInit = function (info) { UserList = Cryptpad.createUserList(info, realtimeOptions.onLocal, Cryptget, Cryptpad); + var titleCfg = { getHeadingText: getHeadingText }; + Title = Cryptpad.createTitle(titleCfg, realtimeOptions.onLocal, Cryptpad); + + Metadata = Cryptpad.createMetadata(UserList, Title); + var configTb = { displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], userList: UserList.getToolbarConfig(), @@ -532,11 +459,7 @@ define([ secret: secret, channel: info.channel }, - title: { - onRename: renameCb, - defaultName: defaultName, - suggestName: suggestName - }, + title: Title.getTitleConfig(), common: Cryptpad, readOnly: readOnly, ifrw: ifrw, @@ -546,6 +469,8 @@ define([ }; toolbar = info.realtime.toolbar = Toolbar.create(configTb); + Title.setToolbar(toolbar); + var $rightside = toolbar.$rightside; var editHash; @@ -666,13 +591,7 @@ define([ applyHjson(shjson); // Update the user list (metadata) from the hyperjson - updateMetadata(shjson); - - if (Visible.isSupported()) { - Visible.onChange(function (yes) { - if (yes) { unnotify(); } - }); - } + Metadata.update(shjson); if (!readOnly) { var shjson2 = stringifyDOM(inner); @@ -686,7 +605,7 @@ define([ } } } else { - updateTitle(Cryptpad.initialName || defaultName); + Title.updateTitle(Cryptpad.initialName || Title.defaultTitle); documentBody.innerHTML = Messages.initialState; } diff --git a/www/poll/main.js b/www/poll/main.js index 3881ddd87..9f1af0a2a 100644 --- a/www/poll/main.js +++ b/www/poll/main.js @@ -8,10 +8,8 @@ define([ '/bower_components/hyperjson/hyperjson.js', 'render.js', '/common/toolbar2.js', - '/common/visible.js', - '/common/notify.js', '/bower_components/file-saver/FileSaver.min.js' -], function ($, TextPatcher, Listmap, Crypto, Cryptpad, Cryptget, Hyperjson, Renderer, Toolbar, Visible, Notify) { +], function ($, TextPatcher, Listmap, Crypto, Cryptpad, Cryptget, Hyperjson, Renderer, Toolbar) { var Messages = Cryptpad.Messages; @@ -186,20 +184,6 @@ define([ } }; - var unnotify = function () { - if (APP.tabNotification && - typeof(APP.tabNotification.cancel) === 'function') { - APP.tabNotification.cancel(); - } - }; - - var notify = function () { - if (Visible.isSupported() && !Visible.currently()) { - unnotify(); - APP.tabNotification = Notify.tab(1000, 10); - } - }; - /* Any time the realtime object changes, call this function */ var change = function (o, n, path, throttle, cb) { if (path && !Cryptpad.isArray(path)) { @@ -228,7 +212,7 @@ define([ https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion */ - notify(); + Cryptpad.notify(); var getFocus = function () { var active = document.activeElement; @@ -442,43 +426,9 @@ define([ }); }; + var Title; var UserList; - var updateTitle = function (newTitle) { - if (newTitle === document.title) { return; } - // Change the title now, and set it back to the old value if there is an error - var oldTitle = document.title; - document.title = newTitle; - Cryptpad.renamePad(newTitle, function (err, data) { - if (err) { - debug("Couldn't set pad title"); - error(err); - document.title = oldTitle; - return; - } - document.title = data; - APP.$bar.find('.' + Toolbar.constants.title).find('span.title').text(data); - APP.$bar.find('.' + Toolbar.constants.title).find('input').val(data); - }); - }; - - var updateDefaultTitle = function (defaultTitle) { - defaultName = defaultTitle; - APP.$bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName); - }; - var renameCb = function (err, title) { - if (err) { return; } - document.title = title; - APP.proxy.info.title = title === defaultName ? "" : title; - }; - - var suggestName = function (fallback) { - if (document.title === defaultName) { - return fallback || ""; - } - return document.title || defaultName || ""; - }; - var copyObject = function (obj) { return JSON.parse(JSON.stringify(obj)); }; @@ -550,15 +500,15 @@ var ready = function (info, userid, readOnly) { // Title if (APP.proxy.info.defaultTitle) { - updateDefaultTitle(APP.proxy.info.defaultTitle); + Title.updateDefaultTitle(APP.proxy.info.defaultTitle); } else { - APP.proxy.info.defaultTitle = defaultName; + APP.proxy.info.defaultTitle = Title.defaultTitle; } if (Cryptpad.initialName && !APP.proxy.info.title) { APP.proxy.info.title = Cryptpad.initialName; - updateTitle(Cryptpad.initialName); + Title.updateTitle(Cryptpad.initialName); } else { - updateTitle(APP.proxy.info.title || defaultName); + Title.updateTitle(APP.proxy.info.title || Title.defaultTitle); } // Description @@ -586,8 +536,8 @@ var ready = function (info, userid, readOnly) { proxy .on('change', ['info'], function (o, n, p) { if (p[1] === 'title') { - updateTitle(n); - notify(); + Title.updateTitle(n); + Cryptpad.notify(); } else if (p[1] === "userData") { UserList.addToUserData(APP.proxy.info.userData); } else if (p[1] === 'description') { @@ -602,7 +552,7 @@ var ready = function (info, userid, readOnly) { el.selectionStart = selects[0]; el.selectionEnd = selects[1]; } - notify(); + Cryptpad.notify(); } debug("change: (%s, %s, [%s])", o, n, p.join(', ')); @@ -612,13 +562,6 @@ var ready = function (info, userid, readOnly) { UserList.addToUserData(APP.proxy.info.userData); - if (Visible.isSupported()) { - Visible.onChange(function (yes) { - if (yes) { unnotify(); } - }); - } - - APP.ready = true; if (!proxy.published) { publish(false); @@ -664,6 +607,11 @@ var create = function (info) { }; UserList = Cryptpad.createUserList(info, onLocal, Cryptget, Cryptpad); + var onLocalTitle = function () { + APP.proxy.info.title = Title.isDefaultTitle() ? "" : Title.title; + }; + Title = Cryptpad.createTitle({}, onLocalTitle, Cryptpad); + var configTb = { displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], userList: UserList.getToolbarConfig(), @@ -671,11 +619,7 @@ var create = function (info) { secret: secret, channel: info.channel }, - title: { - onRename: renameCb, - defaultName: defaultName, - suggestName: suggestName - }, + title: Title.getTitleConfig(), common: Cryptpad, readOnly: readOnly, ifrw: window, @@ -685,6 +629,8 @@ var create = function (info) { }; APP.toolbar = Toolbar.create(configTb); + Title.setToolbar(APP.toolbar); + var $rightside = APP.toolbar.$rightside; /* add a forget button */ diff --git a/www/slide/main.js b/www/slide/main.js index 2b229c14b..0d7de7758 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -8,15 +8,8 @@ define([ '/bower_components/chainpad-json-validator/json-ot.js', '/common/cryptpad-common.js', '/common/cryptget.js', - '/common/modes.js', - '/common/themes.js', - '/common/visible.js', - '/common/notify.js', '/slide/slide.js', - '/bower_components/file-saver/FileSaver.min.js' -], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget, Modes, Themes, Visible, Notify, Slide) { - var saveAs = window.saveAs; - +], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget, Slide) { var Messages = Cryptpad.Messages; var module = window.APP = { @@ -30,23 +23,15 @@ define([ var SLIDE_COLOR_ID = "cryptpad-color"; - var stringify = function (obj) { - return JSONSortify(obj); - }; - - var setTabTitle = function () { - var slideNumber = ''; - if (Slide.index && Slide.content.length) { - slideNumber = ' (' + Slide.index + '/' + Slide.content.length + ')'; - } - document.title = APP.title + slideNumber; - }; - $(function () { Cryptpad.addLoadingScreen(); + var stringify = function (obj) { + return JSONSortify(obj); + }; var ifrw = module.ifrw = $('#pad-iframe')[0].contentWindow; var toolbar; + var editor; var secret = Cryptpad.getSecrets(); var readOnly = secret.keys && !secret.keys.editKeyStr; @@ -62,77 +47,32 @@ define([ }; var andThen = function (CMeditor) { - var CodeMirror = module.CodeMirror = CMeditor; - CodeMirror.modeURL = "/bower_components/codemirror/mode/%N/%N.js"; - var $pad = $('#pad-iframe'); - var $textarea = $pad.contents().find('#editor1'); + var CodeMirror = Cryptpad.createCodemirror(CMeditor, ifrw, Cryptpad); + editor = CodeMirror.editor; var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox'); - var parsedHash = Cryptpad.parsePadUrl(window.location.href); - var defaultName = Cryptpad.getDefaultName(parsedHash); - var initialState = Messages.slideInitialState; + var $pad = $('#pad-iframe'); var isHistoryMode = false; - var editor = module.editor = CMeditor.fromTextArea($textarea[0], { - lineNumbers: true, - lineWrapping: true, - autoCloseBrackets: true, - matchBrackets : true, - showTrailingSpace : true, - styleActiveLine : true, - search: true, - highlightSelectionMatches: {showToken: /\w+/}, - extraKeys: {"Shift-Ctrl-R": undefined}, - foldGutter: true, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], - mode: "javascript", - readOnly: true - }); - editor.setValue(initialState); - - var setMode = module.setMode = function (mode, $select) { - module.highlightMode = mode; - if (mode === 'text') { - editor.setOption('mode', 'text'); - return; - } - CodeMirror.autoLoadMode(editor, mode); - editor.setOption('mode', mode); - if ($select && $select.val) { $select.val(mode); } + var setEditable = module.setEditable = function (bool) { + if (readOnly && bool) { return; } + editor.setOption('readOnly', !bool); }; - setMode('markdown'); - var setTheme = module.setTheme = (function () { - var path = '/common/theme/'; + var Title; + var UserList; + var Metadata; - var $head = $(ifrw.document.head); + var setTabTitle = function (title) { + var slideNumber = ''; + if (Slide.index && Slide.content.length) { + slideNumber = ' (' + Slide.index + '/' + Slide.content.length + ')'; + } + document.title = title + slideNumber; + }; - var themeLoaded = module.themeLoaded = function (theme) { - return $head.find('link[href*="'+theme+'"]').length; - }; - - var loadTheme = module.loadTheme = function (theme) { - $head.append($('<link />', { - rel: 'stylesheet', - href: path + theme + '.css', - })); - }; - - return function (theme, $select) { - if (!theme) { - editor.setOption('theme', 'default'); - } else { - if (!themeLoaded(theme)) { - loadTheme(theme); - } - editor.setOption('theme', theme); - } - if ($select) { - $select.setValue(theme || 'Theme'); - } - }; - }()); + var initialState = Messages.slideInitialState; var $modal = $pad.contents().find('#modal'); var $content = $pad.contents().find('#content'); @@ -162,18 +102,10 @@ define([ enterPresentationMode(true); } - var setEditable = module.setEditable = function (bool) { - if (readOnly && bool) { return; } - editor.setOption('readOnly', !bool); - }; - - var UserList; - var textColor; var backColor; var config = { - //initialState: Messages.codeInitialState, initialState: '{}', websocketURL: Cryptpad.getWebsocketURL(), channel: secret.channel, @@ -202,12 +134,12 @@ define([ content: textValue, metadata: { users: UserList.userData, - defaultTitle: defaultName, + defaultTitle: Title.defaultTitle, slideOptions: slideOptions } }; if (!initializing) { - obj.metadata.title = APP.title; + obj.metadata.title = Title.title; } if (textColor) { obj.metadata.color = textColor; @@ -226,7 +158,7 @@ define([ editor.save(); - var textValue = canonicalize($textarea.val()); + var textValue = canonicalize(CodeMirror.$textarea.val()); var shjson = stringifyInner(textValue); module.patchText(shjson); @@ -237,156 +169,29 @@ define([ } }; - var getHeadingText = function () { - var lines = editor.getValue().split(/\n/); - - var text = ''; - lines.some(function (line) { - // lines beginning with a hash are potentially valuable - // works for markdown, python, bash, etc. - var hash = /^#(.*?)$/; - if (hash.test(line)) { - line.replace(hash, function (a, one) { - text = one; - }); - return true; + var metadataCfg = { + slideColors: function (text, back) { + if (text) { + textColor = text; + $modal.css('color', text); + $modal.css('border-color', text); + $pad.contents().find('#' + SLIDE_COLOR_ID).css('color', text); } - }); - - return text.trim(); - }; - - var suggestName = function () { - if (APP.title === defaultName) { - return getHeadingText() || ""; - } else { - return APP.title || getHeadingText() || defaultName; - } - }; - - var exportText = module.exportText = function () { - var text = editor.getValue(); - - var ext = Modes.extensionOf(module.highlightMode); - - var title = Cryptpad.fixFileName(suggestName()) + ext; - - Cryptpad.prompt(Messages.exportPrompt, title, function (filename) { - if (filename === null) { return; } - var blob = new Blob([text], { - type: 'text/plain;charset=utf-8' - }); - saveAs(blob, filename); - }); - }; - var importText = function (content, file) { - var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox'); - var mode; - var mime = CodeMirror.findModeByMIME(file.type); - - if (!mime) { - var ext = /.+\.([^.]+)$/.exec(file.name); - if (ext[1]) { - mode = CodeMirror.findModeByExtension(ext[1]); + if (back) { + backColor = back; + $modal.css('background-color', back); + $pad.contents().find('#' + SLIDE_COLOR_ID).css('background', back); + $pad.contents().find('#' + SLIDE_BACKCOLOR_ID).css('color', back); } - } else { - mode = mime && mime.mode || null; - } - - if (mode && Modes.list.some(function (o) { return o.mode === mode; })) { - setMode(mode); - $bar.find('#language-mode').val(mode); - } else { - console.log("Couldn't find a suitable highlighting mode: %s", mode); - setMode('text'); - $bar.find('#language-mode').val('text'); - } - - editor.setValue(content); - onLocal(); - }; - - var updateTitle = function (newTitle) { - if (newTitle === APP.title) { return; } - // Change the title now, and set it back to the old value if there is an error - var oldTitle = APP.title; - APP.title = newTitle; - setTabTitle(); - Cryptpad.renamePad(newTitle, function (err, data) { - if (err) { - console.log("Couldn't set pad title"); - console.error(err); - APP.title = oldTitle; - setTabTitle(); - return; + }, + slideOptions: function (newOpt) { + if (stringify(newOpt) !== stringify(slideOptions)) { + $.extend(slideOptions, newOpt); + // TODO: manage realtime + cursor in the "options" modal ?? + Slide.updateOptions(); } - APP.title = data; - setTabTitle(); - $bar.find('.' + Toolbar.constants.title).find('span.title').text(data); - $bar.find('.' + Toolbar.constants.title).find('input').val(data); - if (slideOptions.title) { Slide.updateOptions(); } - }); - }; - - var updateColors = function (text, back) { - if (text) { - textColor = text; - $modal.css('color', text); - $modal.css('border-color', text); - $pad.contents().find('#' + SLIDE_COLOR_ID).css('color', text); } - if (back) { - backColor = back; - $modal.css('background-color', back); - $pad.contents().find('#' + SLIDE_COLOR_ID).css('background', back); - $pad.contents().find('#' + SLIDE_BACKCOLOR_ID).css('color', back); - } - }; - - var updateOptions = function (newOpt) { - if (stringify(newOpt) !== stringify(slideOptions)) { - $.extend(slideOptions, newOpt); - // TODO: manage realtime + cursor in the "options" modal ?? - Slide.updateOptions(); - } - }; - - var updateDefaultTitle = function (defaultTitle) { - defaultName = defaultTitle; - $bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName); - }; - - var updateMetadata = function(shjson) { - // Extract the user list (metadata) from the hyperjson - var json = (shjson === "") ? "" : JSON.parse(shjson); - var titleUpdated = false; - if (json && json.metadata) { - if (json.metadata.users) { - var userData = json.metadata.users; - // Update the local user data - UserList.addToUserData(userData); - } - if (json.metadata.defaultTitle) { - updateDefaultTitle(json.metadata.defaultTitle); - } - if (typeof json.metadata.title !== "undefined") { - updateTitle(json.metadata.title || defaultName); - titleUpdated = true; - } - updateOptions(json.metadata.slideOptions); - updateColors(json.metadata.color, json.metadata.backColor); - } - if (!titleUpdated) { - updateTitle(defaultName); - } - }; - - var renameCb = function (err, title) { - if (err) { return; } - APP.title = title; - setTabTitle(); - onLocal(); - }; + } var createPrintDialog = function () { var slideOptionsTmp = { @@ -461,6 +266,14 @@ define([ config.onInit = function (info) { UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad); + var titleCfg = { + updateLocalTitle: setTabTitle, + getHeadingText: CodeMirror.getHeadingText + }; + Title = Cryptpad.createTitle(titleCfg, config.onLocal, Cryptpad); + + Metadata = Cryptpad.createMetadata(UserList, Title, metadataCfg); + var configTb = { displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], userList: UserList.getToolbarConfig(), @@ -468,11 +281,7 @@ define([ secret: secret, channel: info.channel }, - title: { - onRename: renameCb, - defaultName: defaultName, - suggestName: suggestName - }, + title: Title.getTitleConfig(), common: Cryptpad, readOnly: readOnly, ifrw: ifrw, @@ -482,6 +291,9 @@ define([ }; toolbar = module.toolbar = Toolbar.create(configTb); + Title.setToolbar(toolbar); + CodeMirror.init(config.onLocal, Title, toolbar); + var $rightside = toolbar.$rightside; var editHash; @@ -534,12 +346,12 @@ define([ } /* add an export button */ - var $export = Cryptpad.createButton('export', true, {}, exportText); + var $export = Cryptpad.createButton('export', true, {}, CodeMirror.exportText); $rightside.append($export); if (!readOnly) { /* add an import button */ - var $import = Cryptpad.createButton('import', true, {}, importText); + var $import = Cryptpad.createButton('import', true, {}, CodeMirror.importText); $rightside.append($import); } @@ -586,49 +398,6 @@ define([ } $rightside.append($present); - var $leavePresent = Cryptpad.createButton('source', true) - .click(leavePresentationMode); - if (!presentMode) { - $leavePresent.hide(); - } - $rightside.append($leavePresent); - - var configureTheme = function () { - /* Remember the user's last choice of theme using localStorage */ - var themeKey = 'CRYPTPAD_CODE_THEME'; - var lastTheme = localStorage.getItem(themeKey) || 'default'; - - var options = []; - Themes.forEach(function (l) { - options.push({ - tag: 'a', - attributes: { - 'data-value': l.name, - 'href': '#', - }, - content: l.name // Pretty name of the language value - }); - }); - var dropdownConfig = { - text: 'Theme', // Button initial text - options: options, // Entries displayed in the menu - left: true, // Open to the left of the button - isSelect: true, - initialValue: lastTheme - }; - var $block = module.$theme = Cryptpad.createDropdown(dropdownConfig); - - setTheme(lastTheme, $block); - - $block.find('a').click(function () { - var theme = $(this).attr('data-value'); - setTheme(theme, $block); - localStorage.setItem(themeKey, theme); - }); - - $rightside.append($block); - }; - var configureColors = function () { var $back = $('<button>', { id: SLIDE_BACKCOLOR_ID, @@ -675,7 +444,7 @@ define([ }; configureColors(); - configureTheme(); + CodeMirror.configureTheme(); if (presentMode) { $('#top-bar').hide(); @@ -687,20 +456,6 @@ define([ } }; - var unnotify = module.unnotify = function () { - if (module.tabNotification && - typeof(module.tabNotification.cancel) === 'function') { - module.tabNotification.cancel(); - } - }; - - var notify = module.notify = function () { - if (Visible.isSupported() && !Visible.currently()) { - unnotify(); - module.tabNotification = Notify.tab(1000, 10); - } - }; - config.onReady = function (info) { if (module.realtime !== info.realtime) { var realtime = module.realtime = info.realtime; @@ -727,17 +482,15 @@ define([ } if (hjson.highlightMode) { - setMode(hjson.highlightMode, module.$language); + CodeMirror.setMode(hjson.highlightMode); } } - - if (!module.highlightMode) { - setMode('javascript', module.$language); - console.log("%s => %s", module.highlightMode, module.$language.val()); + if (!CodeMirror.highlightMode) { + CodeMirror.setMode('markdown'); } // Update the user list (metadata) from the hyperjson - updateMetadata(userDoc); + Metadata.update(userDoc); editor.setValue(newDoc || initialState); @@ -746,12 +499,6 @@ define([ onLocal(); } - if (Visible.isSupported()) { - Visible.onChange(function (yes) { - if (yes) { unnotify(); } - }); - } - Slide.onChange(function (o, n, l) { if (n !== null) { document.title = APP.title + ' (' + (++n) + '/' + l + ')'; @@ -803,18 +550,18 @@ define([ if (isHistoryMode) { return; } var scroll = editor.getScrollInfo(); - var oldDoc = canonicalize($textarea.val()); + var oldDoc = canonicalize(CodeMirror.$textarea.val()); var shjson = module.realtime.getUserDoc(); // Update the user list (metadata) from the hyperjson - updateMetadata(shjson); + Metadata.update(shjson); var hjson = JSON.parse(shjson); var remoteDoc = hjson.content; var highlightMode = hjson.highlightMode; - if (highlightMode && highlightMode !== module.highlightMode) { - setMode(highlightMode, module.$language); + if (highlightMode && highlightMode !== CodeMirror.highlightMode) { + CodeMirror.setMode(highlightMode); } //get old cursor here @@ -840,7 +587,7 @@ define([ editor.scrollTo(scroll.left, scroll.top); if (!readOnly) { - var textValue = canonicalize($textarea.val()); + var textValue = canonicalize(CodeMirror.$textarea.val()); var shjson2 = stringifyInner(textValue); if (shjson2 !== shjson) { console.error("shjson2 !== shjson"); @@ -851,7 +598,7 @@ define([ Slide.update(remoteDoc); if (oldDoc !== remoteDoc) { - notify(); + Cryptpad.notify(); } }; diff --git a/www/whiteboard/main.js b/www/whiteboard/main.js index a67229231..8a8f6e696 100644 --- a/www/whiteboard/main.js +++ b/www/whiteboard/main.js @@ -10,12 +10,10 @@ define([ '/common/cryptpad-common.js', '/common/cryptget.js', '/whiteboard/colors.js', - '/common/visible.js', - '/common/notify.js', '/customize/application_config.js', '/bower_components/secure-fabric.js/dist/fabric.min.js', '/bower_components/file-saver/FileSaver.min.js', -], function ($, Config, Realtime, Crypto, Toolbar, TextPatcher, JSONSortify, JsonOT, Cryptpad, Cryptget, Colors, Visible, Notify, AppConfig) { +], function ($, Config, Realtime, Crypto, Toolbar, TextPatcher, JSONSortify, JsonOT, Cryptpad, Cryptget, Colors, AppConfig) { var saveAs = window.saveAs; var Messages = Cryptpad.Messages; @@ -212,9 +210,10 @@ window.canvas = canvas; var initializing = true; var $bar = $('#toolbar'); - var parsedHash = Cryptpad.parsePadUrl(window.location.href); - var defaultName = Cryptpad.getDefaultName(parsedHash); + + var Title; var UserList; + var Metadata; var config = module.config = { initialState: '{}', @@ -253,28 +252,14 @@ window.canvas = canvas; $colors.append($color); }; - var updatePalette = function (newPalette) { + var metadataCfg = {}; + var updatePalette = metadataCfg.updatePalette = function (newPalette) { palette = newPalette; $colors.html('<div class="hidden"> </div>'); palette.forEach(addColorToPalette); }; updatePalette(palette); - var suggestName = function (fallback) { - if (document.title === defaultName) { - return fallback || ""; - } else { - return document.title || defaultName; - } - }; - - var renameCb = function (err, title) { - if (err) { return; } - document.title = title; - config.onLocal(); - }; - - var makeColorButton = function ($container) { var $testColor = $('<input>', { type: 'color', value: '!' }); @@ -305,6 +290,11 @@ window.canvas = canvas; config.onInit = function (info) { UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad); + + Title = Cryptpad.createTitle({}, config.onLocal, Cryptpad); + + Metadata = Cryptpad.createMetadata(UserList, Title, metadataCfg); + var configTb = { displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], userList: UserList.getToolbarConfig(), @@ -312,11 +302,7 @@ window.canvas = canvas; secret: secret, channel: info.channel }, - title: { - onRename: renameCb, - defaultName: defaultName, - suggestName: suggestName - }, + title: Title.getTitleConfig(), common: Cryptpad, readOnly: readOnly, ifrw: window, @@ -327,6 +313,8 @@ window.canvas = canvas; toolbar = module.toolbar = Toolbar.create(configTb); + Title.setToolbar(toolbar); + var $rightside = toolbar.$rightside; /* save as template */ @@ -371,75 +359,11 @@ window.canvas = canvas; }; }; - var updateTitle = function (newTitle) { - if (newTitle === document.title) { return; } - // Change the title now, and set it back to the old value if there is an error - var oldTitle = document.title; - document.title = newTitle; - Cryptpad.renamePad(newTitle, function (err, data) { - if (err) { - console.log("Couldn't set pad title"); - console.error(err); - document.title = oldTitle; - return; - } - document.title = data; - $bar.find('.' + Toolbar.constants.title).find('span.title').text(data); - $bar.find('.' + Toolbar.constants.title).find('input').val(data); - }); - }; - - var updateDefaultTitle = function (defaultTitle) { - defaultName = defaultTitle; - $bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName); - }; - - - var updateMetadata = function(shjson) { - // Extract the user list (metadata) from the hyperjson - var json = (shjson === "") ? "" : JSON.parse(shjson); - var titleUpdated = false; - if (json && json.metadata) { - if (json.metadata.users) { - var userData = json.metadata.users; - // Update the local user data - UserList.addToUserData(userData); - } - if (json.metadata.defaultTitle) { - updateDefaultTitle(json.metadata.defaultTitle); - } - if (typeof json.metadata.title !== "undefined") { - updateTitle(json.metadata.title || defaultName); - titleUpdated = true; - } - if (typeof(json.metadata.palette) !== 'undefined') { - updatePalette(json.metadata.palette); - } - } - if (!titleUpdated) { - updateTitle(defaultName); - } - }; - - var unnotify = function () { - if (module.tabNotification && - typeof(module.tabNotification.cancel) === 'function') { - module.tabNotification.cancel(); - } - }; - - var notify = function () { - if (Visible.isSupported() && !Visible.currently()) { - unnotify(); - module.tabNotification = Notify.tab(1000, 10); - } - }; - var onRemote = config.onRemote = Catch(function () { if (initializing) { return; } var userDoc = module.realtime.getUserDoc(); - updateMetadata(userDoc); + Metadata.update(userDoc); var json = JSON.parse(userDoc); var remoteDoc = json.content; @@ -449,7 +373,7 @@ window.canvas = canvas; canvas.renderAll(); var content = canvas.toDatalessJSON(); - if (content !== remoteDoc) { notify(); } + if (content !== remoteDoc) { Cryptpad.notify(); } if (readOnly) { setEditable(false); } }); setEditable(false); @@ -460,11 +384,11 @@ window.canvas = canvas; metadata: { users: UserList.userData, palette: palette, - defaultTitle: defaultName + defaultTitle: Title.defaultTitle } }; if (!initializing) { - obj.metadata.title = document.title; + obj.metadata.title = Title.title; } // stringify the json and send it into chainpad return JSONSortify(obj); @@ -495,10 +419,6 @@ window.canvas = canvas; initializing = false; onRemote(); - if (Visible.isSupported()) { - Visible.onChange(function (yes) { if (yes) { unnotify(); } }); - } - /* TODO: restore palette from metadata.palette */ if (readOnly) { return; } From 50c8a859e627cfa8b790239b408811eac8f05bfe Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 9 May 2017 17:57:27 +0200 Subject: [PATCH 008/236] Move the CodeMirror cursor code to common-codemirror --- www/code/main.js | 50 +------------------------------ www/common/common-codemirror.js | 52 +++++++++++++++++++++++++++++++++ www/slide/main.js | 50 +------------------------------ 3 files changed, 54 insertions(+), 98 deletions(-) diff --git a/www/code/main.js b/www/code/main.js index ea9a66001..d8b9903f4 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -278,37 +278,9 @@ define([ UserList.getLastName(toolbar.$userNameButton, isNew); }; - var cursorToPos = function(cursor, oldText) { - var cLine = cursor.line; - var cCh = cursor.ch; - var pos = 0; - var textLines = oldText.split("\n"); - for (var line = 0; line <= cLine; line++) { - if(line < cLine) { - pos += textLines[line].length+1; - } - else if(line === cLine) { - pos += cCh; - } - } - return pos; - }; - - var posToCursor = function(position, newText) { - var cursor = { - line: 0, - ch: 0 - }; - var textLines = newText.substr(0, position).split("\n"); - cursor.line = textLines.length - 1; - cursor.ch = textLines[cursor.line].length; - return cursor; - }; - config.onRemote = function () { if (initializing) { return; } if (isHistoryMode) { return; } - var scroll = editor.getScrollInfo(); var oldDoc = canonicalize(CodeMirror.$textarea.val()); var shjson = module.realtime.getUserDoc(); @@ -324,27 +296,7 @@ define([ CodeMirror.setMode(highlightMode); } - //get old cursor here - var oldCursor = {}; - oldCursor.selectionStart = cursorToPos(editor.getCursor('from'), oldDoc); - oldCursor.selectionEnd = cursorToPos(editor.getCursor('to'), oldDoc); - - editor.setValue(remoteDoc); - editor.save(); - - var op = TextPatcher.diff(oldDoc, remoteDoc); - var selects = ['selectionStart', 'selectionEnd'].map(function (attr) { - return TextPatcher.transformCursor(oldCursor[attr], op); - }); - - if(selects[0] === selects[1]) { - editor.setCursor(posToCursor(selects[0], remoteDoc)); - } - else { - editor.setSelection(posToCursor(selects[0], remoteDoc), posToCursor(selects[1], remoteDoc)); - } - - editor.scrollTo(scroll.left, scroll.top); + CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher); if (!readOnly) { var textValue = canonicalize(CodeMirror.$textarea.val()); diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js index bbaad49df..51e916ddf 100644 --- a/www/common/common-codemirror.js +++ b/www/common/common-codemirror.js @@ -239,6 +239,58 @@ define([ onLocal(); }; + var cursorToPos = function(cursor, oldText) { + var cLine = cursor.line; + var cCh = cursor.ch; + var pos = 0; + var textLines = oldText.split("\n"); + for (var line = 0; line <= cLine; line++) { + if(line < cLine) { + pos += textLines[line].length+1; + } + else if(line === cLine) { + pos += cCh; + } + } + return pos; + }; + + var posToCursor = function(position, newText) { + var cursor = { + line: 0, + ch: 0 + }; + var textLines = newText.substr(0, position).split("\n"); + cursor.line = textLines.length - 1; + cursor.ch = textLines[cursor.line].length; + return cursor; + }; + + exp.setValueAndCursor = function (oldDoc, remoteDoc, TextPatcher) { + var scroll = editor.getScrollInfo(); + //get old cursor here + var oldCursor = {}; + oldCursor.selectionStart = cursorToPos(editor.getCursor('from'), oldDoc); + oldCursor.selectionEnd = cursorToPos(editor.getCursor('to'), oldDoc); + + editor.setValue(remoteDoc); + editor.save(); + + var op = TextPatcher.diff(oldDoc, remoteDoc); + var selects = ['selectionStart', 'selectionEnd'].map(function (attr) { + return TextPatcher.transformCursor(oldCursor[attr], op); + }); + + if(selects[0] === selects[1]) { + editor.setCursor(posToCursor(selects[0], remoteDoc)); + } + else { + editor.setSelection(posToCursor(selects[0], remoteDoc), posToCursor(selects[1], remoteDoc)); + } + + editor.scrollTo(scroll.left, scroll.top); + }; + return exp; }; diff --git a/www/slide/main.js b/www/slide/main.js index 0d7de7758..a7583f104 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -518,37 +518,9 @@ define([ UserList.getLastName(toolbar.$userNameButton, isNew); }; - var cursorToPos = function(cursor, oldText) { - var cLine = cursor.line; - var cCh = cursor.ch; - var pos = 0; - var textLines = oldText.split("\n"); - for (var line = 0; line <= cLine; line++) { - if(line < cLine) { - pos += textLines[line].length+1; - } - else if(line === cLine) { - pos += cCh; - } - } - return pos; - }; - - var posToCursor = function(position, newText) { - var cursor = { - line: 0, - ch: 0 - }; - var textLines = newText.substr(0, position).split("\n"); - cursor.line = textLines.length - 1; - cursor.ch = textLines[cursor.line].length; - return cursor; - }; - config.onRemote = function () { if (initializing) { return; } if (isHistoryMode) { return; } - var scroll = editor.getScrollInfo(); var oldDoc = canonicalize(CodeMirror.$textarea.val()); var shjson = module.realtime.getUserDoc(); @@ -564,27 +536,7 @@ define([ CodeMirror.setMode(highlightMode); } - //get old cursor here - var oldCursor = {}; - oldCursor.selectionStart = cursorToPos(editor.getCursor('from'), oldDoc); - oldCursor.selectionEnd = cursorToPos(editor.getCursor('to'), oldDoc); - - editor.setValue(remoteDoc); - editor.save(); - - var op = TextPatcher.diff(oldDoc, remoteDoc); - var selects = ['selectionStart', 'selectionEnd'].map(function (attr) { - return TextPatcher.transformCursor(oldCursor[attr], op); - }); - - if(selects[0] === selects[1]) { - editor.setCursor(posToCursor(selects[0], remoteDoc)); - } - else { - editor.setSelection(posToCursor(selects[0], remoteDoc), posToCursor(selects[1], remoteDoc)); - } - - editor.scrollTo(scroll.left, scroll.top); + CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher); if (!readOnly) { var textValue = canonicalize(CodeMirror.$textarea.val()); From ff16084719e65d4231a25010fc4e976b50c75933 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 9 May 2017 18:10:02 +0200 Subject: [PATCH 009/236] Fix lint errors --- www/common/common-codemirror.js | 2 +- www/common/common-metadata.js | 2 +- www/common/common-title.js | 4 +-- www/pad/main.js | 2 +- www/poll/main.js | 1 - www/slide/main.js | 44 +++++++++++++-------------------- 6 files changed, 22 insertions(+), 33 deletions(-) diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js index 51e916ddf..d9dfddaf6 100644 --- a/www/common/common-codemirror.js +++ b/www/common/common-codemirror.js @@ -91,7 +91,7 @@ define([ }; }()); - var getHeadingText = function () { + exp.getHeadingText = function () { var lines = editor.getValue().split(/\n/); var text = ''; diff --git a/www/common/common-metadata.js b/www/common/common-metadata.js index 2198156d5..d5487901c 100644 --- a/www/common/common-metadata.js +++ b/www/common/common-metadata.js @@ -4,7 +4,7 @@ define(function () { module.create = function (UserList, Title, cfg) { var exp = {}; - var updateMetadata = exp.update = function (shjson) { + exp.update = function (shjson) { // Extract the user list (metadata) from the hyperjson var json = (!shjson || typeof shjson !== "string") ? "" : JSON.parse(shjson); var titleUpdated = false; diff --git a/www/common/common-title.js b/www/common/common-title.js index 056205bfb..f5485d86d 100644 --- a/www/common/common-title.js +++ b/www/common/common-title.js @@ -24,7 +24,7 @@ define(function () { var $title; exp.setToolbar = function (toolbar) { $title = toolbar && toolbar.title; - } + }; exp.getTitle = function () { return exp.title; }; var isDefaultTitle = exp.isDefaultTitle = function (){return exp.title === exp.defaultTitle;}; @@ -73,7 +73,7 @@ define(function () { onRename: renameCb, suggestName: suggestTitle, defaultName: exp.defaultTitle - } + }; }; return exp; diff --git a/www/pad/main.js b/www/pad/main.js index bf34b9328..50e35f2dc 100644 --- a/www/pad/main.js +++ b/www/pad/main.js @@ -430,7 +430,7 @@ define([ var exportFile = function () { var html = getHTML(); - var suggestion = suggestName('cryptpad-document'); + var suggestion = Title.suggestTitle('cryptpad-document'); Cryptpad.prompt(Messages.exportPrompt, Cryptpad.fixFileName(suggestion) + '.html', function (filename) { if (!(typeof(filename) === 'string' && filename)) { return; } diff --git a/www/poll/main.js b/www/poll/main.js index 9f1af0a2a..0d6474dbb 100644 --- a/www/poll/main.js +++ b/www/poll/main.js @@ -32,7 +32,6 @@ define([ if (!DEBUG) { debug = function() {}; } - var error = console.error; Cryptpad.addLoadingScreen(); var onConnectError = function () { diff --git a/www/slide/main.js b/www/slide/main.js index a7583f104..3b01ae9fd 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -81,22 +81,12 @@ define([ Slide.setModal(APP, $modal, $content, $pad, ifrw, slideOptions, initialState); - var setStyleState = function (state) { - $pad.contents().find('#print, #content').find('style').each(function (i, el) { - el.disabled = !state; - }); - }; - var enterPresentationMode = function (shouldLog) { Slide.show(true, editor.getValue()); if (shouldLog) { Cryptpad.log(Messages.presentSuccess); } }; - var leavePresentationMode = function () { - setStyleState(false); - Slide.show(false); - }; if (presentMode) { enterPresentationMode(true); @@ -170,20 +160,6 @@ define([ }; var metadataCfg = { - slideColors: function (text, back) { - if (text) { - textColor = text; - $modal.css('color', text); - $modal.css('border-color', text); - $pad.contents().find('#' + SLIDE_COLOR_ID).css('color', text); - } - if (back) { - backColor = back; - $modal.css('background-color', back); - $pad.contents().find('#' + SLIDE_COLOR_ID).css('background', back); - $pad.contents().find('#' + SLIDE_BACKCOLOR_ID).css('color', back); - } - }, slideOptions: function (newOpt) { if (stringify(newOpt) !== stringify(slideOptions)) { $.extend(slideOptions, newOpt); @@ -191,7 +167,21 @@ define([ Slide.updateOptions(); } } - } + }; + var updateColors = metadataCfg.slideColors = function (text, back) { + if (text) { + textColor = text; + $modal.css('color', text); + $modal.css('border-color', text); + $pad.contents().find('#' + SLIDE_COLOR_ID).css('color', text); + } + if (back) { + backColor = back; + $modal.css('background-color', back); + $pad.contents().find('#' + SLIDE_COLOR_ID).css('background', back); + $pad.contents().find('#' + SLIDE_BACKCOLOR_ID).css('color', back); + } + }; var createPrintDialog = function () { var slideOptionsTmp = { @@ -494,8 +484,8 @@ define([ editor.setValue(newDoc || initialState); - if (Cryptpad.initialName && APP.title === defaultName) { - updateTitle(Cryptpad.initialName); + if (Cryptpad.initialName && Title.isDefaultTitle()) { + Title.updateTitle(Cryptpad.initialName); onLocal(); } From df47b913e3f10be67cd4d47e6b9296274ad1b50c Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 9 May 2017 18:36:18 +0200 Subject: [PATCH 010/236] fetch array buffers in cryptpad-common --- www/common/common-util.js | 10 ++++++++++ www/common/cryptpad-common.js | 1 + 2 files changed, 11 insertions(+) diff --git a/www/common/common-util.js b/www/common/common-util.js index 2542e0a22..f5ba9a61c 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -89,5 +89,15 @@ define([], function () { return Math.floor(bytes / 1024 * 100) / 100; }; + Util.fetch = function (src, cb) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", src, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function () { + return void cb(void 0, new Uint8Array(xhr.response)); + }; + xhr.send(null); + }; + return Util; }); diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index b58209029..a57ae9787 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -66,6 +66,7 @@ define([ common.fixFileName = Util.fixFileName; common.bytesToMegabytes = Util.bytesToMegabytes; common.bytesToKilobytes = Util.bytesToKilobytes; + common.fetch = Util.fetch; // import hash utilities for export var createRandomHash = common.createRandomHash = Hash.createRandomHash; From 299a53ded74db79bca77b3e2cffdf1079ae7724b Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 9 May 2017 18:54:56 +0200 Subject: [PATCH 011/236] prefer to use functions from common --- www/file/file-crypto.js | 15 +++++++++++++++ www/file/main.js | 16 ++++------------ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js index 608b3bb6e..35e2f8037 100644 --- a/www/file/file-crypto.js +++ b/www/file/file-crypto.js @@ -7,6 +7,18 @@ define([ var plainChunkLength = 128 * 1024; var cypherChunkLength = 131088; + var encodePrefix = function (p) { + return [ + 65280, // 255 << 8 + 255, + ].map(function (n, i) { + return (p & n) >> ((1 - i) * 8); + }); + }; + var decodePrefix = function (A) { + return (A[0] << 8) | A[1]; + }; + var slice = function (A) { return Array.prototype.slice.call(A); }; @@ -64,6 +76,7 @@ define([ var nonce = createNonce(); var i = 0; + decodePrefix([]); // TODO var takeChunk = function () { var start = i * cypherChunkLength; var end = start + cypherChunkLength; @@ -126,6 +139,8 @@ define([ var encrypt = function (u8, metadata, key) { var nonce = createNonce(); + encodePrefix(); // TODO + // encode metadata var metaBuffer = Array.prototype.slice .call(Nacl.util.decodeUTF8(JSON.stringify(metadata))); diff --git a/www/file/main.js b/www/file/main.js index a7a0f0fb2..223fcc41e 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -24,16 +24,6 @@ define([ Cryptpad.addLoadingScreen(); - var fetch = function (src, cb) { - var xhr = new XMLHttpRequest(); - xhr.open("GET", src, true); - xhr.responseType = "arraybuffer"; - xhr.onload = function () { - return void cb(void 0, new Uint8Array(xhr.response)); - }; - xhr.send(null); - }; - var myFile; var myDataType; @@ -78,6 +68,7 @@ define([ var uri = ['', 'blob', id.slice(0,2), id].join('/'); console.log("encrypted blob is now available as %s", uri); + // TODO use cryptpad-common utilities window.location.hash = [ '', 2, @@ -88,6 +79,7 @@ define([ $form.hide(); + // check if the uploaded file can be decrypted var newU8 = FileCrypto.joinChunks(chunks); FileCrypto.decrypt(newU8, key, function (e, res) { if (e) { return console.error(e); } @@ -97,7 +89,7 @@ define([ var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href)); APP.updateTitle(title || defaultName); - + Cryptpad.alert("successfully uploaded: " + title); }); }); }); @@ -212,7 +204,7 @@ define([ if (!uploadMode) { var src = Cryptpad.getBlobPathFromHex(hexFileName); - return fetch(src, function (e, u8) { + return Cryptpad.fetch(src, function (e, u8) { // now decrypt the u8 if (e) { return window.alert('error'); } var cryptKey = secret.keys && secret.keys.fileKeyStr; From a6c49cd65c053ae3931ced9dd7be0f7db146cc3b Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 10:49:59 +0200 Subject: [PATCH 012/236] Fix undefined title in slides present mode --- www/slide/main.js | 4 ++-- www/slide/slide.js | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/www/slide/main.js b/www/slide/main.js index 3b01ae9fd..b3d1209fd 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -491,11 +491,11 @@ define([ Slide.onChange(function (o, n, l) { if (n !== null) { - document.title = APP.title + ' (' + (++n) + '/' + l + ')'; + document.title = Title.title + ' (' + (++n) + '/' + l + ')'; return; } console.log("Exiting presentation mode"); - document.title = APP.title; + document.title = Title.title; }); Cryptpad.removeLoadingScreen(); diff --git a/www/slide/slide.js b/www/slide/slide.js index c9e6f3dcd..912820390 100644 --- a/www/slide/slide.js +++ b/www/slide/slide.js @@ -211,7 +211,10 @@ define([ $(ifrw).focus(); change(null, Slide.index); if (!isPresentURL()) { - window.location.hash += '/present'; + if (window.location.href.slice(-1) !== '/') { + window.location.hash += '/'; + } + window.location.hash += 'present'; } $pad.contents().find('.cryptpad-present-button').hide(); $pad.contents().find('.cryptpad-source-button').show(); @@ -220,7 +223,7 @@ define([ $('.top-bar').hide(); return; } - window.location.hash = window.location.hash.replace(/\/present$/, ''); + window.location.hash = window.location.hash.replace(/\/present$/, '/'); change(Slide.index, null); $pad.contents().find('.cryptpad-present-button').show(); $pad.contents().find('.cryptpad-source-button').hide(); From 6a8153aca36918977f07bebc106ccf859326a754 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 11:44:58 +0200 Subject: [PATCH 013/236] Fix selection issues in the drive with Chrome --- www/drive/file.css | 3 +++ www/drive/file.less | 4 ++++ www/drive/inner.html | 2 +- www/drive/main.js | 31 +++++++++++++++++++++++-------- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/www/drive/file.css b/www/drive/file.css index 431cecd60..fed050db1 100644 --- a/www/drive/file.css +++ b/www/drive/file.css @@ -43,6 +43,9 @@ body { margin-top: 0.5em; } } +div:focus { + outline: none; +} .fa { /*min-width: 17px;*/ margin-right: 3px; diff --git a/www/drive/file.less b/www/drive/file.less index fc6985802..fe506ae35 100644 --- a/www/drive/file.less +++ b/www/drive/file.less @@ -70,6 +70,10 @@ body { } } +div:focus { + outline: none; +} + .fa { /*min-width: 17px;*/ margin-right: 3px; diff --git a/www/drive/inner.html b/www/drive/inner.html index 859ae3391..c7f63f860 100644 --- a/www/drive/inner.html +++ b/www/drive/inner.html @@ -14,7 +14,7 @@ <div class="app-container" tabindex="0"> <div id="tree"> </div> - <div id="content"> + <div id="content" tabindex="2"> </div> <div id="treeContextMenu" class="contextMenu dropdown clearfix"> <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" style="display:block;position:static;margin-bottom:5px;"> diff --git a/www/drive/main.js b/www/drive/main.js index 39b5450fc..fe57a02c4 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -297,6 +297,7 @@ define([ }; $content.on('mousedown', function (e) { if (e.which !== 1) { return; } + $content.focus(); sel.down = true; if (!e.ctrlKey) { removeSelected(); } var rect = e.currentTarget.getBoundingClientRect(); @@ -359,13 +360,15 @@ define([ }; $content.mousemove(sel.move); }); - $content.on('mouseup', function (e) { + $(ifrw).on('mouseup', function (e) { + if (!sel.down) { return; } if (e.which !== 1) { return; } sel.down = false; sel.$selectBox.hide(); $content.off('mousemove', sel.move); delete sel.move; $content.find('.selectedTmp').removeClass('selectedTmp').addClass('selected'); + e.stopPropagation(); }); $(ifrw).keydown(function (e) { @@ -560,7 +563,7 @@ define([ var filterContextMenu = function ($menu, paths) { //var path = $element.data('path'); - if (!paths || paths.length === 0) { console.error('no paths'); } + if (!paths || paths.length === 0) { logError('no paths'); } var hide = []; var hasFolder = false; @@ -2028,16 +2031,19 @@ define([ var search = APP.Search = {}; var createSearch = function ($container) { var isInSearch = currentPath[0] === SEARCH; - var $div = $('<div>', {'id': 'searchContainer'}); + var $div = $('<div>', {'id': 'searchContainer', 'class': 'unselectable'}); var $input = $('<input>', { id: 'searchInput', type: 'text', + draggable: false, + tabindex: 1, placeholder: Messages.fm_searchPlaceholder }).keyup(function (e) { if (search.to) { window.clearTimeout(search.to); } if ([38, 39, 40, 41].indexOf(e.which) !== -1) { if (!$input.val()) { $input.blur(); + $content.focus(); return; } else { e.stopPropagation(); @@ -2163,7 +2169,7 @@ define([ Cryptpad.getFileSize(el, function (e, bytes) { if (e) { // there was a problem with the RPC - console.error(e); + logError(e); // but we don't want to break the interface. // continue as if there was no RPC @@ -2239,7 +2245,7 @@ define([ if (paths.length !== 1) { return; } var el = filesOp.find(paths[0].path); getProperties(el, function (e, $prop) { - if (e) { return void console.error(e); } + if (e) { return void logError(e); } Cryptpad.alert('', undefined, true); $('.alertify .msg').html("").append($prop); }); @@ -2279,7 +2285,7 @@ define([ if (paths.length !== 1) { return; } var el = filesOp.find(paths[0].path); getProperties(el, function (e, $prop) { - if (e) { return void console.error(e); } + if (e) { return void logError(e); } Cryptpad.alert('', undefined, true); $('.alertify .msg').html("").append($prop); }); @@ -2369,9 +2375,18 @@ define([ module.hideMenu(); }); - $appContainer.on('mousedown', function (e) { + // Chrome considers the double-click means "select all" in the window + $content.on('mousedown', function (e) { + $content.focus(); + e.preventDefault(); + }); + $appContainer.on('mouseup', function (e) { + if (sel.down) { return; } if (e.which !== 1) { return ; } removeSelected(e); + }); + $appContainer.on('click', function (e) { + if (e.which !== 1) { return ; } removeInput(); module.hideMenu(e); hideNewButton(); @@ -2676,7 +2691,7 @@ define([ history.onEnterHistory(obj); } catch (e) { // Probably a parse error - console.error(e); + logError(e); } }; histConfig.onClose = function () { From 922e7803e99de418d5f4723b955921b720b9d5c5 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 10 May 2017 11:54:05 +0200 Subject: [PATCH 014/236] remove extraneous slashes from hashes when parsing --- www/common/common-hash.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index d4c2bb112..a2e96e2fc 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -66,6 +66,10 @@ define([ return '/' + parsed.type + '/#' + parsed.hash; }; + var fixDuplicateSlashes = function (s) { + return s.replace(/\/+/g, '/'); + }; + /* * Returns all needed keys for a realtime channel * - no argument: use the URL hash or create one if it doesn't exist @@ -95,7 +99,7 @@ define([ } else { // New hash - var hashArray = hash.split('/'); + var hashArray = fixDuplicateSlashes(hash).split('/'); if (hashArray.length < 4) { Hash.alert("Unable to parse the key"); throw new Error("Unable to parse the key"); @@ -179,7 +183,7 @@ Version 2 parsed.version = 0; return parsed; } - var hashArr = hash.split('/'); + var hashArr = fixDuplicateSlashes(hash).split('/'); if (hashArr[1] && hashArr[1] === '1') { parsed.version = 1; parsed.mode = hashArr[2]; From 6a1c799a6ea79d7b26eb55ea48800d40f9cc0c69 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 10 May 2017 11:54:21 +0200 Subject: [PATCH 015/236] support async tests --- www/assert/main.js | 130 +++++++++++++++++++++++++++------------------ 1 file changed, 77 insertions(+), 53 deletions(-) diff --git a/www/assert/main.js b/www/assert/main.js index 392392db8..449834a61 100644 --- a/www/assert/main.js +++ b/www/assert/main.js @@ -15,26 +15,40 @@ define([ var failMessages = []; var ASSERTS = []; - var runASSERTS = function () { + var runASSERTS = function (cb) { + var count = ASSERTS.length; + var successes = 0; + + var done = function (err, index) { + count--; + if (err) { failMessages.push(err); } + else { successes++; } + if (count === 0) { cb(); } + }; + ASSERTS.forEach(function (f, index) { - f(index); + f(function (err) { + done(err, index); + }, index); }); }; var assert = function (test, msg) { - ASSERTS.push(function (i) { - var returned = test(); - if (returned === true) { - assertions++; - } else { - failed = true; - failedOn = assertions; - failMessages.push({ - test: i, - message: msg, - output: returned, - }); - } + ASSERTS.push(function (cb, i) { + test(function (result) { + if (result === true) { + assertions++; + cb(); + } else { + failed = true; + failedOn = assertions; + cb({ + test: i, + message: msg, + output: result, + }); + } + }); }); }; @@ -58,7 +72,7 @@ define([ }; var HJSON_equal = function (shjson) { - assert(function () { + assert(function (cb) { // parse your stringified Hyperjson var hjson; @@ -82,10 +96,10 @@ define([ var diff = TextPatcher.format(shjson, op); if (success) { - return true; + return cb(true); } else { - return '<br><br>insert: ' + diff.insert + '<br><br>' + - 'remove: ' + diff.remove + '<br><br>'; + return cb('<br><br>insert: ' + diff.insert + '<br><br>' + + 'remove: ' + diff.remove + '<br><br>'); } }, "expected hyperjson equality"); }; @@ -94,7 +108,7 @@ define([ var roundTrip = function (sel) { var target = $(sel)[0]; - assert(function () { + assert(function (cb) { var hjson = Hyperjson.fromDOM(target); var cloned = Hyperjson.toDOM(hjson); var success = cloned.outerHTML === target.outerHTML; @@ -111,7 +125,7 @@ define([ TextPatcher.log(target.outerHTML, op); } - return success; + return cb(success); }, "Round trip serialization introduced artifacts."); }; @@ -125,9 +139,9 @@ define([ var strungJSON = function (orig) { var result; - assert(function () { + assert(function (cb) { result = JSON.stringify(JSON.parse(orig)); - return result === orig; + return cb(result === orig); }, "expected result (" + result + ") to equal original (" + orig + ")"); }; @@ -138,46 +152,56 @@ define([ }); // check that old hashes parse correctly - assert(function () { + assert(function (cb) { var secret = Cryptpad.parseHash('67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy'); - return secret.channel === "67b8385b07352be53e40746d2be6ccd7" && + return cb(secret.channel === "67b8385b07352be53e40746d2be6ccd7" && secret.key === "XAYSuJYYqa9NfmInyHci7LNy" && - secret.version === 0; + secret.version === 0); }, "Old hash failed to parse"); // make sure version 1 hashes parse correctly - assert(function () { + assert(function (cb) { var secret = Cryptpad.parseHash('/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI'); - return secret.version === 1 && + return cb(secret.version === 1 && secret.mode === "edit" && secret.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" && secret.key === "usn4+9CqVja8Q7RZOGTfRgqI" && - !secret.present; + !secret.present); }, "version 1 hash failed to parse"); // test support for present mode in hashes - assert(function () { + assert(function (cb) { var secret = Cryptpad.parseHash('/1/edit/CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G/present'); - return secret.version === 1 + return cb(secret.version === 1 && secret.mode === "edit" && secret.channel === "CmN5+YJkrHFS3NSBg-P7Sg" && secret.key === "DNZ2wcG683GscU4fyOyqA87G" - && secret.present; + && secret.present); }, "version 1 hash failed to parse"); + // test support for present mode in hashes + assert(function (cb) { + var secret = Cryptpad.parseHash('/1/edit//CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G//present'); + return cb(secret.version === 1 + && secret.mode === "edit" + && secret.channel === "CmN5+YJkrHFS3NSBg-P7Sg" + && secret.key === "DNZ2wcG683GscU4fyOyqA87G" + && secret.present); + }, "Couldn't handle multiple successive slashes"); + // test support for trailing slash - assert(function () { + assert(function (cb) { var secret = Cryptpad.parseHash('/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI/'); - return secret.version === 1 && + return cb(secret.version === 1 && secret.mode === "edit" && secret.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" && secret.key === "usn4+9CqVja8Q7RZOGTfRgqI" && - !secret.present; + !secret.present); }, "test support for trailing slashes in version 1 hash failed to parse"); - assert(function () { + assert(function (cb) { // TODO - return true; + return cb(true); }, "version 2 hash failed to parse correctly"); var swap = function (str, dict) { @@ -194,7 +218,7 @@ define([ return str || ''; }; - var formatFailures = function () { + var formatFailures = function () { var template = multiline(function () { /* <p class="error"> Failed on test number {{test}} with error message: @@ -215,16 +239,15 @@ The test returned: }).join("\n"); }; - runASSERTS(); - - $("body").html(function (i, val) { - var dict = { - previous: val, - totalAssertions: ASSERTS.length, - passedAssertions: assertions, - plural: (assertions === 1? '' : 's'), - failMessages: formatFailures() - }; + runASSERTS(function () { + $("body").html(function (i, val) { + var dict = { + previous: val, + totalAssertions: ASSERTS.length, + passedAssertions: assertions, + plural: (assertions === 1? '' : 's'), + failMessages: formatFailures() + }; var SUCCESS = swap(multiline(function(){/* <div class="report">{{passedAssertions}} / {{totalAssertions}} test{{plural}} passed. @@ -237,12 +260,13 @@ The test returned: {{previous}} */}), dict); - var report = SUCCESS; + var report = SUCCESS; - return report; + return report; + }); + + var $report = $('.report'); + $report.addClass(failed?'failure':'success'); }); - var $report = $('.report'); - $report.addClass(failed?'failure':'success'); - }); From 97a28d3938865e732cd9508cb5b71faffb0ecda9 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 10 May 2017 11:56:10 +0200 Subject: [PATCH 016/236] test file encryption/decryption --- www/file/test/index.html | 16 +++++++ www/file/test/main.js | 97 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 www/file/test/index.html create mode 100644 www/file/test/main.js diff --git a/www/file/test/index.html b/www/file/test/index.html new file mode 100644 index 000000000..75b04dc83 --- /dev/null +++ b/www/file/test/index.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html class="cp pad"> +<head> + <title>CryptPad</title> + <meta content="text/html; charset=utf-8" http-equiv="content-type"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css"> + <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script> + <link rel="icon" type="image/png" + href="/customize/main-favicon.png" + data-main-favicon="/customize/main-favicon.png" + data-alt-favicon="/customize/alt-favicon.png" + id="favicon" /> + <link rel="stylesheet" href="/customize/main.css" /> +</head> +<body> diff --git a/www/file/test/main.js b/www/file/test/main.js new file mode 100644 index 000000000..c2b24e4f2 --- /dev/null +++ b/www/file/test/main.js @@ -0,0 +1,97 @@ +define([ + 'jquery', + '/bower_components/chainpad-crypto/crypto.js', + '/bower_components/chainpad-netflux/chainpad-netflux.js', + '/common/toolbar.js', + '/common/cryptpad-common.js', + '/common/visible.js', + '/common/notify.js', + '/file/file-crypto.js', + '/bower_components/tweetnacl/nacl-fast.min.js', + '/bower_components/file-saver/FileSaver.min.js', +], function ($, Crypto, realtimeInput, Toolbar, Cryptpad, Visible, Notify, FileCrypto) { + var Nacl = window.nacl; + + $(function () { + + var filesAreSame = function (a, b) { + var l = a.length; + if (l !== b.length) { return false; } + + var i = 0; + for (; i < l; i++) { if (a[i] !== b[i]) { return false; } } + return true; + }; + + var metadataIsSame = function (A, B) { + return !Object.keys(A).some(function (k) { + return A[k] !== B[k]; + }); + }; + + var upload = function (blob, metadata) { + var u8 = new Uint8Array(blob); + + var key = Nacl.randomBytes(32); + var next = FileCrypto.encrypt(u8, metadata, key); + + var chunks = []; + var sendChunk = function (box, cb) { + chunks.push(box); + cb(); + }; + + var again = function (state, box) { + switch (state) { + case 0: + sendChunk(box, function (e) { + if (e) { return console.error(e); } + next(again); + }); + break; + case 1: + sendChunk(box, function (e) { + if (e) { return console.error(e); } + next(again); + }); + break; + case 2: + sendChunk(box, function (e) { + if (e) { return console.error(e); } + + // check if the uploaded file can be decrypted + var newU8 = FileCrypto.joinChunks(chunks); + FileCrypto.decrypt(newU8, key, function (e, res) { + if (e) { return Cryptpad.alert(e); } + + if (filesAreSame(blob, res.content) && + metadataIsSame(res.metadata, metadata)) { + Cryptpad.alert("successfully uploaded"); + } else { + Cryptpad.alert('encryption failure!'); + } + }); + }); + break; + default: + throw new Error("E_INVAL_STATE"); + } + }; + next(again); + }; + + var andThen = function () { + var src = '/customize/cryptofist_mini.png'; + Cryptpad.fetch(src, function (e, file) { + console.log(file); + upload(file, { + pew: 'pew', + bang: 'bang', + }); + }); + }; + + andThen(); + + }); +}); From c00158d23a3ee4119277d73834944c39d47705e1 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 13:39:14 +0200 Subject: [PATCH 017/236] Move code to common-history --- www/code/main.js | 33 ++++++++------------------------- www/common/common-history.js | 32 ++++++++++++++++++++++++++------ www/drive/main.js | 34 ++++++++++------------------------ www/pad/main.js | 30 ++++++------------------------ www/slide/main.js | 35 +++++++++-------------------------- 5 files changed, 59 insertions(+), 105 deletions(-) diff --git a/www/code/main.js b/www/code/main.js index d8b9903f4..85cd26db3 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -150,34 +150,17 @@ define([ } /* add a history button */ - var histConfig = {}; - histConfig.onRender = function (val) { - if (typeof val === "undefined") { return; } - try { - var hjson = JSON.parse(val || '{}'); - var remoteDoc = hjson.content; + var histConfig = { + onLocal: config.onLocal(), + onRemote: config.onRemote(), + setHistory: setHistory, + applyVal: function (val) { + var remoteDoc = JSON.parse(val || '{}').content; editor.setValue(remoteDoc || ''); editor.save(); - } catch (e) { - // Probably a parse error - console.error(e); - } + }, + $toolbar: $bar }; - histConfig.onClose = function () { - // Close button clicked - setHistory(false, true); - }; - histConfig.onRevert = function () { - // Revert button clicked - setHistory(false, false); - config.onLocal(); - config.onRemote(); - }; - histConfig.onReady = function () { - // Called when the history is loaded and the UI displayed - setHistory(true); - }; - histConfig.$toolbar = $bar; var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig}); $rightside.append($hist); diff --git a/www/common/common-history.js b/www/common/common-history.js index 1cd0e6555..8597598c1 100644 --- a/www/common/common-history.js +++ b/www/common/common-history.js @@ -24,7 +24,6 @@ define([ var wcId = common.hrefToHexChannelId(config.href || window.location.href); - console.log(wcId); var createRealtime = function () { return ChainPad.create({ userName: 'history', @@ -80,11 +79,32 @@ define([ if (History.loading) { return void console.error("History is already being loaded..."); } History.loading = true; var $toolbar = config.$toolbar; - var noFunc = function () {}; - var render = config.onRender || noFunc; - var onClose = config.onClose || noFunc; - var onRevert = config.onRevert || noFunc; - var onReady = config.onReady || noFunc; + + if (!config.applyVal || !config.setHistory || !config.onLocal || !config.onRemote) { + throw new Error("Missing config element: applyVal, onLocal, onRemote, setHistory"); + } + + // config.setHistory(bool, bool) + // - bool1: history value + // - bool2: reset old content? + var render = function (val) { + if (typeof val === "undefined") { return; } + try { + config.applyVal(val); + } catch (e) { + // Probably a parse error + console.error(e); + } + }; + var onClose = function () { config.setHistory(false, true); }; + var onRevert = function () { + config.setHistory(false, false); + config.onLocal(); + config.onRemote(); + }; + var onReady = function () { + config.setHistory(true); + }; var Messages = common.Messages; diff --git a/www/drive/main.js b/www/drive/main.js index fe57a02c4..9e88fc5f0 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -2529,7 +2529,6 @@ define([ setEditable(!bool); if (!bool && update) { history.onLeaveHistory(); - //init(); //TODO real proxy here } }; @@ -2682,33 +2681,20 @@ define([ } /* add a history button */ - var histConfig = {}; - histConfig.onRender = function (val) { - if (typeof val === "undefined") { return; } - try { + var histConfig = { + onLocal: function () { + proxy.drive = history.currentObj.drive; + }, + onRemote: function () {}, + setHistory: setHistory, + applyVal: function (val) { var obj = JSON.parse(val || '{}'); history.currentObj = obj; history.onEnterHistory(obj); - } catch (e) { - // Probably a parse error - logError(e); - } + }, + $toolbar: APP.$bar, + href: window.location.origin + window.location.pathname + APP.hash }; - histConfig.onClose = function () { - // Close button clicked - setHistory(false, true); - }; - histConfig.onRevert = function () { - // Revert button clicked - setHistory(false, false); - proxy.drive = history.currentObj.drive; - }; - histConfig.onReady = function () { - // Called when the history is loaded and the UI displayed - setHistory(true); - }; - histConfig.$toolbar = APP.$bar; - histConfig.href = window.location.origin + window.location.pathname + APP.hash; var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig}); $rightside.append($hist); diff --git a/www/pad/main.js b/www/pad/main.js index 50e35f2dc..635ea0087 100644 --- a/www/pad/main.js +++ b/www/pad/main.js @@ -499,31 +499,13 @@ define([ } /* add a history button */ - var histConfig = {}; - histConfig.onRender = function (val) { - if (typeof val === "undefined") { return; } - try { - applyHjson(val || '["BODY",{},[]]'); - } catch (e) { - // Probably a parse error - console.error(e); - } + var histConfig = { + onLocal: realtimeOptions.onLocal(), + onRemote: realtimeOptions.onRemote(), + setHistory: setHistory, + applyVal: function (val) { applyHjson(val || '["BODY",{},[]]'); }, + $toolbar: $bar }; - histConfig.onClose = function () { - // Close button clicked - setHistory(false, true); - }; - histConfig.onRevert = function () { - // Revert button clicked - setHistory(false, false); - realtimeOptions.onLocal(); - realtimeOptions.onRemote(); - }; - histConfig.onReady = function () { - // Called when the history is loaded and the UI displayed - setHistory(true); - }; - histConfig.$toolbar = $bar; var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig}); $rightside.append($hist); diff --git a/www/slide/main.js b/www/slide/main.js index b3d1209fd..ad80f03d7 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -293,34 +293,17 @@ define([ } /* add a history button */ - var histConfig = {}; - histConfig.onRender = function (val) { - if (typeof val === "undefined") { return; } - try { - var hjson = JSON.parse(val || '{}'); - var remoteDoc = hjson.content; + var histConfig = { + onLocal: config.onLocal(), + onRemote: config.onRemote(), + setHistory: setHistory, + applyVal: function (val) { + var remoteDoc = JSON.parse(val || '{}').content; editor.setValue(remoteDoc || ''); editor.save(); - } catch (e) { - // Probably a parse error - console.error(e); - } - }; - histConfig.onClose = function () { - // Close button clicked - setHistory(false, true); - }; - histConfig.onRevert = function () { - // Revert button clicked - setHistory(false, false); - config.onLocal(); - config.onRemote(); - }; - histConfig.onReady = function () { - // Called when the history is loaded and the UI displayed - setHistory(true); - }; - histConfig.$toolbar = $bar; + }, + $toolbar: $bar + } var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig}); $rightside.append($hist); From 96ccb943979e28ef201ef9196440f2fe3889e9bc Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 14:44:01 +0200 Subject: [PATCH 018/236] Add the share button when a file upload is complete --- www/common/toolbar2.js | 5 +-- www/file/main.js | 75 ++++++++++++++---------------------------- 2 files changed, 28 insertions(+), 52 deletions(-) diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index 9d7d43aa9..49e2376e8 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -367,7 +367,7 @@ define([ return "Loading share button"; }; - var createFileShare = function () { + var createFileShare = function (toolbar) { if (!window.location.hash) { throw new Error("Unable to display the share button: hash required in the URL"); } @@ -380,6 +380,7 @@ define([ if (success) { Cryptpad.log(Messages.shareSuccess); } }); + toolbar.$leftside.append($button); return $button; }; @@ -852,7 +853,7 @@ define([ tb['useradmin'] = createUserAdmin; - var addElement = function (arr, additionnalCfg, init) { + var addElement = toolbar.addElement = function (arr, additionnalCfg, init) { if (typeof additionnalCfg === "object") { $.extend(true, config, additionnalCfg); } arr.forEach(function (el) { if (typeof el !== "string" || !el.trim()) { return; } diff --git a/www/file/main.js b/www/file/main.js index 223fcc41e..a8e7da517 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -2,7 +2,7 @@ define([ 'jquery', '/bower_components/chainpad-crypto/crypto.js', '/bower_components/chainpad-netflux/chainpad-netflux.js', - '/common/toolbar.js', + '/common/toolbar2.js', '/common/cryptpad-common.js', '/common/visible.js', '/common/notify.js', @@ -24,6 +24,8 @@ define([ Cryptpad.addLoadingScreen(); + var Title; + var myFile; var myDataType; @@ -68,17 +70,13 @@ define([ var uri = ['', 'blob', id.slice(0,2), id].join('/'); console.log("encrypted blob is now available as %s", uri); - // TODO use cryptpad-common utilities - window.location.hash = [ - '', - 2, - Cryptpad.hexToBase64(id).replace(/\//g, '-'), - Nacl.util.encodeBase64(key).replace(/\//g, '-'), - '' - ].join('/'); + var b64Key = Nacl.util.encodeBase64(key); + window.location.hash = Cryptpad.getFileHashFromKeys(id, ib64key); $form.hide(); + APP.toolbar.addElement(['fileshare'], {}); + // check if the uploaded file can be decrypted var newU8 = FileCrypto.joinChunks(chunks); FileCrypto.decrypt(newU8, key, function (e, res) { @@ -88,7 +86,8 @@ define([ myDataType = res.metadata.type; var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href)); - APP.updateTitle(title || defaultName); + Title.updateTitle(title || defaultName); + APP.toolbar.title.show(); Cryptpad.alert("successfully uploaded: " + title); }); }); @@ -133,9 +132,6 @@ define([ uploadMode = true; } - var parsed = Cryptpad.parsePadUrl(window.location.href); - var defaultName = Cryptpad.getDefaultName(parsed); - var getTitle = function () { var pad = Cryptpad.getRelativeHref(window.location.href); var fo = Cryptpad.getStore().getProxy().fo; @@ -143,27 +139,6 @@ define([ return data ? data.title : undefined; }; - var updateTitle = APP.updateTitle = function (newTitle) { - Cryptpad.renamePad(newTitle, function (err, data) { - if (err) { - console.log("Couldn't set pad title"); - console.error(err); - return; - } - document.title = newTitle; - $bar.find('.' + Toolbar.constants.title).find('span.title').text(data); - $bar.find('.' + Toolbar.constants.title).find('input').val(data); - }); - }; - - var suggestName = function () { - return document.title || getTitle() || ''; - }; - - var renameCb = function (err, title) { - document.title = title; - }; - var exportFile = function () { var suggestion = document.title; Cryptpad.prompt(Messages.exportPrompt, @@ -174,33 +149,33 @@ define([ }); }; - var displayed = ['useradmin', 'newpad', 'limit']; + Title = Cryptpad.createTitle({}, function(){}, Cryptpad); + + var displayed = ['title', 'useradmin', 'newpad', 'limit']; if (secret && hexFileName) { - displayed.push('share'); + displayed.push('fileshare'); } var configTb = { displayed: displayed, ifrw: ifrw, common: Cryptpad, - title: { - onRename: renameCb, - defaultName: defaultName, - suggestName: suggestName - }, - share: { - secret: secret, - channel: hexFileName - }, - hideDisplayName: true + title: Title.getTitleConfig(), + hideDisplayName: true, + $container: $bar }; - Toolbar.create($bar, null, null, null, null, configTb); - var $rightside = $bar.find('.' + Toolbar.constants.rightside); + var toolbar = APP.toolbar = Toolbar.create(configTb); + + Title.setToolbar(toolbar); + + if (uploadMode) { toolbar.title.hide(); } + + var $rightside = toolbar.$rightside; var $export = Cryptpad.createButton('export', true, {}, exportFile); $rightside.append($export); - updateTitle(Cryptpad.initialName || getTitle() || defaultName); + Title.updateTitle(Cryptpad.initialName || getTitle() || Title.defaultTitle); if (!uploadMode) { var src = Cryptpad.getBlobPathFromHex(hexFileName); @@ -219,7 +194,7 @@ define([ var title = document.title = data.metadata.name; myFile = data.content; myDataType = data.metadata.type; - updateTitle(title || defaultName); + Title.updateTitle(title || Title.defaultTitle); Cryptpad.removeLoadingScreen(); }); }); From 3c4b6a89d2ca7b7685a94474421ed571e58c5cc0 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 14:48:15 +0200 Subject: [PATCH 019/236] Fix a conflict with the arrow keys and renaming a folder in the tree --- www/drive/main.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/www/drive/main.js b/www/drive/main.js index 9e88fc5f0..97a48d79d 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -523,6 +523,10 @@ define([ placeholder: name, value: name }).data('path', path); + + // Stop propagation on keydown to avoid issues with arrow keys + $input.on('keydown', function (e) { e.stopPropagation(); }); + $input.on('keyup', function (e) { if (e.which === 13) { removeInput(true); From 1e4fc5a979f5cedd35450d4ddbd0a15ee2b2217d Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 14:56:50 +0200 Subject: [PATCH 020/236] lint --- www/file/main.js | 2 +- www/slide/main.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/www/file/main.js b/www/file/main.js index a8e7da517..ffb143b73 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -71,7 +71,7 @@ define([ console.log("encrypted blob is now available as %s", uri); var b64Key = Nacl.util.encodeBase64(key); - window.location.hash = Cryptpad.getFileHashFromKeys(id, ib64key); + window.location.hash = Cryptpad.getFileHashFromKeys(id, b64key); $form.hide(); diff --git a/www/slide/main.js b/www/slide/main.js index ad80f03d7..b5dd26704 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -303,7 +303,7 @@ define([ editor.save(); }, $toolbar: $bar - } + }; var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig}); $rightside.append($hist); From 5c8586f8a32c4c0f50157145075716fca79bee11 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 15:00:05 +0200 Subject: [PATCH 021/236] Fix typo in file upload --- www/common/cryptpad-common.js | 1 + www/file/main.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index a1daa8b17..73b51e8b3 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -84,6 +84,7 @@ define([ common.getEditHashFromKeys = Hash.getEditHashFromKeys; common.getViewHashFromKeys = Hash.getViewHashFromKeys; + common.getFileHashFromKeys = Hash.getFileHashFromKeys; common.getSecrets = Hash.getSecrets; common.getHashes = Hash.getHashes; common.createChannelId = Hash.createChannelId; diff --git a/www/file/main.js b/www/file/main.js index ffb143b73..66e0f6c25 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -71,7 +71,7 @@ define([ console.log("encrypted blob is now available as %s", uri); var b64Key = Nacl.util.encodeBase64(key); - window.location.hash = Cryptpad.getFileHashFromKeys(id, b64key); + window.location.hash = Cryptpad.getFileHashFromKeys(id, b64Key); $form.hide(); From db2f7a5e36d2ab129311c4eb513496cd061d69a0 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 10 May 2017 15:36:14 +0200 Subject: [PATCH 022/236] add todos and change file id size --- rpc.js | 92 ++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 63 insertions(+), 29 deletions(-) diff --git a/rpc.js b/rpc.js index db3e98faa..ec6e516d0 100644 --- a/rpc.js +++ b/rpc.js @@ -13,7 +13,8 @@ var RPC = module.exports; var Store = require("./storage/file"); var isValidChannel = function (chan) { - return /^[a-fA-F0-9]/.test(chan); + return /^[a-fA-F0-9]/.test(chan) || + [32, 48].indexOf(chan.length) !== -1; }; var uint8ArrayToHex = function (a) { @@ -33,10 +34,10 @@ var uint8ArrayToHex = function (a) { }).join(''); }; -var createChannelId = function () { - var id = uint8ArrayToHex(Nacl.randomBytes(16)); - if (id.length !== 32 || /[^a-f0-9]/.test(id)) { - throw new Error('channel ids must consist of 32 hex characters'); +var createFileId = function () { + var id = uint8ArrayToHex(Nacl.randomBytes(24)); + if (id.length !== 48 || /[^a-f0-9]/.test(id)) { + throw new Error('file ids must consist of 48 hex characters'); } return id; }; @@ -245,14 +246,32 @@ var getChannelList = function (store, Sessions, publicKey, cb) { }); }; +var getUploadSize = function (store, channel, cb) { + var path = ''; + + Fs.stat(path, function (err, stats) { + if (err) { return void cb(err); } + cb(void 0, stats.size); + }); +}; + var getFileSize = function (store, channel, cb) { if (!isValidChannel(channel)) { return void cb('INVALID_CHAN'); } - if (typeof(store.getChannelSize) !== 'function') { - return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); + + if (channel.length === 32) { + if (typeof(store.getChannelSize) !== 'function') { + return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); + } + + return void store.getChannelSize(channel, function (e, size) { + if (e) { return void cb(e.code); } + cb(void 0, size); + }); } - return void store.getChannelSize(channel, function (e, size) { - if (e) { return void cb(e.code); } + // 'channel' refers to a file, so you need anoter API + getUploadSize(null, channel, function (e, size) { + if (e) { return void cb(e); } cb(void 0, size); }); }; @@ -332,6 +351,7 @@ var getHash = function (store, Sessions, publicKey, cb) { store.message(publicKey, JSON.stringify(msg), cb); }; */ +// TODO check if new pinned size exceeds user quota var pinChannel = function (store, Sessions, publicKey, channels, cb) { if (!channels && channels.filter) { // expected array @@ -383,7 +403,7 @@ var unpinChannel = function (store, Sessions, publicKey, channels, cb) { function (e) { if (e) { return void cb(e); } toStore.forEach(function (channel) { - delete session.channels[channel]; // = false; + delete session.channels[channel]; }); getHash(store, Sessions, publicKey, cb); @@ -391,6 +411,7 @@ var unpinChannel = function (store, Sessions, publicKey, channels, cb) { }); }; +// TODO check if new pinned size exceeds user quota var resetUserPins = function (store, Sessions, publicKey, channelList, cb) { var session = beginSession(Sessions, publicKey); @@ -469,13 +490,13 @@ var makeFileStream = function (root, id, cb) { }); }; -var upload = function (stagingPath, Sessions, publicKey, content, cb) { +var upload = function (paths, Sessions, publicKey, content, cb) { var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line var session = Sessions[publicKey]; session.atime = +new Date(); if (!session.blobstage) { - makeFileStream(stagingPath, publicKey, function (e, stream) { + makeFileStream(paths.staging, publicKey, function (e, stream) { if (e) { return void cb(e); } var blobstage = session.blobstage = stream; @@ -488,10 +509,10 @@ var upload = function (stagingPath, Sessions, publicKey, content, cb) { } }; -var upload_cancel = function (stagingPath, Sessions, publicKey, cb) { - var path = makeFilePath(stagingPath, publicKey); +var upload_cancel = function (paths, Sessions, publicKey, cb) { + var path = makeFilePath(paths.staging, publicKey); if (!path) { - console.log(stagingPath, publicKey); + console.log(paths.staging, publicKey); console.log(path); return void cb('NO_FILE'); } @@ -512,7 +533,13 @@ var isFile = function (filePath, cb) { }); }; -var upload_complete = function (stagingPath, storePath, Sessions, publicKey, cb) { +/* TODO +change channel IDs to a different length so that when we pin, we will be able +to tell that it is not a channel, but a file, just by its length. + +also, when your upload is complete, pin the resulting file. +*/ +var upload_complete = function (paths, Sessions, publicKey, cb) { var session = Sessions[publicKey]; if (session.blobstage && session.blobstage.close) { @@ -520,14 +547,14 @@ var upload_complete = function (stagingPath, storePath, Sessions, publicKey, cb) delete session.blobstage; } - var oldPath = makeFilePath(stagingPath, publicKey); + var oldPath = makeFilePath(paths.staging, publicKey); var tryRandomLocation = function (cb) { - var id = createChannelId(); + var id = createFileId(); var prefix = id.slice(0, 2); - var newPath = makeFilePath(storePath, id); + var newPath = makeFilePath(paths.blob, id); - safeMkdir(Path.join(storePath, prefix), function (e) { + safeMkdir(Path.join(paths.blob, prefix), function (e) { if (e) { console.error(e); return void cb('RENAME_ERR'); @@ -558,8 +585,14 @@ var upload_complete = function (stagingPath, storePath, Sessions, publicKey, cb) }); }; -var upload_status = function (stagingPath, Sessions, publicKey, cb) { - var filePath = makeFilePath(stagingPath, publicKey); +/* TODO +when asking about your upload status, also send some information about how big +your upload is going to be. if that would exceed your limit, return TOO_LARGE +error. + +*/ +var upload_status = function (paths, Sessions, publicKey, cb) { + var filePath = makeFilePath(paths.staging, publicKey); if (!filePath) { return void cb('E_INVALID_PATH'); } isFile(filePath, function (e, yes) { cb(e, yes); @@ -577,9 +610,10 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) return typeof(config[key]) === 'string'? config[key]: def; }; - var pinPath = keyOrDefaultString('pinPath', './pins'); - var blobPath = keyOrDefaultString('blobPath', './blob'); - var blobStagingPath = keyOrDefaultString('blobStagingPath', './blobstage'); + var paths = {}; + var pinPath = paths.pin = keyOrDefaultString('pinPath', './pins'); + var blobPath = paths.blob = keyOrDefaultString('blobPath', './blob'); + var blobStagingPath = paths.staging = keyOrDefaultString('blobStagingPath', './blobstage'); var store; @@ -695,22 +729,22 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) // restricted to privileged users... case 'UPLOAD': if (!privileged) { return deny(); } - return void upload(blobStagingPath, Sessions, safeKey, msg[1], function (e, len) { + return void upload(paths, Sessions, safeKey, msg[1], function (e, len) { Respond(e, len); }); case 'UPLOAD_STATUS': if (!privileged) { return deny(); } - return void upload_status(blobStagingPath, Sessions, safeKey, function (e, stat) { + return void upload_status(paths, Sessions, safeKey, function (e, stat) { Respond(e, stat); }); case 'UPLOAD_COMPLETE': if (!privileged) { return deny(); } - return void upload_complete(blobStagingPath, blobPath, Sessions, safeKey, function (e, hash) { + return void upload_complete(paths, Sessions, safeKey, function (e, hash) { Respond(e, hash); }); case 'UPLOAD_CANCEL': if (!privileged) { return deny(); } - return void upload_cancel(blobStagingPath, Sessions, safeKey, function (e) { + return void upload_cancel(paths, Sessions, safeKey, function (e) { Respond(e); }); default: From 5aba2d4640c5ac7cc82835c17b59d220532e0fe3 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 10 May 2017 15:36:34 +0200 Subject: [PATCH 023/236] remove unused variable --- www/assert/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/assert/main.js b/www/assert/main.js index 449834a61..7da11f408 100644 --- a/www/assert/main.js +++ b/www/assert/main.js @@ -19,7 +19,7 @@ define([ var count = ASSERTS.length; var successes = 0; - var done = function (err, index) { + var done = function (err) { count--; if (err) { failMessages.push(err); } else { successes++; } From 5a21be81123c53b5b633198ff7ac67ec8579f589 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 15:54:09 +0200 Subject: [PATCH 024/236] Improve UI on mobile --- customize.dist/main.css | 5 ++ customize.dist/main.js | 91 ++++++++++++----------- customize.dist/src/less/loading.less | 3 + www/drive/main.js | 4 +- www/login/main.js | 107 ++++++++++++++------------- www/register/main.js | 100 +++++++++++++------------ 6 files changed, 166 insertions(+), 144 deletions(-) diff --git a/customize.dist/main.css b/customize.dist/main.css index 026649207..d54ec6a98 100644 --- a/customize.dist/main.css +++ b/customize.dist/main.css @@ -388,6 +388,11 @@ right: 0; text-align: center; } +@media screen and (max-height: 600px) { + .cp #loadingTip { + display: none; + } +} .cp #loadingTip span { background-color: #302B28; color: #fafafa; diff --git a/customize.dist/main.js b/customize.dist/main.js index cdaeedfdb..088e1f51a 100644 --- a/customize.dist/main.js +++ b/customize.dist/main.js @@ -119,54 +119,57 @@ define([ }); $('button.login').click(function () { - Cryptpad.addLoadingScreen(Messages.login_hashing); - // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password + // setTimeout 100ms to remove the keyboard on mobile devices before the loading screen pops up window.setTimeout(function () { - loginReady(function () { - var uname = $uname.val(); - var passwd = $passwd.val(); - Login.loginOrRegister(uname, passwd, false, function (err, result) { - if (!err) { - var proxy = result.proxy; + Cryptpad.addLoadingScreen(Messages.login_hashing); + // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password + window.setTimeout(function () { + loginReady(function () { + var uname = $uname.val(); + var passwd = $passwd.val(); + Login.loginOrRegister(uname, passwd, false, function (err, result) { + if (!err) { + var proxy = result.proxy; - // successful validation and user already exists - // set user hash in localStorage and redirect to drive - if (proxy && !proxy.login_name) { - proxy.login_name = result.userName; + // successful validation and user already exists + // set user hash in localStorage and redirect to drive + if (proxy && !proxy.login_name) { + proxy.login_name = result.userName; + } + + proxy.edPrivate = result.edPrivate; + proxy.edPublic = result.edPublic; + + Cryptpad.whenRealtimeSyncs(result.realtime, function () { + Cryptpad.login(result.userHash, result.userName, function () { + document.location.href = '/drive/'; + }); + }); + return; } - - proxy.edPrivate = result.edPrivate; - proxy.edPublic = result.edPublic; - - Cryptpad.whenRealtimeSyncs(result.realtime, function () { - Cryptpad.login(result.userHash, result.userName, function () { - document.location.href = '/drive/'; - }); - }); - return; - } - switch (err) { - case 'NO_SUCH_USER': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_noSuchUser); - }); - break; - case 'INVAL_USER': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_invalUser); - }); - break; - case 'INVAL_PASS': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_invalPass); - }); - break; - default: // UNHANDLED ERROR - Cryptpad.errorLoadingScreen(Messages.login_unhandledError); - } + switch (err) { + case 'NO_SUCH_USER': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_noSuchUser); + }); + break; + case 'INVAL_USER': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_invalUser); + }); + break; + case 'INVAL_PASS': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_invalPass); + }); + break; + default: // UNHANDLED ERROR + Cryptpad.errorLoadingScreen(Messages.login_unhandledError); + } + }); }); - }); - }, 0); + }, 0); + }, 100); }); /* End Log in UI */ diff --git a/customize.dist/src/less/loading.less b/customize.dist/src/less/loading.less index b48045622..6dcf2491a 100644 --- a/customize.dist/src/less/loading.less +++ b/customize.dist/src/less/loading.less @@ -36,6 +36,9 @@ left: 0; right: 0; text-align: center; + @media screen and (max-height: @media-medium-screen) { + display: none; + } span { background-color: @bg-loading; color: @color-loading; diff --git a/www/drive/main.js b/www/drive/main.js index 97a48d79d..d4ac6cce2 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -770,6 +770,7 @@ define([ var displayMenu = function (e, $menu) { $menu.css({ display: "block" }); + if (APP.mobile()) { return; } var h = $menu.outerHeight(); var w = $menu.outerWidth(); var wH = window.innerHeight; @@ -1792,7 +1793,7 @@ define([ module.resetTree(); // in history mode we want to focus the version number input - if (!history.isHistoryMode) { $tree.find('#searchInput').focus(); } + if (!history.isHistoryMode && !APP.mobile()) { $tree.find('#searchInput').focus(); } $tree.find('#searchInput')[0].selectionStart = getSearchCursor(); $tree.find('#searchInput')[0].selectionEnd = getSearchCursor(); @@ -2066,6 +2067,7 @@ define([ if (!filesOp.comparePath(newLocation, currentPath.slice())) { displayDirectory(newLocation); } return; } + if (APP.mobile()) { return; } search.to = window.setTimeout(function () { if (!isInSearchTmp) { search.oldLocation = currentPath.slice(); } var newLocation = [SEARCH, $input.val()]; diff --git a/www/login/main.js b/www/login/main.js index 973cd985f..7a677cebb 100644 --- a/www/login/main.js +++ b/www/login/main.js @@ -57,65 +57,68 @@ define([ }); $('button.login').click(function () { - Cryptpad.addLoadingScreen(Messages.login_hashing); - // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password + // setTimeout 100ms to remove the keyboard on mobile devices before the loading screen pops up window.setTimeout(function () { - loginReady(function () { - var uname = $uname.val(); - var passwd = $passwd.val(); - Login.loginOrRegister(uname, passwd, false, function (err, result) { - if (!err) { - var proxy = result.proxy; + Cryptpad.addLoadingScreen(Messages.login_hashing); + // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password + window.setTimeout(function () { + loginReady(function () { + var uname = $uname.val(); + var passwd = $passwd.val(); + Login.loginOrRegister(uname, passwd, false, function (err, result) { + if (!err) { + var proxy = result.proxy; - // successful validation and user already exists - // set user hash in localStorage and redirect to drive - if (!proxy.login_name) { - result.proxy.login_name = result.userName; - } + // successful validation and user already exists + // set user hash in localStorage and redirect to drive + if (!proxy.login_name) { + result.proxy.login_name = result.userName; + } - proxy.edPrivate = result.edPrivate; - proxy.edPublic = result.edPublic; + proxy.edPrivate = result.edPrivate; + proxy.edPublic = result.edPublic; - Cryptpad.feedback('LOGIN', true); - Cryptpad.whenRealtimeSyncs(result.realtime, function() { - Cryptpad.login(result.userHash, result.userName, function () { - if (sessionStorage.redirectTo) { - var h = sessionStorage.redirectTo; - var parser = document.createElement('a'); - parser.href = h; - if (parser.origin === window.location.origin) { - delete sessionStorage.redirectTo; - window.location.href = h; - return; + Cryptpad.feedback('LOGIN', true); + Cryptpad.whenRealtimeSyncs(result.realtime, function() { + Cryptpad.login(result.userHash, result.userName, function () { + if (sessionStorage.redirectTo) { + var h = sessionStorage.redirectTo; + var parser = document.createElement('a'); + parser.href = h; + if (parser.origin === window.location.origin) { + delete sessionStorage.redirectTo; + window.location.href = h; + return; + } } - } - window.location.href = '/drive/'; + window.location.href = '/drive/'; + }); }); - }); - return; - } - switch (err) { - case 'NO_SUCH_USER': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_noSuchUser); - }); - break; - case 'INVAL_USER': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_invalUser); - }); - break; - case 'INVAL_PASS': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_invalPass); - }); - break; - default: // UNHANDLED ERROR - Cryptpad.errorLoadingScreen(Messages.login_unhandledError); - } + return; + } + switch (err) { + case 'NO_SUCH_USER': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_noSuchUser); + }); + break; + case 'INVAL_USER': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_invalUser); + }); + break; + case 'INVAL_PASS': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_invalPass); + }); + break; + default: // UNHANDLED ERROR + Cryptpad.errorLoadingScreen(Messages.login_unhandledError); + } + }); }); - }); - }, 0); + }, 0); + }, 100); }); }); }); diff --git a/www/register/main.js b/www/register/main.js index 6e97e2a93..bafe55423 100644 --- a/www/register/main.js +++ b/www/register/main.js @@ -101,57 +101,63 @@ define([ function (yes) { if (!yes) { return; } - Cryptpad.addLoadingScreen(Messages.login_hashing); - Login.loginOrRegister(uname, passwd, true, function (err, result) { - var proxy = result.proxy; + // setTimeout 100ms to remove the keyboard on mobile devices before the loading screen pops up + window.setTimeout(function () { + Cryptpad.addLoadingScreen(Messages.login_hashing); + // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password + window.setTimeout(function () { + Login.loginOrRegister(uname, passwd, true, function (err, result) { + var proxy = result.proxy; - if (err) { - switch (err) { - case 'NO_SUCH_USER': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_noSuchUser); - }); - break; - case 'INVAL_USER': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_invalUser); - }); - break; - case 'INVAL_PASS': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.alert(Messages.login_invalPass); - }); - break; - case 'ALREADY_REGISTERED': - Cryptpad.removeLoadingScreen(function () { - Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) { - if (!yes) { return; } - proxy.login_name = uname; + if (err) { + switch (err) { + case 'NO_SUCH_USER': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_noSuchUser); + }); + break; + case 'INVAL_USER': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_invalUser); + }); + break; + case 'INVAL_PASS': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.alert(Messages.login_invalPass); + }); + break; + case 'ALREADY_REGISTERED': + Cryptpad.removeLoadingScreen(function () { + Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) { + if (!yes) { return; } + proxy.login_name = uname; - if (!proxy[Cryptpad.displayNameKey]) { - proxy[Cryptpad.displayNameKey] = uname; - } - Cryptpad.eraseTempSessionValues(); - logMeIn(result); - }); - }); - break; - default: // UNHANDLED ERROR - Cryptpad.errorLoadingScreen(Messages.login_unhandledError); - } - return; - } - Cryptpad.eraseTempSessionValues(); - if (shouldImport) { - sessionStorage.migrateAnonDrive = 1; - } + if (!proxy[Cryptpad.displayNameKey]) { + proxy[Cryptpad.displayNameKey] = uname; + } + Cryptpad.eraseTempSessionValues(); + logMeIn(result); + }); + }); + break; + default: // UNHANDLED ERROR + Cryptpad.errorLoadingScreen(Messages.login_unhandledError); + } + return; + } + Cryptpad.eraseTempSessionValues(); + if (shouldImport) { + sessionStorage.migrateAnonDrive = 1; + } - proxy.login_name = uname; - proxy[Cryptpad.displayNameKey] = uname; - sessionStorage.createReadme = 1; + proxy.login_name = uname; + proxy[Cryptpad.displayNameKey] = uname; + sessionStorage.createReadme = 1; - logMeIn(result); - }); + logMeIn(result); + }); + }, 0); + }, 100); }, { ok: Messages.register_writtenPassword, cancel: Messages.register_cancel, From cf81b02096122007e24ebd66af0be2d65f448084 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 10 May 2017 16:11:41 +0200 Subject: [PATCH 025/236] Make sure the spinner is always centered in the loading screen --- www/common/common-interface.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/common-interface.js b/www/common/common-interface.js index fb965a5d9..b2b5dad10 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -143,7 +143,7 @@ define([ return { show: function () { - $target.show(); + $target.css('display', 'inline'); return this; }, hide: function () { From 1525712deb960bc8f1acbcda548d4f3b2fb850a2 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 10 May 2017 17:13:14 +0200 Subject: [PATCH 026/236] new encrypted file format --- www/file/file-crypto.js | 104 ++++++++++++++++------------------------ www/file/main.js | 84 ++++++++++++++------------------ www/file/test/main.js | 62 ++++++++++-------------- 3 files changed, 104 insertions(+), 146 deletions(-) diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js index 35e2f8037..5290dfb80 100644 --- a/www/file/file-crypto.js +++ b/www/file/file-crypto.js @@ -57,28 +57,40 @@ define([ }, [])); }; - var padChunk = function (A) { - var padding; - if (A.length === plainChunkLength) { return A; } - if (A.length < plainChunkLength) { - padding = new Array(plainChunkLength - A.length).fill(32); - return A.concat(padding); - } - if (A.length > plainChunkLength) { - // how many times larger is it? - var chunks = Math.ceil(A.length / plainChunkLength); - padding = new Array((plainChunkLength * chunks) - A.length).fill(32); - return A.concat(padding); - } - }; - var decrypt = function (u8, key, cb) { + var fail = function (e) { + cb(e || "DECRYPTION_ERROR"); + }; + var nonce = createNonce(); var i = 0; - decodePrefix([]); // TODO + var prefix = u8.subarray(0, 2); + var metadataLength = decodePrefix(prefix); + + var res = { + metadata: undefined, + }; + + var metaBox = new Uint8Array(u8.subarray(2, 2 + metadataLength)); + + var metaChunk = Nacl.secretbox.open(metaBox, nonce, key); + increment(nonce); + + try { + res.metadata = JSON.parse(Nacl.util.encodeUTF8(metaChunk)); + } catch (e) { + return fail('E_METADATA_DECRYPTION'); + } + + if (!res.metadata) { + return void setTimeout(function () { + cb('NO_METADATA'); + }); + } + var takeChunk = function () { - var start = i * cypherChunkLength; + var start = i * cypherChunkLength + 2 + metadataLength; var end = start + cypherChunkLength; i++; var box = new Uint8Array(u8.subarray(start, end)); @@ -89,37 +101,9 @@ define([ return plaintext; }; - var buffer = ''; - - var res = { - metadata: undefined, - }; - - // decrypt metadata - var chunk; - for (; !res.metadata && i * cypherChunkLength < u8.length;) { - chunk = takeChunk(); - buffer += Nacl.util.encodeUTF8(chunk); - try { - res.metadata = JSON.parse(buffer); - //console.log(res.metadata); - } catch (e) { - console.log('buffering another chunk for metadata'); - } - } - - if (!res.metadata) { - return void setTimeout(function () { - cb('NO_METADATA'); - }); - } - - var fail = function () { - cb("DECRYPTION_ERROR"); - }; - var chunks = []; // decrypt file contents + var chunk; for (;i * cypherChunkLength < u8.length;) { chunk = takeChunk(); if (!chunk) { @@ -139,15 +123,12 @@ define([ var encrypt = function (u8, metadata, key) { var nonce = createNonce(); - encodePrefix(); // TODO - // encode metadata var metaBuffer = Array.prototype.slice .call(Nacl.util.decodeUTF8(JSON.stringify(metadata))); - var plaintext = new Uint8Array(padChunk(metaBuffer)); + var plaintext = new Uint8Array(metaBuffer); - var j = 0; var i = 0; /* @@ -164,22 +145,21 @@ define([ var part; var box; - if (state === 0) { // metadata... - start = j * plainChunkLength; - end = start + plainChunkLength; + // DONE + if (state === 2) { return void cb(); } - part = plaintext.subarray(start, end); + if (state === 0) { // metadata... + part = new Uint8Array(plaintext); box = Nacl.secretbox(part, nonce, key); increment(nonce); - j++; - - // metadata is done - if (j * plainChunkLength >= plaintext.length) { - return void cb(state++, box); + if (box.length > 65535) { + return void cb('METADATA_TOO_LARGE'); } - - return void cb(state, box); + var prefixed = new Uint8Array(encodePrefix(box.length) + .concat(slice(box))); + state++; + return void cb(void 0, prefixed); } // encrypt the rest of the file... @@ -194,7 +174,7 @@ define([ // regular data is done if (i * plainChunkLength >= u8.length) { state = 2; } - return void cb(state, box); + return void cb(void 0, box); }; return next; diff --git a/www/file/main.js b/www/file/main.js index 66e0f6c25..32bcaafe6 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -47,55 +47,43 @@ define([ }); }; - var again = function (state, box) { - switch (state) { - case 0: - sendChunk(box, function (e) { - if (e) { return console.error(e); } - next(again); - }); - break; - case 1: - sendChunk(box, function (e) { - if (e) { return console.error(e); } - next(again); - }); - break; - case 2: - sendChunk(box, function (e) { - if (e) { return console.error(e); } - Cryptpad.rpc.send('UPLOAD_COMPLETE', '', function (e, res) { - if (e) { return void console.error(e); } - var id = res[0]; - var uri = ['', 'blob', id.slice(0,2), id].join('/'); - console.log("encrypted blob is now available as %s", uri); - - var b64Key = Nacl.util.encodeBase64(key); - window.location.hash = Cryptpad.getFileHashFromKeys(id, b64Key); - - $form.hide(); - - APP.toolbar.addElement(['fileshare'], {}); - - // check if the uploaded file can be decrypted - var newU8 = FileCrypto.joinChunks(chunks); - FileCrypto.decrypt(newU8, key, function (e, res) { - if (e) { return console.error(e); } - var title = document.title = res.metadata.name; - myFile = res.content; - myDataType = res.metadata.type; - - var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href)); - Title.updateTitle(title || defaultName); - APP.toolbar.title.show(); - Cryptpad.alert("successfully uploaded: " + title); - }); - }); - }); - break; - default: - throw new Error("E_INVAL_STATE"); + var again = function (err, box) { + if (err) { throw new Error(err); } + if (box) { + return void sendChunk(box, function (e) { + if (e) { return console.error(e); } + next(again); + }); } + + // if not box then done + Cryptpad.rpc.send('UPLOAD_COMPLETE', '', function (e, res) { + if (e) { return void console.error(e); } + var id = res[0]; + var uri = ['', 'blob', id.slice(0,2), id].join('/'); + console.log("encrypted blob is now available as %s", uri); + + var b64Key = Nacl.util.encodeBase64(key); + window.location.hash = Cryptpad.getFileHashFromKeys(id, b64Key); + + $form.hide(); + + APP.toolbar.addElement(['fileshare'], {}); + + // check if the uploaded file can be decrypted + var newU8 = FileCrypto.joinChunks(chunks); + FileCrypto.decrypt(newU8, key, function (e, res) { + if (e) { return console.error(e); } + var title = document.title = res.metadata.name; + myFile = res.content; + myDataType = res.metadata.type; + + var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href)); + Title.updateTitle(title || defaultName); + APP.toolbar.title.show(); + Cryptpad.alert("successfully uploaded: " + title); + }); + }); }; Cryptpad.rpc.send('UPLOAD_STATUS', '', function (e, pending) { diff --git a/www/file/test/main.js b/www/file/test/main.js index c2b24e4f2..5ec71126d 100644 --- a/www/file/test/main.js +++ b/www/file/test/main.js @@ -11,7 +11,6 @@ define([ '/bower_components/file-saver/FileSaver.min.js', ], function ($, Crypto, realtimeInput, Toolbar, Cryptpad, Visible, Notify, FileCrypto) { var Nacl = window.nacl; - $(function () { var filesAreSame = function (a, b) { @@ -31,8 +30,8 @@ define([ var upload = function (blob, metadata) { var u8 = new Uint8Array(blob); - var key = Nacl.randomBytes(32); + var next = FileCrypto.encrypt(u8, metadata, key); var chunks = []; @@ -41,41 +40,32 @@ define([ cb(); }; - var again = function (state, box) { - switch (state) { - case 0: - sendChunk(box, function (e) { - if (e) { return console.error(e); } - next(again); - }); - break; - case 1: - sendChunk(box, function (e) { - if (e) { return console.error(e); } - next(again); - }); - break; - case 2: - sendChunk(box, function (e) { - if (e) { return console.error(e); } + var again = function (err, box) { + if (err) { throw new Error(err); } - // check if the uploaded file can be decrypted - var newU8 = FileCrypto.joinChunks(chunks); - FileCrypto.decrypt(newU8, key, function (e, res) { - if (e) { return Cryptpad.alert(e); } - - if (filesAreSame(blob, res.content) && - metadataIsSame(res.metadata, metadata)) { - Cryptpad.alert("successfully uploaded"); - } else { - Cryptpad.alert('encryption failure!'); - } - }); - }); - break; - default: - throw new Error("E_INVAL_STATE"); + if (box) { + return void sendChunk(box, function (e) { + if (e) { + console.error(e); + return Cryptpad.alert('Something went wrong'); + } + next(again); + }); } + // check if the uploaded file can be decrypted + var newU8 = FileCrypto.joinChunks(chunks); + + console.log('encrypted file with metadata is %s uint8s', newU8.length); + FileCrypto.decrypt(newU8, key, function (e, res) { + if (e) { return Cryptpad.alert(e); } + + if (filesAreSame(blob, res.content) && + metadataIsSame(res.metadata, metadata)) { + Cryptpad.alert("successfully uploaded"); + } else { + Cryptpad.alert('encryption failure!'); + } + }); }; next(again); }; @@ -83,7 +73,7 @@ define([ var andThen = function () { var src = '/customize/cryptofist_mini.png'; Cryptpad.fetch(src, function (e, file) { - console.log(file); + console.log('original file is %s uint8s', file.length); upload(file, { pew: 'pew', bang: 'bang', From 6d30d7f89fda0ceb88bf153c917d91e0a2cfa592 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 10 May 2017 18:15:33 +0200 Subject: [PATCH 027/236] strip junk bytes from base64 more safely --- www/common/common-util.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/common-util.js b/www/common/common-util.js index f5ba9a61c..e62ed7016 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -21,7 +21,7 @@ define([], function () { .replace(/ +$/, "") .split(" "); var byteString = String.fromCharCode.apply(null, hexArray); - return window.btoa(byteString).replace(/\//g, '-').slice(0,-2); + return window.btoa(byteString).replace(/\//g, '-').replace(/=+$/, ''); }; Util.base64ToHex = function (b64String) { From 5d37a50a8776231e1d5cdd30c0a8072a4f47fd60 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 10 May 2017 18:57:25 +0200 Subject: [PATCH 028/236] try to estimate upload size --- www/file/file-crypto.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js index 5290dfb80..de80fd336 100644 --- a/www/file/file-crypto.js +++ b/www/file/file-crypto.js @@ -7,6 +7,17 @@ define([ var plainChunkLength = 128 * 1024; var cypherChunkLength = 131088; + var computeEncryptedSize = function (bytes, meta) { + var metasize = Nacl.util.decodeUTF8(meta).length + 18; + var chunks = Math.ceil(bytes / plainChunkLength); + console.log({ + metasize: metasize, + chunks: chunks, + bytes: bytes, + }); + return metasize + (chunks * 16) + bytes; + }; + var encodePrefix = function (p) { return [ 65280, // 255 << 8 @@ -159,6 +170,11 @@ define([ var prefixed = new Uint8Array(encodePrefix(box.length) .concat(slice(box))); state++; + + // TODO verify that each box is the expected size + + console.log(part.length, prefixed.length); + return void cb(void 0, prefixed); } @@ -171,6 +187,8 @@ define([ increment(nonce); i++; + console.log(part.length, box.length); + // regular data is done if (i * plainChunkLength >= u8.length) { state = 2; } @@ -184,5 +202,6 @@ define([ decrypt: decrypt, encrypt: encrypt, joinChunks: joinChunks, + computeEncryptedSize: computeEncryptedSize, }; }); From 5d0535966c560d89d1b39710b2cee4dda47562f8 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 11 May 2017 10:58:33 +0200 Subject: [PATCH 029/236] Center vertically slides in present mode and checkbox to disable transitions --- customize.dist/translations/messages.fr.js | 1 + customize.dist/translations/messages.js | 1 + www/slide/main.js | 8 ++++++++ www/slide/slide.css | 8 ++++++-- www/slide/slide.js | 4 ++++ www/slide/slide.less | 7 +++++-- 6 files changed, 25 insertions(+), 4 deletions(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 3d8ad6060..d8e6f73d2 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -107,6 +107,7 @@ define(function () { out.printDate = "Afficher la date"; out.printTitle = "Afficher le titre du pad"; out.printCSS = "Personnaliser l'apparence (CSS):"; + out.printTransition = "Activer les animations de transition"; out.slideOptionsTitle = "Personnaliser la présentation"; out.slideOptionsButton = "Enregistrer (Entrée)"; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 9219ab457..afdbdc6b2 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -109,6 +109,7 @@ define(function () { out.printDate = "Display the date"; out.printTitle = "Display the pad title"; out.printCSS = "Custom style rules (CSS):"; + out.printTransition = "Enable transition animations"; out.slideOptionsTitle = "Customize your slides"; out.slideOptionsButton = "Save (enter)"; diff --git a/www/slide/main.js b/www/slide/main.js index b5dd26704..c8463e5a6 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -188,6 +188,7 @@ define([ title: false, slide: false, date: false, + transition: true, style: '' }; @@ -220,6 +221,13 @@ define([ }).appendTo($p).css('width', 'auto'); $('<label>', {'for': 'checkTitle'}).text(Messages.printTitle).appendTo($p); $p.append($('<br>')); + // Transition + $('<input>', {type: 'checkbox', id: 'checkTransition', checked: slideOptionsTmp.transition}).on('change', function () { + var c = this.checked; + slideOptionsTmp.transition = c; + }).appendTo($p).css('width', 'auto'); + $('<label>', {'for': 'checkTransition'}).text(Messages.printTransition).appendTo($p); + $p.append($('<br>')); // CSS $('<label>', {'for': 'cssPrint'}).text(Messages.printCSS).appendTo($p); $p.append($('<br>')); diff --git a/www/slide/slide.css b/www/slide/slide.css index 630ac25ea..945a05846 100644 --- a/www/slide/slide.css +++ b/www/slide/slide.css @@ -168,13 +168,16 @@ body .CodeMirror-focused .cm-matchhighlight { } .cp div.modal #content, .cp div#modal #content { - transition: margin-left 1s; font-size: 20vh; position: relative; height: 100%; overflow: visible; white-space: nowrap; } +.cp div.modal #content.transition, +.cp div#modal #content.transition { + transition: margin-left 1s; +} .cp div.modal #content .slide-frame, .cp div#modal #content .slide-frame { display: inline-block; @@ -198,10 +201,11 @@ body .CodeMirror-focused .cm-matchhighlight { } .cp div.modal #content .slide-container, .cp div#modal #content .slide-container { - display: inline-block; + display: inline-flex; height: 100%; width: 100vw; text-align: center; + vertical-align: top; } .cp div.modal .center, .cp div#modal .center { diff --git a/www/slide/slide.js b/www/slide/slide.js index 912820390..c7a8adf5e 100644 --- a/www/slide/slide.js +++ b/www/slide/slide.js @@ -184,6 +184,10 @@ define([ $('<div>', {'class': 'slideTitle'}).text(APP.title).appendTo($(el)); } }); + $content.removeClass('transition'); + if (options.transition) { + $content.addClass('transition'); + } //$content.find('.' + slideClass).hide(); //$content.find('.' + slideClass + ':eq( ' + i + ' )').show(); $content.css('margin-left', -(i*100)+'vw'); diff --git a/www/slide/slide.less b/www/slide/slide.less index 67885c049..82bcf9c82 100644 --- a/www/slide/slide.less +++ b/www/slide/slide.less @@ -161,7 +161,9 @@ div.modal, div#modal { width: 100%; } #content { - transition: margin-left 1s; + &.transition { + transition: margin-left 1s; + } font-size: 20vh; position: relative; height: 100%; @@ -191,9 +193,10 @@ div.modal, div#modal { margin: auto; } .slide-container { - display: inline-block; + display: inline-flex; height: 100%; width: 100vw; text-align: center; + vertical-align: top; } } From 419fb15425b8615ca3f1053316e6a5ef40d937ec Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 11 May 2017 11:20:18 +0200 Subject: [PATCH 030/236] Remember the scroll position in the drive tree --- www/drive/main.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/www/drive/main.js b/www/drive/main.js index d4ac6cce2..8a414668e 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -1793,7 +1793,11 @@ define([ module.resetTree(); // in history mode we want to focus the version number input - if (!history.isHistoryMode && !APP.mobile()) { $tree.find('#searchInput').focus(); } + if (!history.isHistoryMode && !APP.mobile()) { + var st = $tree.scrollTop() || 0; + $tree.find('#searchInput').focus(); + $tree.scrollTop(st); + } $tree.find('#searchInput')[0].selectionStart = getSearchCursor(); $tree.find('#searchInput')[0].selectionEnd = getSearchCursor(); @@ -2080,12 +2084,14 @@ define([ }; module.resetTree = function () { + var s = $tree.scrollTop() || 0; $tree.html(''); if (displayedCategories.indexOf(SEARCH) !== -1) { createSearch($tree); } if (displayedCategories.indexOf(ROOT) !== -1) { createTree($tree, [ROOT]); } if (displayedCategories.indexOf(TEMPLATE) !== -1) { createTemplate($tree, [TEMPLATE]); } if (displayedCategories.indexOf(FILES_DATA) !== -1) { createAllFiles($tree, [FILES_DATA]); } if (displayedCategories.indexOf(TRASH) !== -1) { createTrash($tree, [TRASH]); } + $tree.scrollTop(s); }; module.hideMenu = function () { From becba33b05031762cce41f3aac89028adc113cdf Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 11 May 2017 12:11:45 +0200 Subject: [PATCH 031/236] Scroll to the selected element in the drive --- www/drive/main.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/www/drive/main.js b/www/drive/main.js index 8a414668e..236dc0a3c 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -371,6 +371,7 @@ define([ e.stopPropagation(); }); + // Arrow keys to modify the selection $(ifrw).keydown(function (e) { var $searchBar = $tree.find('#searchInput'); if ($searchBar.is(':focus') && $searchBar.val()) { return; } @@ -381,6 +382,7 @@ define([ if (e.ctrlKey) { ev.ctrlKey = true; } if (e.shiftKey) { ev.shiftKey = true; } var click = function (el) { + if (!el) { return; } module.onElementClick(ev, $(el)); }; @@ -402,6 +404,7 @@ define([ // [Left, Up, Right, Down] if ([37, 38, 39, 40].indexOf(e.which) === -1) { return; } + e.preventDefault(); var $selection = $content.find('.element.selected'); if ($selection.length === 0) { return void click($elements.first()[0]); } @@ -715,6 +718,21 @@ define([ updatePathSize(); }; + var scrollTo = function ($element) { + // Current scroll position + var st = $content.scrollTop(); + // Block height + var h = $content.height(); + // Current top position of the element relative to the scroll position + var pos = Math.round($element.offset().top - $content.position().top); + // Element height + var eh = $element.outerHeight(); + // New scroll value + var v = st + pos + eh - h; + // If the element is completely visile, don't change the scroll position + if (pos+eh <= h && pos >= 0) { return; } + $content.scrollTop(v); + }; // Add the "selected" class to the "li" corresponding to the clicked element var onElementClick = module.onElementClick = function (e, $element) { // If "Ctrl" is pressed, do not remove the current selection @@ -730,6 +748,7 @@ define([ log(Messages.fm_selectError); return; } + scrollTo($element); // Add the selected class to the clicked / right-clicked element // Remove the class if it already has it // If ctrlKey, add to the selection From 733c3abefa7f12d6b8b4fbecc9b73f1b07cc6a03 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 11 May 2017 12:43:32 +0200 Subject: [PATCH 032/236] Update the upgrade button in the drive --- www/drive/main.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/www/drive/main.js b/www/drive/main.js index 236dc0a3c..47868bde4 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -2690,12 +2690,16 @@ define([ var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px'); if (quota >= 0.8) { + var origin = encodeURIComponent(window.location.origin); + var $upgradeLink = $('<a>', { + href: "https://account.cryptpad.fr/#!on=" + origin, + rel: "noreferrer noopener", + target: "_blank", + }).appendTo($leftside); $('<button>', { 'class': 'upgrade buttonSuccess', title: Messages.upgradeTitle - }).text(Messages.upgrade).click(function () { - // TODO - }).appendTo($leftside); + }).text(Messages.upgrade).appendTo($upgradeLink); } if (quota < 0.8) { $usage.addClass('normal'); } From 9a6d63960be6da069ba65b2b73b9238c378c95fd Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 11 May 2017 15:54:15 +0200 Subject: [PATCH 033/236] Added a script to get the amount of data which is pinned --- package.json | 13 ++++--- pinneddata.js | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 6 deletions(-) create mode 100644 pinneddata.js diff --git a/package.json b/package.json index ed76592b6..4b78c8396 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,12 @@ "description": "realtime collaborative visual editor with zero knowlege server", "version": "1.5.0", "dependencies": { + "chainpad-server": "^1.0.1", "express": "~4.10.1", - "ws": "^1.0.1", "nthen": "~0.1.0", + "saferphore": "0.0.1", "tweetnacl": "~0.12.2", - "chainpad-server": "^1.0.1" + "ws": "^1.0.1" }, "devDependencies": { "jshint": "~2.9.1", @@ -15,9 +16,9 @@ "less": "2.7.1" }, "scripts": { - "lint": "jshint --config .jshintrc --exclude-path .jshintignore .", - "test": "node TestSelenium.js", - "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css", - "template": "cd customize.dist/src && node build.js" + "lint": "jshint --config .jshintrc --exclude-path .jshintignore .", + "test": "node TestSelenium.js", + "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css", + "template": "cd customize.dist/src && node build.js" } } diff --git a/pinneddata.js b/pinneddata.js new file mode 100644 index 000000000..a24293880 --- /dev/null +++ b/pinneddata.js @@ -0,0 +1,101 @@ +/* jshint esversion: 6 */ +const Fs = require('fs'); +const Semaphore = require('saferphore'); +const nThen = require('nthen'); + +const hashesFromPinFile = (pinFile, fileName) => { + var pins = {}; + pinFile.split('\n').filter((x)=>(x)).map((l) => JSON.parse(l)).forEach((l) => { + switch (l[0]) { + case 'RESET': { + pins = {}; + //jshint -W086 + // fallthrough + } + case 'PIN': { + l[1].forEach((x) => { pins[x] = 1; }); + break; + } + case 'UNPIN': { + l[1].forEach((x) => { delete pins[x]; }); + break; + } + default: throw new Error(JSON.stringify(l) + ' ' + fileName); + } + }); + return Object.keys(pins); +}; + +const sizeForHashes = (hashes, dsFileSizes) => { + let sum = 0; + hashes.forEach((h) => { + const s = dsFileSizes[h]; + if (typeof(s) !== 'number') { + //console.log('missing ' + h + ' ' + typeof(s)); + } else { + sum += s; + } + }); + return sum; +}; + +const sema = Semaphore.create(20); + +let dirList; +const fileList = []; +const dsFileSizes = {}; +const out = []; + +nThen((waitFor) => { + Fs.readdir('./datastore', waitFor((err, list) => { + if (err) { throw err; } + dirList = list; + })); +}).nThen((waitFor) => { + dirList.forEach((f) => { + sema.take((returnAfter) => { + Fs.readdir('./datastore/' + f, waitFor(returnAfter((err, list2) => { + if (err) { throw err; } + list2.forEach((ff) => { fileList.push('./datastore/' + f + '/' + ff); }); + }))); + }); + }); +}).nThen((waitFor) => { + fileList.forEach((f) => { + sema.take((returnAfter) => { + Fs.stat(f, waitFor(returnAfter((err, st) => { + if (err) { throw err; } + dsFileSizes[f.replace(/^.*\/([^\/]*)\.ndjson$/, (all, a) => (a))] = st.size; + }))); + }); + }); +}).nThen((waitFor) => { + Fs.readdir('./pins', waitFor((err, list) => { + if (err) { throw err; } + dirList = list; + })); +}).nThen((waitFor) => { + fileList.splice(0, fileList.length); + dirList.forEach((f) => { + sema.take((returnAfter) => { + Fs.readdir('./pins/' + f, waitFor(returnAfter((err, list2) => { + if (err) { throw err; } + list2.forEach((ff) => { fileList.push('./pins/' + f + '/' + ff); }); + }))); + }); + }); +}).nThen((waitFor) => { + fileList.forEach((f) => { + sema.take((returnAfter) => { + Fs.readFile(f, waitFor(returnAfter((err, content) => { + if (err) { throw err; } + const hashes = hashesFromPinFile(content.toString('utf8'), f); + const size = sizeForHashes(hashes, dsFileSizes); + out.push([f, Math.floor(size / (1024 * 1024))]); + }))); + }); + }); +}).nThen((waitFor) => { + out.sort((a,b) => (a[1] - b[1])); + out.forEach((x) => { console.log(x[0] + ' ' + x[1] + ' MB'); }); +}); From 5348303df6c568b769d69bbe220a8533e43108f6 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 11 May 2017 16:02:24 +0200 Subject: [PATCH 034/236] Bad code, lint failure --- pinneddata.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinneddata.js b/pinneddata.js index a24293880..0bf9be75f 100644 --- a/pinneddata.js +++ b/pinneddata.js @@ -95,7 +95,7 @@ nThen((waitFor) => { }))); }); }); -}).nThen((waitFor) => { +}).nThen(() => { out.sort((a,b) => (a[1] - b[1])); out.forEach((x) => { console.log(x[0] + ' ' + x[1] + ' MB'); }); }); From 57ee7de7d40d0f27c1a137167f67f57959baa4f4 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 11 May 2017 16:12:44 +0200 Subject: [PATCH 035/236] Update and return the storage limit --- config.example.js | 6 ++++ rpc.js | 62 ++++++++++++++++++++++++++++++++--- www/common/cryptpad-common.js | 9 ++++- www/common/pinpad.js | 23 +++++++++++++ 4 files changed, 94 insertions(+), 6 deletions(-) diff --git a/config.example.js b/config.example.js index 76bba6eae..1be17e510 100644 --- a/config.example.js +++ b/config.example.js @@ -116,6 +116,12 @@ module.exports = { 'contact', ], + /* Domain + * If you want to have enable payments on your CryptPad instance, it has to be able to tell + * our account server what is your domain + */ + // domain: 'https://cryptpad.fr', + /* You have the option of specifying an alternative storage adaptor. These status of these alternatives are specified in their READMEs, diff --git a/rpc.js b/rpc.js index ec6e516d0..dd84b6b29 100644 --- a/rpc.js +++ b/rpc.js @@ -7,10 +7,14 @@ var Nacl = require("tweetnacl"); var Fs = require("fs"); var Path = require("path"); +var Https = require("https"); var RPC = module.exports; var Store = require("./storage/file"); +var config = require('./config'); + +var DEFAULT_LIMIT = 100; var isValidChannel = function (chan) { return /^[a-fA-F0-9]/.test(chan) || @@ -454,8 +458,42 @@ var isPrivilegedUser = function (publicKey, cb) { }); }; -var getLimit = function (cb) { - cb = cb; // TODO +var limits = {}; +var updateLimits = function (publicKey, cb) { + if (typeof cb !== "function") { cb = function () {}; } + var domain = config.domain; + var options = { + host: 'accounts.cryptpad.fr', + path: '/api/getAuthorized?domain=' + encodeURIComponent(domain) + }; + var callback = function (response) { + var str = ''; + + response.on('data', function (chunk) { + str += chunk; + }); + + response.on('end', function () { + try { + var json = JSON.parse(str); + limits = json; + var l; + if (publicKey) { + l = typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT; + } + cb(void 0, l); + } catch (e) { + cb(e); + } + }); + }; + Https.get(options, callback).on('error', function (e) { + console.error(e); + cb(e); + }); +}; +var getLimit = function (publicKey, cb) { + return void cb(null, typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT); }; var safeMkdir = function (path, cb) { @@ -714,10 +752,16 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) }); case 'GET_FILE_SIZE': return void getFileSize(ctx.store, msg[1], Respond); - case 'GET_LIMIT': // TODO implement this and cache it per-user - return void getLimit(function (e, limit) { + case 'UPDATE_LIMITS': + return void updateLimits(safeKey, function (e, limit) { + if (e) { return void Respond(e); } + Respond(void 0, limit); + }); + case 'GET_LIMIT': + return void getLimit(safeKey, function (e, limit) { + if (e) { return void Respond(e); } limit = limit; - Respond('NOT_IMPLEMENTED'); + Respond(void 0, limit); }); case 'GET_MULTIPLE_FILE_SIZE': return void getMultipleFileSize(ctx.store, msg[1], function (e, dict) { @@ -775,6 +819,14 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) handleMessage(session.privilege); }; + var updateLimitDaily = function () { + updateLimits(function (e) { + if (e) { console.error('Error updating the storage limits', e); } + }); + }; + updateLimitDaily(); + setInterval(updateLimitDaily, 24*3600*1000); + Store.create({ filePath: pinPath, }, function (s) { diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 73b51e8b3..e63399ec1 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -744,8 +744,15 @@ define([ }); }; + common.updatePinLimit = function (cb) { + if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } + rpc.getFileListSize(cb); + }; + common.getPinLimit = function (cb) { - cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000); + if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } + rpc.getFileListSize(cb); + //cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000); }; common.isOverPinLimit = function (cb) { diff --git a/www/common/pinpad.js b/www/common/pinpad.js index 3470db34e..efa915ec7 100644 --- a/www/common/pinpad.js +++ b/www/common/pinpad.js @@ -121,6 +121,29 @@ define([ }); }; + // Update the limit value for all the users and return the limit for your publicKey + exp.updatePinLimits = function (cb) { + rpc.send('UPDATE_LIMITS', undefined, function (e, response) { + if (e) { return void cb(e); } + if (response && typeof response === "number") { + cb (void 0, response); + } else { + cb('INVALID_RESPONSE'); + } + }); + }; + // Get the storage limit associated with your publicKey + exp.getLimit = function (cb) { + rpc.send('GET_LIMIT', undefined, function (e, response) { + if (e) { return void cb(e); } + if (response && typeof response === "number") { + cb (void 0, response); + } else { + cb('INVALID_RESPONSE'); + } + }); + }; + cb(e, exp); }); }; From e123ad0333787e91d63589553e199e11e9c2a5c3 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 11 May 2017 16:31:14 +0200 Subject: [PATCH 036/236] Use a POST request to get the storage limits --- rpc.js | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/rpc.js b/rpc.js index dd84b6b29..2e603d7fb 100644 --- a/rpc.js +++ b/rpc.js @@ -461,12 +461,23 @@ var isPrivilegedUser = function (publicKey, cb) { var limits = {}; var updateLimits = function (publicKey, cb) { if (typeof cb !== "function") { cb = function () {}; } - var domain = config.domain; + var body = JSON.stringify({ + domain: config.domain, + subdomain: config.subdomain + }); var options = { host: 'accounts.cryptpad.fr', - path: '/api/getAuthorized?domain=' + encodeURIComponent(domain) + path: '/api/getauthorized', + method: 'POST', + headers: { + "Content-Type": "application/json", + "Content-Length": Buffer.byteLength(body) + } }; - var callback = function (response) { + var req = Https.request(options, function (response) { + if (!('' + req.statusCode).match(/^2\d\d$/)) { + return void cb('SERVER ERROR ' + req.statusCode); + } var str = ''; response.on('data', function (chunk) { @@ -486,11 +497,14 @@ var updateLimits = function (publicKey, cb) { cb(e); } }); - }; - Https.get(options, callback).on('error', function (e) { + }); + + req.on('error', function (e) { console.error(e); cb(e); }); + + req.end(body); }; var getLimit = function (publicKey, cb) { return void cb(null, typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT); From d2ba8f1c27d244e0595017aa6cbac506e8ea6400 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 11 May 2017 18:07:29 +0200 Subject: [PATCH 037/236] Use the new format for the storage limits --- rpc.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rpc.js b/rpc.js index 2e603d7fb..d9a619823 100644 --- a/rpc.js +++ b/rpc.js @@ -458,6 +458,8 @@ var isPrivilegedUser = function (publicKey, cb) { }); }; +// The limits object contains storage limits for all the publicKey that have paid +// To each key is associated an object containing the 'limit' value and a 'note' explaining that limit var limits = {}; var updateLimits = function (publicKey, cb) { if (typeof cb !== "function") { cb = function () {}; } @@ -490,7 +492,8 @@ var updateLimits = function (publicKey, cb) { limits = json; var l; if (publicKey) { - l = typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT; + var limit = limits[publicKey]; + l = limit && typeof limit.limit === "number" ? limit.limit : DEFAULT_LIMIT; } cb(void 0, l); } catch (e) { @@ -507,7 +510,8 @@ var updateLimits = function (publicKey, cb) { req.end(body); }; var getLimit = function (publicKey, cb) { - return void cb(null, typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT); + var limit = limits[publicKey]; + return limit && typeof limit.limit === "number" ? limit.limit : DEFAULT_LIMIT; }; var safeMkdir = function (path, cb) { From a993ab661631f65d0a85ba6a47284e4367e218e5 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 11:25:07 +0200 Subject: [PATCH 038/236] use new encrypted file encoding in media-tag --- www/common/media-tag.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/media-tag.js b/www/common/media-tag.js index d0953bcf6..d73cac0e0 100644 --- a/www/common/media-tag.js +++ b/www/common/media-tag.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var A;(A=e.stacks[o]).push.apply(A,n)}else{var T;(T=e.stacks[o]).push.apply(T,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=i.content,f=s.getBlobUrl(u,e.getMimeType()),l=new Event("decryption");l.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(l),window.onMediaMetadata&&window.onMediaMetadata(i.metadata),e.setAttribute("src",f),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS");if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"padChunk",value:function(e){var t;if(131072===e.length)return e;if(e.length<131072)return t=new Array(131072-e.length).fill(32),e.concat(t);if(e.length>131072){var n=Math.ceil(e.length/131072);return t=new Array(131072*n-e.length).fill(32),e.concat(t)}}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){for(var r,o=e.Nacl,i=e.createNonce(),u=0,a=function(){var r=131088*u,a=r+131088;u++;var c=new Uint8Array(t.subarray(r,a)),s=o.secretbox.open(c,i,n);return e.increment(i),s},c="",s={metadata:void 0};!s.metadata&&131088*u<t.length;){r=a(),c+=o.util.encodeUTF8(r);try{s.metadata=JSON.parse(c)}catch(e){console.log("buffering another chunk for metadata")}}if(!s.metadata)throw new Error("NO_METADATA");for(var f=[];131088*u<t.length;){if(!(r=a()))throw new Error("INVALID_CHUNK");f.push(r)}return s.content=e.joinChunks(f),s}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=e.getViewport(1),r=n.getContext("2d");n.height=t.height,n.width=t.width;var o={canvasContext:r,viewport:t};e.render(o).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,d=y.once[Symbol.iterator]();!(b=(w=d.next()).done);b=!0){var g=w.value;n.push(g),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&d.return&&d.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),d=n(36),g=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new d),r.PluginStore.store(new g),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=f.decrypt(n,r),u=i.content,c=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),window.onMediaMetadata&&window.onMediaMetadata(i.metadata),e.setAttribute("src",c),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")},i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file From 22efde87d5c5aa9aadc8747d5ec3be9b1c390d2c Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 12:12:51 +0200 Subject: [PATCH 039/236] correctly estimate upload size --- www/file/file-crypto.js | 27 ++++----------------------- www/file/main.js | 7 +++++++ 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js index de80fd336..cde49759c 100644 --- a/www/file/file-crypto.js +++ b/www/file/file-crypto.js @@ -8,14 +8,9 @@ define([ var cypherChunkLength = 131088; var computeEncryptedSize = function (bytes, meta) { - var metasize = Nacl.util.decodeUTF8(meta).length + 18; + var metasize = Nacl.util.decodeUTF8(JSON.stringify(meta)).length; var chunks = Math.ceil(bytes / plainChunkLength); - console.log({ - metasize: metasize, - chunks: chunks, - bytes: bytes, - }); - return metasize + (chunks * 16) + bytes; + return metasize + 18 + (chunks * 16) + bytes; }; var encodePrefix = function (p) { @@ -142,23 +137,15 @@ define([ var i = 0; - /* - 0: metadata - 1: u8 - 2: done - */ - var state = 0; - var next = function (cb) { + if (state === 2) { return void cb(); } + var start; var end; var part; var box; - // DONE - if (state === 2) { return void cb(); } - if (state === 0) { // metadata... part = new Uint8Array(plaintext); box = Nacl.secretbox(part, nonce, key); @@ -171,10 +158,6 @@ define([ .concat(slice(box))); state++; - // TODO verify that each box is the expected size - - console.log(part.length, prefixed.length); - return void cb(void 0, prefixed); } @@ -187,8 +170,6 @@ define([ increment(nonce); i++; - console.log(part.length, box.length); - // regular data is done if (i * plainChunkLength >= u8.length) { state = 2; } diff --git a/www/file/main.js b/www/file/main.js index 32bcaafe6..2f553cf20 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -36,6 +36,7 @@ define([ var key = Nacl.randomBytes(32); var next = FileCrypto.encrypt(u8, metadata, key); + var estimate = FileCrypto.computeEncryptedSize(blob.byteLength, metadata); var chunks = []; var sendChunk = function (box, cb) { @@ -47,15 +48,21 @@ define([ }); }; + var actual = 0; var again = function (err, box) { if (err) { throw new Error(err); } if (box) { + actual += box.length; return void sendChunk(box, function (e) { if (e) { return console.error(e); } next(again); }); } + if (actual !== estimate) { + console.error('Estimated size does not match actual size'); + } + // if not box then done Cryptpad.rpc.send('UPLOAD_COMPLETE', '', function (e, res) { if (e) { return void console.error(e); } From a249435003ac2e1af44beb977c03d17ca8f360ad Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 14:19:36 +0200 Subject: [PATCH 040/236] refactor limit handling a bit --- rpc.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rpc.js b/rpc.js index d9a619823..6e437e385 100644 --- a/rpc.js +++ b/rpc.js @@ -12,7 +12,6 @@ var Https = require("https"); var RPC = module.exports; var Store = require("./storage/file"); -var config = require('./config'); var DEFAULT_LIMIT = 100; @@ -461,8 +460,9 @@ var isPrivilegedUser = function (publicKey, cb) { // The limits object contains storage limits for all the publicKey that have paid // To each key is associated an object containing the 'limit' value and a 'note' explaining that limit var limits = {}; -var updateLimits = function (publicKey, cb) { +var updateLimits = function (config, publicKey, cb) { if (typeof cb !== "function") { cb = function () {}; } + var body = JSON.stringify({ domain: config.domain, subdomain: config.subdomain @@ -503,7 +503,7 @@ var updateLimits = function (publicKey, cb) { }); req.on('error', function (e) { - console.error(e); + if (!config.domain) { return cb(); } cb(e); }); @@ -771,7 +771,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) case 'GET_FILE_SIZE': return void getFileSize(ctx.store, msg[1], Respond); case 'UPDATE_LIMITS': - return void updateLimits(safeKey, function (e, limit) { + return void updateLimits(config, safeKey, function (e, limit) { if (e) { return void Respond(e); } Respond(void 0, limit); }); @@ -838,7 +838,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) }; var updateLimitDaily = function () { - updateLimits(function (e) { + updateLimits(config, undefined, function (e) { if (e) { console.error('Error updating the storage limits', e); } }); }; From 77efc2cee703b51a6f6c14ea8f79d021defb3ebf Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 14:24:52 +0200 Subject: [PATCH 041/236] bump version for upcoming release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83653bd7b..75a4fbb11 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "cryptpad", "description": "realtime collaborative visual editor with zero knowlege server", - "version": "1.6.0", + "version": "1.8.0", "dependencies": { "chainpad-server": "^1.0.1", "express": "~4.10.1", From fa4b17e2bc5dea87e074f35583b0fa3d2cd62a7b Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 15:39:55 +0200 Subject: [PATCH 042/236] use callback in 'getLimit' --- rpc.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rpc.js b/rpc.js index 6e437e385..e729e4802 100644 --- a/rpc.js +++ b/rpc.js @@ -509,9 +509,12 @@ var updateLimits = function (config, publicKey, cb) { req.end(body); }; + var getLimit = function (publicKey, cb) { var limit = limits[publicKey]; - return limit && typeof limit.limit === "number" ? limit.limit : DEFAULT_LIMIT; + + cb(void 0, limit && typeof(limit.limit) === "number"? + limit.limit : DEFAULT_LIMIT); }; var safeMkdir = function (path, cb) { @@ -787,7 +790,6 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Respond(void 0, dict); }); - // restricted to privileged users... case 'UPLOAD': if (!privileged) { return deny(); } From 6c68b5e6ca038ba425f71f906341ea5bbc842aac Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 15:42:01 +0200 Subject: [PATCH 043/236] use new media-tag, listen for decryption events --- www/common/media-tag.js | 2 +- www/media/main.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/www/common/media-tag.js b/www/common/media-tag.js index d73cac0e0..0d18138ce 100644 --- a/www/common/media-tag.js +++ b/www/common/media-tag.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,d=y.once[Symbol.iterator]();!(b=(w=d.next()).done);b=!0){var g=w.value;n.push(g),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&d.return&&d.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),d=n(36),g=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new d),r.PluginStore.store(new g),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=f.decrypt(n,r),u=i.content,c=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),window.onMediaMetadata&&window.onMediaMetadata(i.metadata),e.setAttribute("src",c),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")},i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=f.decrypt(n,r),u=i.content,c=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),s.metadata=i.metadata,window.document.dispatchEvent(s),e.setAttribute("src",c),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")},i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file diff --git a/www/media/main.js b/www/media/main.js index 9e8127a62..9e5276019 100644 --- a/www/media/main.js +++ b/www/media/main.js @@ -20,6 +20,11 @@ define([ Cryptpad.addLoadingScreen(); var andThen = function () { + $(window.document).on('decryption', function (e) { + var decrypted = e.originalEvent; + console.log(decrypted.blob, decrypted.metadata); + }); + var $bar = $iframe.find('.toolbar-container'); var secret = Cryptpad.getSecrets(); From 213708d8dc141595ce4073be62673b37cfdda836 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 15:43:32 +0200 Subject: [PATCH 044/236] center media tags --- www/media/inner.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/www/media/inner.html b/www/media/inner.html index bc5b96ae0..46e5cea4a 100644 --- a/www/media/inner.html +++ b/www/media/inner.html @@ -16,6 +16,8 @@ } media-tag * { max-width: 100%; + margin: auto; + display: block; } </style> </head> From 42f3a62cac345b4ffb5a6640d03ce35fd767c202 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 16:13:09 +0200 Subject: [PATCH 045/236] handle errors with XHR --- www/common/common-util.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/www/common/common-util.js b/www/common/common-util.js index e62ed7016..bbd648f7c 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -90,11 +90,21 @@ define([], function () { }; Util.fetch = function (src, cb) { + var done = false; + var CB = function (err, res) { + if (done) { return; } + done = true; + cb(err, res); + }; + var xhr = new XMLHttpRequest(); xhr.open("GET", src, true); xhr.responseType = "arraybuffer"; xhr.onload = function () { - return void cb(void 0, new Uint8Array(xhr.response)); + return void CB(void 0, new Uint8Array(xhr.response)); + }; + xhr.onerror = function () { + CB('XHR_ERROR'); }; xhr.send(null); }; From 69e933dd1744ebbf0cb0fd66e5d5aa386c679c57 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 16:17:00 +0200 Subject: [PATCH 046/236] better error handling in file download --- www/file/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/file/main.js b/www/file/main.js index 2f553cf20..9c76e3618 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -175,8 +175,8 @@ define([ if (!uploadMode) { var src = Cryptpad.getBlobPathFromHex(hexFileName); return Cryptpad.fetch(src, function (e, u8) { + if (e) { return void Cryptpad.alert(e); } // now decrypt the u8 - if (e) { return window.alert('error'); } var cryptKey = secret.keys && secret.keys.fileKeyStr; var key = Nacl.util.decodeBase64(cryptKey); From 4c4c21342de6669d8463685658fb94db584efbb9 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 16:26:51 +0200 Subject: [PATCH 047/236] don't try to decrypt nothing --- www/file/main.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/www/file/main.js b/www/file/main.js index 9c76e3618..e6ab7990c 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -180,6 +180,10 @@ define([ var cryptKey = secret.keys && secret.keys.fileKeyStr; var key = Nacl.util.decodeBase64(cryptKey); + if (!u8 || !u8.length) { + return void Cryptpad.errorLoadingScreen(e); + } + FileCrypto.decrypt(u8, key, function (e, data) { if (e) { Cryptpad.removeLoadingScreen(); From 0f13198119f60524e09cfd270204903be3221485 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Fri, 12 May 2017 16:33:45 +0200 Subject: [PATCH 048/236] Move the parseHash code into parsePadUrl --- www/common/common-hash.js | 130 +++++++++++++++++++++++++--------- www/common/common-history.js | 4 +- www/common/cryptget.js | 3 +- www/common/cryptpad-common.js | 35 ++++----- www/common/fsStore.js | 2 +- www/common/userObject.js | 4 +- www/drive/main.js | 8 +-- 7 files changed, 125 insertions(+), 61 deletions(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index a2e96e2fc..fb5f0d99c 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -32,9 +32,58 @@ define([ return '/1/view/' + hexToBase64(chanKey) + '/'+Crypto.b64RemoveSlashes(keys.viewKeyStr)+'/'; }; var getFileHashFromKeys = Hash.getFileHashFromKeys = function (fileKey, cryptKey) { - return '/2/' + hexToBase64(fileKey) + '/' + Crypto.b64RemoveSlashes(cryptKey) + '/'; + return '/1/' + hexToBase64(fileKey) + '/' + Crypto.b64RemoveSlashes(cryptKey) + '/'; }; + var fixDuplicateSlashes = function (s) { + return s.replace(/\/+/g, '/'); + }; + + var parseTypeHash = Hash.parseTypeHash = function (type, hash) { + if (!hash) { return; } + var parsed = {} + var hashArr = fixDuplicateSlashes(hash).split('/'); + if (['media', 'file', 'user'].indexOf(type) === -1) { + parsed.type = 'pad'; + if (hash.slice(0,1) !== '/' && hash.length >= 56) { + // Old hash + parsed.channel = hash.slice(0, 32); + parsed.key = hash.slice(32); + parsed.version = 0; + return parsed; + } + if (hashArr[1] && hashArr[1] === '1') { + parsed.version = 1; + parsed.mode = hashArr[2]; + parsed.channel = hashArr[3]; + parsed.key = hashArr[4].replace(/-/g, '/'); + parsed.present = typeof(hashArr[5]) === "string" && hashArr[5] === 'present'; + return parsed; + } + return parsed; + } + if (['media', 'file'].indexOf(type) !== -1) { + parsed.type = 'file'; + if (hashArr[1] && hashArr[1] === '1') { + parsed.version = 1; + parsed.channel = hashArr[2].replace(/-/g, '/'); + parsed.key = hashArr[3].replace(/-/g, '/'); + return parsed; + } + return parsed; + } + if (['user'].indexOf(type) !== -1) { + parsed.type = 'user'; + if (hashArr[1] && hashArr[1] === '1') { + parsed.version = 1; + parsed.user = hashArr[2]; + parsed.pubkey = hashArr[3].replace(/-/g, '/'); + return parsed; + } + return parsed; + } + return; + }; var parsePadUrl = Hash.parsePadUrl = function (href) { var patt = /^https*:\/\/([^\/]*)\/(.*?)\//i; @@ -43,10 +92,13 @@ define([ if (!href) { return ret; } if (href.slice(-1) !== '/') { href += '/'; } + + if (!/^https*:\/\//.test(href)) { var idx = href.indexOf('/#'); ret.type = href.slice(1, idx); ret.hash = href.slice(idx + 2); + ret.hashData = parseTypeHash(ret.type, ret.hash); return ret; } @@ -56,6 +108,7 @@ define([ return ''; }); ret.hash = hash.replace(/#/g, ''); + ret.hashData = parseTypeHash(ret.type, ret.hash); return ret; }; @@ -66,16 +119,12 @@ define([ return '/' + parsed.type + '/#' + parsed.hash; }; - var fixDuplicateSlashes = function (s) { - return s.replace(/\/+/g, '/'); - }; - /* * Returns all needed keys for a realtime channel * - no argument: use the URL hash or create one if it doesn't exist * - secretHash provided: use secretHash to find the keys */ - Hash.getSecrets = function (secretHash) { + Hash.getSecrets = function (type, secretHash) { var secret = {}; var generate = function () { secret.keys = Crypto.createEditCryptor(); @@ -85,50 +134,55 @@ define([ generate(); return secret; } else { - var hash = secretHash || window.location.hash.slice(1); + var parsed; + var hash; + if (secretHash) { + if (!type) { throw new Error("getSecrets with a hash requires a type parameter"); } + parsed = parseTypeHash(type, secretHash); + hash = secretHash; + } else { + var pHref = parsePadUrl(window.location.href); + parsed = pHref.hashData; + hash = pHref.hash; + } + //var parsed = parsePadUrl(window.location.href); + //var hash = secretHash || window.location.hash.slice(1); + console.log(hash, parsed); if (hash.length === 0) { generate(); return secret; } // old hash system : #{hexChanKey}{cryptKey} // new hash system : #/{hashVersion}/{b64ChanKey}/{cryptKey} - if (hash.slice(0,1) !== '/' && hash.length >= 56) { + if (parsed.version === 0) { // Old hash secret.channel = hash.slice(0, 32); secret.key = hash.slice(32); } - else { + else if (parsed.version === 1) { // New hash - var hashArray = fixDuplicateSlashes(hash).split('/'); - if (hashArray.length < 4) { - Hash.alert("Unable to parse the key"); - throw new Error("Unable to parse the key"); - } - var version = hashArray[1]; - if (version === "1") { - var mode = hashArray[2]; - if (mode === 'edit') { - secret.channel = base64ToHex(hashArray[3]); - var keys = Crypto.createEditCryptor(hashArray[4].replace(/-/g, '/')); - secret.keys = keys; - secret.key = keys.editKeyStr; + if (parsed.type === "pad") { + secret.channel = base64ToHex(parsed.channel); + if (parsed.mode === 'edit') { + console.log(parsed.key); + secret.keys = Crypto.createEditCryptor(parsed.key); + secret.key = secret.keys.editKeyStr; if (secret.channel.length !== 32 || secret.key.length !== 24) { Hash.alert("The channel key and/or the encryption key is invalid"); throw new Error("The channel key and/or the encryption key is invalid"); } } - else if (mode === 'view') { - secret.channel = base64ToHex(hashArray[3]); - secret.keys = Crypto.createViewCryptor(hashArray[4].replace(/-/g, '/')); + else if (parsed.mode === 'view') { + secret.keys = Crypto.createViewCryptor(parsed.key); if (secret.channel.length !== 32) { Hash.alert("The channel key is invalid"); throw new Error("The channel key is invalid"); } } - } else if (version === "2") { + } else if (parsed.type === "file") { // version 2 hashes are to be used for encrypted blobs - secret.channel = hashArray[2].replace(/-/g, '/'); - secret.keys = { fileKeyStr: hashArray[3].replace(/-/g, '/') }; + secret.channel = parsed.channel; + secret.keys = { fileKeyStr: parsed.key }; } } } @@ -175,6 +229,7 @@ Version 2 /file/#/2/K6xWU-LT9BJHCQcDCT-DcQ/ajExFODrFH4lVBwxxsrOKw/image-png */ var parseHash = Hash.parseHash = function (hash) { + throw new Error('parseHash deprecated'); var parsed = {}; if (hash.slice(0,1) !== '/' && hash.length >= 56) { // Old hash @@ -211,9 +266,13 @@ Version 2 var p = parsePadUrl(pad.href); if (p.type !== parsed.type) { return; } // Not the same type if (p.hash === parsed.hash) { return; } // Same hash, not stronger - var pHash = parseHash(p.hash); - var parsedHash = parseHash(parsed.hash); + var pHash = p.hashData; + var parsedHash = parsed.hashData; if (!parsedHash || !pHash) { return; } + + // We don't have stronger/weaker versions of files or users + if (pHash.type !== 'pad' && parsedHash.type !== 'pad') { return; } + if (pHash.version !== parsedHash.version) { return; } if (pHash.channel !== parsedHash.channel) { return; } if (pHash.mode === 'view' && parsedHash.mode === 'edit') { @@ -233,9 +292,13 @@ Version 2 var p = parsePadUrl(pad.href); if (p.type !== parsed.type) { return; } // Not the same type if (p.hash === parsed.hash) { return; } // Same hash, not stronger - var pHash = parseHash(p.hash); - var parsedHash = parseHash(parsed.hash); + var pHash = p.hashData; + var parsedHash = parsed.hashData; if (!parsedHash || !pHash) { return; } + + // We don't have stronger/weaker versions of files or users + if (pHash.type !== 'pad' && parsedHash.type !== 'pad') { return; } + if (pHash.version !== parsedHash.version) { return; } if (pHash.channel !== parsedHash.channel) { return; } if (pHash.mode === 'edit' && parsedHash.mode === 'view') { @@ -254,8 +317,7 @@ Version 2 var parsed = Hash.parsePadUrl(href); if (!parsed || !parsed.hash) { return; } - parsed = Hash.parseHash(parsed.hash); - + parsed = parsed.hashData; if (parsed.version === 0) { return parsed.channel; } else if (parsed.version !== 1 && parsed.version !== 2) { diff --git a/www/common/common-history.js b/www/common/common-history.js index 8597598c1..48b210eb3 100644 --- a/www/common/common-history.js +++ b/www/common/common-history.js @@ -35,8 +35,8 @@ define([ }; var realtime = createRealtime(); - var hash = config.href ? common.parsePadUrl(config.href).hash : undefined; - var secret = common.getSecrets(hash); + var parsed = config.href ? common.parsePadUrl(config.href) : {}; + var secret = common.getSecrets(parsed.type, parsed.hash); var crypto = Crypto.createEncryptor(secret.keys); var to = window.setTimeout(function () { diff --git a/www/common/cryptget.js b/www/common/cryptget.js index 382ab023c..cde78d298 100644 --- a/www/common/cryptget.js +++ b/www/common/cryptget.js @@ -22,7 +22,8 @@ define([ }; var makeConfig = function (hash) { - var secret = Cryptpad.getSecrets(hash); + // We can't use cryptget with a file or a user so we can use 'pad' as hash type + var secret = Cryptpad.getSecrets('pad', hash); if (!secret.keys) { secret.keys = secret.key; } // support old hashses var config = { websocketURL: Cryptpad.getWebsocketURL(), diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 73b51e8b3..457102032 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -75,10 +75,10 @@ define([ // import hash utilities for export var createRandomHash = common.createRandomHash = Hash.createRandomHash; + var parseTypeHash = common.parseTypeHash = Hash.parseTypeHash; var parsePadUrl = common.parsePadUrl = Hash.parsePadUrl; var isNotStrongestStored = common.isNotStrongestStored = Hash.isNotStrongestStored; var hrefToHexChannelId = common.hrefToHexChannelId = Hash.hrefToHexChannelId; - var parseHash = common.parseHash = Hash.parseHash; var getRelativeHref = common.getRelativeHref = Hash.getRelativeHref; common.getBlobPathFromHex = Hash.getBlobPathFromHex; @@ -286,12 +286,12 @@ define([ if (!pad.title) { pad.title = common.getDefaultname(parsed); } - return parsed.hash; + return parsed.hashData; }; // Migrate from legacy store (localStorage) var migrateRecentPads = common.migrateRecentPads = function (pads) { return pads.map(function (pad) { - var hash; + var parsedHash; if (Array.isArray(pad)) { // TODO DEPRECATE_F var href = pad[0]; href.replace(/\#(.*)$/, function (a, h) { @@ -305,8 +305,8 @@ define([ ctime: pad[1], }; } else if (pad && typeof(pad) === 'object') { - hash = checkObjectData(pad); - if (!hash || !common.parseHash(hash)) { return; } + parsedHash = checkObjectData(pad); + if (!parsedHash || !parsedHash.type) { return; } return pad; } else { console.error("[Cryptpad.migrateRecentPads] pad had unexpected value"); @@ -319,8 +319,8 @@ define([ var checkRecentPads = common.checkRecentPads = function (pads) { pads.forEach(function (pad, i) { if (pad && typeof(pad) === 'object') { - var hash = checkObjectData(pad); - if (!hash || !common.parseHash(hash)) { + var parsedHash = checkObjectData(pad); + if (!parsedHash || !parsedHash.type) { console.error("[Cryptpad.checkRecentPads] pad had unexpected value", pad); getStore().removeData(i); return; @@ -538,6 +538,7 @@ define([ common.setPadTitle = function (name, cb) { var href = window.location.href; var parsed = parsePadUrl(href); + if (!parsed.hash) { return; } href = getRelativeHref(href); // getRecentPads return the array from the drive, not a copy // We don't have to call "set..." at the end, everything is stored with listmap @@ -558,8 +559,8 @@ define([ // Version 1 : we have up to 4 differents hash for 1 pad, keep the strongest : // Edit > Edit (present) > View > View (present) - var pHash = parseHash(p.hash); - var parsedHash = parseHash(parsed.hash); + var pHash = p.hashData; + var parsedHash = parsed.hashData; if (!pHash) { return; } // We may have a corrupted pad in our storage, abort here in that case @@ -661,7 +662,8 @@ define([ var userHash = localStorage && localStorage.User_hash; if (!userHash) { return null; } - var userChannel = common.parseHash(userHash).channel; + var userParsedHash = common.parseTypeHash('drive', userHash); + var userChannel = userParsedHash && userParsedHash.channel; if (!userChannel) { return null; } var list = fo.getFiles([fo.FILES_DATA]).map(hrefToHexChannelId) @@ -1273,20 +1275,21 @@ define([ UI.Alertify.reset(); // Load the new pad when the hash has changed - var oldHash = document.location.hash.slice(1); + var oldHref = document.location.href; window.onhashchange = function () { - var newHash = document.location.hash.slice(1); - var parsedOld = parseHash(oldHash); - var parsedNew = parseHash(newHash); + var newHref = document.location.href; + var parsedOld = parsePadUrl(oldHref).hashData; + var parsedNew = parsePadUrl(newHref).hashData; if (parsedOld && parsedNew && ( - parsedOld.channel !== parsedNew.channel + parsedOld.type !== parsedNew.type + || parsedOld.channel !== parsedNew.channel || parsedOld.mode !== parsedNew.mode || parsedOld.key !== parsedNew.key)) { document.location.reload(); return; } if (parsedNew) { - oldHash = newHash; + oldHref = newHref; } }; diff --git a/www/common/fsStore.js b/www/common/fsStore.js index 1be9e797f..b20c38c48 100644 --- a/www/common/fsStore.js +++ b/www/common/fsStore.js @@ -222,7 +222,7 @@ define([ if (!hash) { throw new Error('[Store.init] Unable to find or create a drive hash. Aborting...'); } - var secret = Cryptpad.getSecrets(hash); + var secret = Cryptpad.getSecrets('drive', hash); var listmapConfig = { data: {}, websocketURL: Cryptpad.getWebsocketURL(), diff --git a/www/common/userObject.js b/www/common/userObject.js index 0972b6943..49e46147a 100644 --- a/www/common/userObject.js +++ b/www/common/userObject.js @@ -61,9 +61,7 @@ define([ if (!isFile(element)) { return false; } var parsed = Cryptpad.parsePadUrl(element); if (!parsed) { return false; } - var hash = parsed.hash; - var pHash = Cryptpad.parseHash(hash); - if (pHash && !pHash.mode) { return; } + var pHash = parsed.hashData; return pHash && pHash.mode === 'view'; }; diff --git a/www/drive/main.js b/www/drive/main.js index 47868bde4..10921e20c 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -1103,7 +1103,7 @@ define([ var type = Messages.type[hrefData.type] || hrefData.type; var $title = $('<span>', {'class': 'title listElement', title: data.title}).text(data.title); var $type = $('<span>', {'class': 'type listElement', title: type}).text(type); - if (hrefData.hash && Cryptpad.parseHash(hrefData.hash) && Cryptpad.parseHash(hrefData.hash).mode === 'view') { + if (hrefData.hashData && hrefData.hashData.mode === 'view') { $type.append(' (' + Messages.readonly+ ')'); } var $adate = $('<span>', {'class': 'atime listElement', title: getDate(data.atime)}).text(getDate(data.atime)); @@ -2155,9 +2155,9 @@ define([ var getReadOnlyUrl = APP.getRO = function (href) { if (!filesOp.isFile(href)) { return; } var i = href.indexOf('#') + 1; - var hash = href.slice(i); + var parsed = Cryptpad.parsePadUrl(href);; var base = href.slice(0, i); - var hrefsecret = Cryptpad.getSecrets(hash); + var hrefsecret = Cryptpad.getSecrets(parsed.type, parsed.hash); if (!hrefsecret.keys) { return; } var viewHash = Cryptpad.getViewHashFromKeys(hrefsecret.channel, hrefsecret.keys); return base + viewHash; @@ -2608,7 +2608,7 @@ define([ } var hash = window.location.hash.slice(1) || Cryptpad.getUserHash() || localStorage.FS_hash; - var secret = Cryptpad.getSecrets(hash); + var secret = Cryptpad.getSecrets('drive', hash); var readOnly = APP.readOnly = secret.keys && !secret.keys.editKeyStr; var listmapConfig = module.config = { From ed95bbb08f86c88eb216eb0c350c5e7bfe725fe0 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Fri, 12 May 2017 16:43:01 +0200 Subject: [PATCH 049/236] Fix lint errors --- www/common/common-hash.js | 48 ++++++----------------------------- www/common/cryptpad-common.js | 9 ++----- www/drive/main.js | 2 +- 3 files changed, 11 insertions(+), 48 deletions(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index fb5f0d99c..401291d6c 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -39,9 +39,16 @@ define([ return s.replace(/\/+/g, '/'); }; +/* +Version 0 + /pad/#67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy +Version 1 + /code/#/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI +*/ + var parseTypeHash = Hash.parseTypeHash = function (type, hash) { if (!hash) { return; } - var parsed = {} + var parsed = {}; var hashArr = fixDuplicateSlashes(hash).split('/'); if (['media', 'file', 'user'].indexOf(type) === -1) { parsed.type = 'pad'; @@ -147,7 +154,6 @@ define([ } //var parsed = parsePadUrl(window.location.href); //var hash = secretHash || window.location.hash.slice(1); - console.log(hash, parsed); if (hash.length === 0) { generate(); return secret; @@ -164,7 +170,6 @@ define([ if (parsed.type === "pad") { secret.channel = base64ToHex(parsed.channel); if (parsed.mode === 'edit') { - console.log(parsed.key); secret.keys = Crypto.createEditCryptor(parsed.key); secret.key = secret.keys.editKeyStr; if (secret.channel.length !== 32 || secret.key.length !== 24) { @@ -219,43 +224,6 @@ define([ return '/1/edit/' + [channelId, key].join('/') + '/'; }; -/* -Version 0 - /pad/#67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy -Version 1 - /code/#/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI -Version 2 - /file/#/2/<fileId>/<cryptKey>/<contentType> - /file/#/2/K6xWU-LT9BJHCQcDCT-DcQ/ajExFODrFH4lVBwxxsrOKw/image-png -*/ - var parseHash = Hash.parseHash = function (hash) { - throw new Error('parseHash deprecated'); - var parsed = {}; - if (hash.slice(0,1) !== '/' && hash.length >= 56) { - // Old hash - parsed.channel = hash.slice(0, 32); - parsed.key = hash.slice(32); - parsed.version = 0; - return parsed; - } - var hashArr = fixDuplicateSlashes(hash).split('/'); - if (hashArr[1] && hashArr[1] === '1') { - parsed.version = 1; - parsed.mode = hashArr[2]; - parsed.channel = hashArr[3]; - parsed.key = hashArr[4]; - parsed.present = typeof(hashArr[5]) === "string" && hashArr[5] === 'present'; - return parsed; - } - if (hashArr[1] && hashArr[1] === '2') { - parsed.version = 2; - parsed.channel = hashArr[2].replace(/-/g, '/'); - parsed.key = hashArr[3].replace(/-/g, '/'); - return parsed; - } - return; - }; - // STORAGE Hash.findWeaker = function (href, recents) { var rHref = href || getRelativeHref(window.location.href); diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index ca8de5a08..6b042df41 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -75,7 +75,7 @@ define([ // import hash utilities for export var createRandomHash = common.createRandomHash = Hash.createRandomHash; - var parseTypeHash = common.parseTypeHash = Hash.parseTypeHash; + common.parseTypeHash = Hash.parseTypeHash; var parsePadUrl = common.parsePadUrl = Hash.parsePadUrl; var isNotStrongestStored = common.isNotStrongestStored = Hash.isNotStrongestStored; var hrefToHexChannelId = common.hrefToHexChannelId = Hash.hrefToHexChannelId; @@ -293,15 +293,10 @@ define([ return pads.map(function (pad) { var parsedHash; if (Array.isArray(pad)) { // TODO DEPRECATE_F - var href = pad[0]; - href.replace(/\#(.*)$/, function (a, h) { - hash = h; - }); - return { href: pad[0], atime: pad[1], - title: pad[2] || hash && hash.slice(0,8), + title: pad[2] || '', ctime: pad[1], }; } else if (pad && typeof(pad) === 'object') { diff --git a/www/drive/main.js b/www/drive/main.js index 10921e20c..bf853b443 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -2155,7 +2155,7 @@ define([ var getReadOnlyUrl = APP.getRO = function (href) { if (!filesOp.isFile(href)) { return; } var i = href.indexOf('#') + 1; - var parsed = Cryptpad.parsePadUrl(href);; + var parsed = Cryptpad.parsePadUrl(href); var base = href.slice(0, i); var hrefsecret = Cryptpad.getSecrets(parsed.type, parsed.hash); if (!hrefsecret.keys) { return; } From 18d959ef16498e53bf9c7b42004a568a9cc9f4a9 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 17:07:30 +0200 Subject: [PATCH 050/236] handle non-200 status codes --- www/common/common-util.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/www/common/common-util.js b/www/common/common-util.js index bbd648f7c..7f735411e 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -101,11 +101,11 @@ define([], function () { xhr.open("GET", src, true); xhr.responseType = "arraybuffer"; xhr.onload = function () { + if (this.status !== 200) { + return CB('XHR_ERROR'); + } return void CB(void 0, new Uint8Array(xhr.response)); }; - xhr.onerror = function () { - CB('XHR_ERROR'); - }; xhr.send(null); }; From 30f6ef3f85449aac097f4a13ff228ee3d6f6ffd9 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 12 May 2017 17:34:29 +0200 Subject: [PATCH 051/236] handle more response codes, use metadata --- www/common/common-util.js | 2 +- www/media/main.js | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/www/common/common-util.js b/www/common/common-util.js index 7f735411e..a5822c743 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -101,7 +101,7 @@ define([], function () { xhr.open("GET", src, true); xhr.responseType = "arraybuffer"; xhr.onload = function () { - if (this.status !== 200) { + if ([200, 304].indexOf(this.status) === -1) { return CB('XHR_ERROR'); } return void CB(void 0, new Uint8Array(xhr.response)); diff --git a/www/media/main.js b/www/media/main.js index 9e5276019..044fba0c0 100644 --- a/www/media/main.js +++ b/www/media/main.js @@ -20,11 +20,6 @@ define([ Cryptpad.addLoadingScreen(); var andThen = function () { - $(window.document).on('decryption', function (e) { - var decrypted = e.originalEvent; - console.log(decrypted.blob, decrypted.metadata); - }); - var $bar = $iframe.find('.toolbar-container'); var secret = Cryptpad.getSecrets(); @@ -71,11 +66,16 @@ define([ $mt.attr('data-crypto-key', 'cryptpad:'+cryptKey); $mt.attr('data-type', type); - window.onMediaMetadata = function (metadata) { + $(window.document).on('decryption', function (e) { + var decrypted = e.originalEvent; + var metadata = decrypted.metadata; + + console.log(metadata); + console.log(defaultName); if (!metadata || metadata.name !== defaultName) { return; } var title = document.title = metadata.name; updateTitle(title || defaultName); - }; + }); require(['/common/media-tag.js'], function (MediaTag) { var configTb = { From 601226115b64fb4f3a5287e669a51e3362434d4e Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Fri, 12 May 2017 18:06:29 +0200 Subject: [PATCH 052/236] New anonymous drive --- customize.dist/translations/messages.fr.js | 1 + customize.dist/translations/messages.js | 1 + www/common/common-codemirror.js | 2 -- www/common/cryptpad-common.js | 12 ++++--- www/common/userObject.js | 36 +++++++++++++++++-- www/drive/file.css | 3 ++ www/drive/file.less | 3 ++ www/drive/main.js | 42 ++++++++++++++++------ 8 files changed, 79 insertions(+), 21 deletions(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index d8e6f73d2..e2bbdd082 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -32,6 +32,7 @@ define(function () { out.error = "Erreur"; out.saved = "Enregistré"; out.synced = "Tout est enregistré"; + out.deleted = "Pad supprimé de votre CryptDrive"; out.disconnected = 'Déconnecté'; out.synchronizing = 'Synchronisation'; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index afdbdc6b2..15f5dfc2b 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -34,6 +34,7 @@ define(function () { out.error = "Error"; out.saved = "Saved"; out.synced = "Everything is saved"; + out.deleted = "Pad deleted from your CryptDrive"; out.disconnected = 'Disconnected'; out.synchronizing = 'Synchronizing'; diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js index d9dfddaf6..bec2b98e4 100644 --- a/www/common/common-codemirror.js +++ b/www/common/common-codemirror.js @@ -149,9 +149,7 @@ define([ left: true, // Open to the left of the button isSelect: true, }; - console.log('here'); var $block = exp.$language = Cryptpad.createDropdown(dropdownConfig); - console.log(exp); $block.find('a').click(function () { setMode($(this).attr('data-value'), $block); onLocal(); diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 6b042df41..f91069286 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -743,13 +743,13 @@ define([ common.updatePinLimit = function (cb) { if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } - rpc.getFileListSize(cb); + rpc.updatePinLimits(cb); }; common.getPinLimit = function (cb) { if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } - rpc.getFileListSize(cb); - //cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000); + cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000); + //rpc.getLimit(cb); TODO }; common.isOverPinLimit = function (cb) { @@ -858,7 +858,8 @@ define([ if (callback) { button.click(function() { var href = window.location.href; - common.confirm(Messages.forgetPrompt, function (yes) { + var msg = isLoggedIn() ? Messages.forgetPrompt : Messages.fm_removePermanentlyDialog; + common.confirm(msg, function (yes) { if (!yes) { return; } common.forgetPad(href, function (err) { if (err) { @@ -877,7 +878,8 @@ define([ } else { callback(); } - common.alert(Messages.movedToTrash, undefined, true); + var cMsg = isLoggedIn() ? Messages.movedToTrash : Messages.deleted; + common.alert(cMsg, undefined, true); return; }); }); diff --git a/www/common/userObject.js b/www/common/userObject.js index 49e46147a..51840dca5 100644 --- a/www/common/userObject.js +++ b/www/common/userObject.js @@ -539,6 +539,7 @@ define([ // ADD var add = exp.add = function (data, path) { + if (!Cryptpad.isLoggedIn()) { return; } if (!data || typeof(data) !== "object") { return; } var href = data.href; var name = data.title; @@ -596,6 +597,18 @@ define([ // FORGET (move with href not path) exp.forget = function (href) { + if (!Cryptpad.isLoggedIn()) { + // delete permanently + var data = getFileData(href); + if (data) { + var i = find([FILES_DATA]).indexOf(data); + if (i !== -1) { + exp.removePadAttribute(href); + spliceFileData(i); + } + } + return; + } var paths = findFile(href); move(paths, [TRASH]); }; @@ -603,7 +616,7 @@ define([ // DELETE // Permanently delete multiple files at once using a list of paths // NOTE: We have to be careful when removing elements from arrays (trash root, unsorted or template) - var removePadAttribute = function (f) { + var removePadAttribute = exp.removePadAttribute = function (f) { if (typeof(f) !== 'string') { console.error("Can't find pad attribute for an undefined pad"); return; @@ -619,7 +632,7 @@ define([ }; var checkDeletedFiles = function () { // Nothing in FILES_DATA for workgroups - if (workgroup) { return; } + if (workgroup || !Cryptpad.isLoggedIn()) { return; } var filesList = getFiles([ROOT, 'hrefArray', TRASH]); var toRemove = []; @@ -654,6 +667,23 @@ define([ var hrefPaths = paths.filter(function(x) { return isPathIn(x, ['hrefArray']); }); var rootPaths = paths.filter(function(x) { return isPathIn(x, [ROOT]); }); var trashPaths = paths.filter(function(x) { return isPathIn(x, [TRASH]); }); + var allFilesPaths = paths.filter(function(x) { return isPathIn(x, [FILES_DATA]); }); + + if (!Cryptpad.isLoggedIn()) { + var toSplice = []; + allFilesPaths.forEach(function (path) { + var el = find(path); + toSplice.push(el); + }); + toSplice.forEach(function (el) { + var i = find([FILES_DATA]).indexOf(el); + if (i === -1) { return; } + removePadAttribute(el.href); + console.log(el.href); + spliceFileData(i); + }); + return; + } var hrefs = []; hrefPaths.forEach(function (path) { @@ -882,7 +912,7 @@ define([ toClean.push(el); return; } - if (rootFiles.indexOf(el.href) === -1) { + if (Cryptpad.isLoggedIn() && rootFiles.indexOf(el.href) === -1) { debug("An element in filesData was not in ROOT, TEMPLATE or TRASH.", el); var name = el.title || NEW_FILE_NAME; var newName = getAvailableName(root, name); diff --git a/www/drive/file.css b/www/drive/file.css index fed050db1..2f353a371 100644 --- a/www/drive/file.css +++ b/www/drive/file.css @@ -154,6 +154,9 @@ span.fa-folder-open { min-width: 30px; cursor: pointer; } +#tree #allfilesTree { + margin-top: 0; +} #tree #searchContainer { text-align: center; padding: 5px 0; diff --git a/www/drive/file.less b/www/drive/file.less index fe506ae35..13a8adc6b 100644 --- a/www/drive/file.less +++ b/www/drive/file.less @@ -194,6 +194,9 @@ span { } } } + #allfilesTree { + margin-top: 0; + } #searchContainer { text-align: center; padding: 5px 0; diff --git a/www/drive/main.js b/www/drive/main.js index bf853b443..27671f54e 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -205,7 +205,6 @@ define([ var $trashTreeContextMenu = $iframe.find("#trashTreeContextMenu"); var $trashContextMenu = $iframe.find("#trashContextMenu"); - // TOOLBAR /* add a "change username" button */ @@ -227,10 +226,14 @@ define([ if (AppConfig.enableTemplates) { displayedCategories.push(TEMPLATE); } if (isWorkgroup()) { displayedCategories = [ROOT, TRASH, SEARCH]; } + if (!Cryptpad.isLoggedIn()) { + displayedCategories = [FILES_DATA]; + currentPath = [FILES_DATA]; + } + if (!APP.readOnly) { setEditable(true); } - var appStatus = { isReady: true, _onReady: [], @@ -1811,14 +1814,16 @@ define([ module.resetTree(); - // in history mode we want to focus the version number input - if (!history.isHistoryMode && !APP.mobile()) { - var st = $tree.scrollTop() || 0; - $tree.find('#searchInput').focus(); - $tree.scrollTop(st); + if (displayedCategories.indexOf(SEARCH) !== -1) { + // in history mode we want to focus the version number input + if (!history.isHistoryMode && !APP.mobile()) { + var st = $tree.scrollTop() || 0; + $tree.find('#searchInput').focus(); + $tree.scrollTop(st); + } + $tree.find('#searchInput')[0].selectionStart = getSearchCursor(); + $tree.find('#searchInput')[0].selectionEnd = getSearchCursor(); } - $tree.find('#searchInput')[0].selectionStart = getSearchCursor(); - $tree.find('#searchInput')[0].selectionEnd = getSearchCursor(); if (!isWorkgroup()) { setLastOpenedFolder(path); @@ -2310,6 +2315,19 @@ define([ else if ($(this).hasClass('delete')) { var pathsList = []; paths.forEach(function (p) { pathsList.push(p.path); }); + if (!Cryptpad.isLoggedIn()) { + console.log(paths); + var msg = Messages._getKey("fm_removeSeveralPermanentlyDialog", [paths.length]); + if (paths.length === 1) { + msg = Messages.fm_removePermanentlyDialog; + } + Cryptpad.confirm(msg, function(res) { + $(ifrw).focus(); + if (!res) { return; } + filesOp.delete(pathsList, refresh); + }); + return; + } moveElements(pathsList, [TRASH], false, refresh); } else if ($(this).hasClass("properties")) { @@ -2432,7 +2450,9 @@ define([ $appContainer.on('keydown', function (e) { // "Del" if (e.which === 46) { - if (filesOp.isPathIn(currentPath, [FILES_DATA])) { return; } // We can't remove elements directly from filesData + if (filesOp.isPathIn(currentPath, [FILES_DATA]) && Cryptpad.isLoggedIn()) { + return; // We can't remove elements directly from filesData + } var $selected = $iframe.find('.selected'); if (!$selected.length) { return; } var paths = []; @@ -2442,7 +2462,7 @@ define([ paths.push($(elmt).data('path')); }); // If we are in the trash or anon pad or if we are holding the "shift" key, delete permanently, - if (isTrash || e.shiftKey) { + if (!Cryptpad.isLoggedIn() || isTrash || e.shiftKey) { var msg = Messages._getKey("fm_removeSeveralPermanentlyDialog", [paths.length]); if (paths.length === 1) { msg = Messages.fm_removePermanentlyDialog; From fc49715bc00d2226b97a4130f7fc35522901cb46 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Sat, 13 May 2017 12:32:26 +0200 Subject: [PATCH 053/236] document 'enableFeedback' in the server conf --- config.example.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config.example.js b/config.example.js index 1be17e510..a91c384bd 100644 --- a/config.example.js +++ b/config.example.js @@ -211,6 +211,15 @@ module.exports = { */ restrictUploads: true, + /* clients can use the /settings/ app to opt out of usage feedback + * which informs the server of things like how much each app is being + * used, and whether certain clientside features are supported by + * the client's browser. The intent is to provide feedback to the admin + * such that the service can be improved. Enable this with `true` + * and ignore feedback with `false` or by commenting the attribute + */ + //logFeedback: true, + /* it is recommended that you serve cryptpad over https * the filepaths below are used to configure your certificates */ From 06f3d0eefe4473a5cabd33b23cdbb49f7dddc158 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 15 May 2017 10:26:52 +0200 Subject: [PATCH 054/236] shim isArray if not exists. correctly report how often this occurs --- www/common/boot2.js | 8 ++++++++ www/common/cryptpad-common.js | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/www/common/boot2.js b/www/common/boot2.js index 599875a93..d894191e8 100644 --- a/www/common/boot2.js +++ b/www/common/boot2.js @@ -10,5 +10,13 @@ define([], function () { "json.sortify": "/bower_components/json.sortify/dist/JSON.sortify" } }); + + // most of CryptPad breaks if you don't support isArray + if (!Array.isArray) { + Array.isArray = function(arg) { // CRYPTPAD_SHIM + return Object.prototype.toString.call(arg) === '[object Array]'; + }; + } + require([document.querySelector('script[data-bootload]').getAttribute('data-bootload')]); }); diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index f91069286..e6a48ebe2 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -1269,7 +1269,7 @@ define([ feedback("NO_PROXIES"); } - if (typeof(Array.isArray) !== 'function') { + if (!/CRYPTPAD_SHIM/.test(Array.isArray.toString())) { feedback("NO_ISARRAY"); } From 9bbd3161ca05c4a2a61425f5c98f04a5174c4d0b Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 15 May 2017 11:11:12 +0200 Subject: [PATCH 055/236] update tests for new API changes --- www/assert/main.js | 64 +++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/www/assert/main.js b/www/assert/main.js index 7da11f408..ffab3f5a9 100644 --- a/www/assert/main.js +++ b/www/assert/main.js @@ -153,50 +153,50 @@ define([ // check that old hashes parse correctly assert(function (cb) { - var secret = Cryptpad.parseHash('67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy'); - return cb(secret.channel === "67b8385b07352be53e40746d2be6ccd7" && - secret.key === "XAYSuJYYqa9NfmInyHci7LNy" && - secret.version === 0); + var secret = Cryptpad.parsePadUrl('/pad/#67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy'); + return cb(secret.hashData.channel === "67b8385b07352be53e40746d2be6ccd7" && + secret.hashData.key === "XAYSuJYYqa9NfmInyHci7LNy" && + secret.hashData.version === 0); }, "Old hash failed to parse"); // make sure version 1 hashes parse correctly assert(function (cb) { - var secret = Cryptpad.parseHash('/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI'); - return cb(secret.version === 1 && - secret.mode === "edit" && - secret.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" && - secret.key === "usn4+9CqVja8Q7RZOGTfRgqI" && - !secret.present); + var secret = Cryptpad.parsePadUrl('/pad/#/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI'); + return cb(secret.hashData.version === 1 && + secret.hashData.mode === "edit" && + secret.hashData.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" && + secret.hashData.key === "usn4+9CqVja8Q7RZOGTfRgqI" && + !secret.hashData.present); + }, "version 1 hash (without present mode) failed to parse"); + + // test support for present mode in hashes + assert(function (cb) { + var secret = Cryptpad.parsePadUrl('/pad/#/1/edit/CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G/present'); + return cb(secret.hashData.version === 1 + && secret.hashData.mode === "edit" + && secret.hashData.channel === "CmN5+YJkrHFS3NSBg-P7Sg" + && secret.hashData.key === "DNZ2wcG683GscU4fyOyqA87G" + && secret.hashData.present); }, "version 1 hash failed to parse"); // test support for present mode in hashes assert(function (cb) { - var secret = Cryptpad.parseHash('/1/edit/CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G/present'); - return cb(secret.version === 1 - && secret.mode === "edit" - && secret.channel === "CmN5+YJkrHFS3NSBg-P7Sg" - && secret.key === "DNZ2wcG683GscU4fyOyqA87G" - && secret.present); - }, "version 1 hash failed to parse"); - - // test support for present mode in hashes - assert(function (cb) { - var secret = Cryptpad.parseHash('/1/edit//CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G//present'); - return cb(secret.version === 1 - && secret.mode === "edit" - && secret.channel === "CmN5+YJkrHFS3NSBg-P7Sg" - && secret.key === "DNZ2wcG683GscU4fyOyqA87G" - && secret.present); + var secret = Cryptpad.parsePadUrl('/pad/#/1/edit//CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G//present'); + return cb(secret.hashData.version === 1 + && secret.hashData.mode === "edit" + && secret.hashData.channel === "CmN5+YJkrHFS3NSBg-P7Sg" + && secret.hashData.key === "DNZ2wcG683GscU4fyOyqA87G" + && secret.hashData.present); }, "Couldn't handle multiple successive slashes"); // test support for trailing slash assert(function (cb) { - var secret = Cryptpad.parseHash('/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI/'); - return cb(secret.version === 1 && - secret.mode === "edit" && - secret.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" && - secret.key === "usn4+9CqVja8Q7RZOGTfRgqI" && - !secret.present); + var secret = Cryptpad.parsePadUrl('/pad/#/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI/'); + return cb(secret.hashData.version === 1 && + secret.hashData.mode === "edit" && + secret.hashData.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" && + secret.hashData.key === "usn4+9CqVja8Q7RZOGTfRgqI" && + !secret.hashData.present); }, "test support for trailing slashes in version 1 hash failed to parse"); assert(function (cb) { From a9b670fdf55eff3177d3a4cfd761ca4cab1c71cf Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 15 May 2017 11:17:46 +0200 Subject: [PATCH 056/236] don't parse trailing slash as part of encryption key in old hashes --- www/common/common-hash.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index 401291d6c..afb6bca2b 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -55,7 +55,7 @@ Version 1 if (hash.slice(0,1) !== '/' && hash.length >= 56) { // Old hash parsed.channel = hash.slice(0, 32); - parsed.key = hash.slice(32); + parsed.key = hash.slice(32, 56); parsed.version = 0; return parsed; } From 591c5a7844c01f32dc86522d5c5c8748c2d36ab9 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 15 May 2017 11:59:36 +0200 Subject: [PATCH 057/236] add TODOs, integrate upload size checks --- rpc.js | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/rpc.js b/rpc.js index e729e4802..df9020e6a 100644 --- a/rpc.js +++ b/rpc.js @@ -15,7 +15,7 @@ var Store = require("./storage/file"); var DEFAULT_LIMIT = 100; -var isValidChannel = function (chan) { +var isValidId = function (chan) { return /^[a-fA-F0-9]/.test(chan) || [32, 48].indexOf(chan.length) !== -1; }; @@ -249,8 +249,16 @@ var getChannelList = function (store, Sessions, publicKey, cb) { }); }; -var getUploadSize = function (store, channel, cb) { - var path = ''; +var makeFilePath = function (root, id) { + if (typeof(id) !== 'string' || id.length <= 2) { return null; } + return Path.join(root, id.slice(0, 2), id); +}; + +var getUploadSize = function (paths, channel, cb) { + var path = makeFilePath(paths.blob, channel); + if (!path) { + return cb('INVALID_UPLOAD_ID'); + } Fs.stat(path, function (err, stats) { if (err) { return void cb(err); } @@ -258,8 +266,8 @@ var getUploadSize = function (store, channel, cb) { }); }; -var getFileSize = function (store, channel, cb) { - if (!isValidChannel(channel)) { return void cb('INVALID_CHAN'); } +var getFileSize = function (paths, store, channel, cb) { + if (!isValidId(channel)) { return void cb('INVALID_CHAN'); } if (channel.length === 32) { if (typeof(store.getChannelSize) !== 'function') { @@ -273,14 +281,13 @@ var getFileSize = function (store, channel, cb) { } // 'channel' refers to a file, so you need anoter API - getUploadSize(null, channel, function (e, size) { + getUploadSize(paths, channel, function (e, size) { if (e) { return void cb(e); } cb(void 0, size); }); }; -var getMultipleFileSize = function (store, channels, cb) { - +var getMultipleFileSize = function (paths, store, channels, cb) { if (!Array.isArray(channels)) { return cb('INVALID_LIST'); } if (typeof(store.getChannelSize) !== 'function') { return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); @@ -295,16 +302,12 @@ var getMultipleFileSize = function (store, channels, cb) { }; channels.forEach(function (channel) { - if (!isValidChannel(channel)) { - counts[channel] = -1; - return done(); - } - store.getChannelSize(channel, function (e, size) { + getFileSize(paths, store, channel, function (e, size) { if (e) { + console.error(e); counts[channel] = -1; return done(); } - counts[channel] = size; done(); }); @@ -524,11 +527,6 @@ var safeMkdir = function (path, cb) { }); }; -var makeFilePath = function (root, id) { - if (typeof(id) !== 'string' || id.length <= 2) { return null; } - return Path.join(root, id.slice(0, 2), id); -}; - var makeFileStream = function (root, id, cb) { var stub = id.slice(0, 2); var full = makeFilePath(root, id); @@ -552,6 +550,9 @@ var makeFileStream = function (root, id, cb) { var upload = function (paths, Sessions, publicKey, content, cb) { var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line + // TODO check that the ongoing upload has not exceeded its declared size + // TODO fail if it has... + var session = Sessions[publicKey]; session.atime = +new Date(); if (!session.blobstage) { @@ -650,7 +651,9 @@ your upload is going to be. if that would exceed your limit, return TOO_LARGE error. */ -var upload_status = function (paths, Sessions, publicKey, cb) { +var upload_status = function (paths, Sessions, size, publicKey, cb) { + // TODO validate that size is within tolerance + var filePath = makeFilePath(paths.staging, publicKey); if (!filePath) { return void cb('E_INVALID_PATH'); } isFile(filePath, function (e, yes) { @@ -772,7 +775,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Respond(e, size); }); case 'GET_FILE_SIZE': - return void getFileSize(ctx.store, msg[1], Respond); + return void getFileSize(paths, ctx.store, msg[1], Respond); case 'UPDATE_LIMITS': return void updateLimits(config, safeKey, function (e, limit) { if (e) { return void Respond(e); } @@ -785,7 +788,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Respond(void 0, limit); }); case 'GET_MULTIPLE_FILE_SIZE': - return void getMultipleFileSize(ctx.store, msg[1], function (e, dict) { + return void getMultipleFileSize(paths, ctx.store, msg[1], function (e, dict) { if (e) { return void Respond(e); } Respond(void 0, dict); }); @@ -798,7 +801,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) }); case 'UPLOAD_STATUS': if (!privileged) { return deny(); } - return void upload_status(paths, Sessions, safeKey, function (e, stat) { + return void upload_status(paths, Sessions, safeKey, msg[1], function (e, stat) { Respond(e, stat); }); case 'UPLOAD_COMPLETE': From ad5e18f55831d1288cb389e43d45061b7c1f735b Mon Sep 17 00:00:00 2001 From: Pierre Bondoerffer <pierre@bondoer.fr> Date: Mon, 15 May 2017 12:05:50 +0200 Subject: [PATCH 058/236] Spanish update --- customize.dist/translations/messages.es.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js index 9af57694d..522e79402 100644 --- a/customize.dist/translations/messages.es.js +++ b/customize.dist/translations/messages.es.js @@ -404,5 +404,21 @@ define(function () { out.history_restoreDone = "Documento restaurado"; out.fc_sizeInKilobytes = "Talla en Kilobytes"; + // 1.5.0/1.6.0 - Fenrir/Grootslang + + out.deleted = "El pad fue borrado de tu CryptDrive"; + out.upgrade = "Mejorar"; + out.upgradeTitle = "Mejora tu cuenta para obtener más espacio"; + out.MB = "MB"; + out.pinLimitReached = "Has llegado al limite de espacio"; + out.pinLimitReachedAlert = "Has llegado al limite de espacio. Nuevos pads no serán movidos a tu CryptDrive.<br>Para resolver este problema, puedes quitar pads de tu CryptDrive (incluso en la papelera) o mejorar tu cuenta para obtener más espacio."; + out.pinLimitNotPinned = "Has llegado al limite de espacio.<br>Este pad no estará presente en tu CryptDrive."; + out.pinLimitDrive = "Has llegado al limite de espacio.<br>No puedes crear nuevos pads."; + out.printTransition = "Activar transiciones"; + out.history_version = "Versión: "; + out.settings_logoutEverywhereTitle = "Cerrar sessión en todas partes"; + out.settings_logoutEverywhere = "Cerrar todas las otras sessiones"; + out.settings_logoutEverywhereConfirm = "¿Estás seguro? Tendrás que volver a iniciar sessión con todos tus dispositivos."; + return out; }); From 57979f6314d758d2a5608d79da4ead6e0634b143 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 13:53:43 +0200 Subject: [PATCH 059/236] Display the public key using a href in the settings page --- www/common/common-hash.js | 6 ++++++ www/common/cryptpad-common.js | 1 + www/settings/main.js | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index 401291d6c..ff5e29e85 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -34,6 +34,9 @@ define([ var getFileHashFromKeys = Hash.getFileHashFromKeys = function (fileKey, cryptKey) { return '/1/' + hexToBase64(fileKey) + '/' + Crypto.b64RemoveSlashes(cryptKey) + '/'; }; + var getUserHrefFromKeys = Hash.getUserHrefFromKeys = function (username, pubkey) { + return window.location.origin + '/user/#/1/' + username + '/' + pubkey.replace(/\//g, '-'); + }; var fixDuplicateSlashes = function (s) { return s.replace(/\/+/g, '/'); @@ -188,6 +191,9 @@ Version 1 // version 2 hashes are to be used for encrypted blobs secret.channel = parsed.channel; secret.keys = { fileKeyStr: parsed.key }; + } else if (parsed.type === "user") { + // version 2 hashes are to be used for encrypted blobs + throw new Error("User hashes can't be opened (yet)"); } } } diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index f91069286..5c1b747e5 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -85,6 +85,7 @@ define([ common.getEditHashFromKeys = Hash.getEditHashFromKeys; common.getViewHashFromKeys = Hash.getViewHashFromKeys; common.getFileHashFromKeys = Hash.getFileHashFromKeys; + common.getUserHrefFromKeys = Hash.getUserHrefFromKeys; common.getSecrets = Hash.getSecrets; common.getHashes = Hash.getHashes; common.createChannelId = Hash.createChannelId; diff --git a/www/settings/main.js b/www/settings/main.js index 7abff2e85..6a14fe819 100644 --- a/www/settings/main.js +++ b/www/settings/main.js @@ -49,13 +49,14 @@ define([ var publicKey = obj.edPublic; if (publicKey) { + var userHref = Cryptpad.getUserHrefFromKeys(accountName, publicKey); var $pubLabel = $('<span>', {'class': 'label'}) .text(Messages.settings_publicSigningKey + ':'); var $pubKey = $('<input>', {type: 'text', readonly: true}) .css({ width: '28em' }) - .val(publicKey); + .val(userHref); $div.append('<br>').append($pubLabel).append($pubKey); } From 03274c3776ae2f2315483da312678e50c109458c Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 13:54:03 +0200 Subject: [PATCH 060/236] Display an info message in the anonymous drive --- customize.dist/translations/messages.fr.js | 6 +++++ customize.dist/translations/messages.js | 8 +++++++ www/drive/file.css | 5 ++++- www/drive/file.less | 5 ++++- www/drive/main.js | 26 +++++++++++++++------- 5 files changed, 40 insertions(+), 10 deletions(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index e2bbdd082..e719a44d9 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -226,10 +226,16 @@ define(function () { out.fm_info_template = "Contient tous les fichiers que vous avez sauvés en tant que modèle afin de les réutiliser lors de la création d'un nouveau pad."; out.fm_info_trash = 'Les fichiers supprimés dans la corbeille sont également enlevés de "Tous les fichiers" et il est impossible de les récupérer depuis l\'explorateur de fichiers.'; // Same here for "All files" and "out.fm_filesDataName" out.fm_info_allFiles = 'Contient tous les fichiers de "Documents", "Fichiers non triés" et "Corbeille". Vous ne pouvez pas supprimer ou déplacer des fichiers depuis cet endroit.'; // Same here + out.fm_info_anonymous = 'Vous n\'êtes pas connectés, ces pads risquent donc d\'être supprimés (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">découvrez pourquoi</a>). ' + + '<a href="/register/">Inscrivez-vous</a> ou <a href="/login/">connectez-vous</a> pour les maintenir en vie.'; out.fm_alert_backupUrl = "Lien de secours pour ce disque.<br>" + "Il est <strong>fortement recommandé</strong> de garder ce lien pour vous-même.<br>" + "Elle vous servira en cas de perte des données de votre navigateur afin de retrouver vos fichiers.<br>" + "Quiconque se trouve en possession de celle-ci peut modifier ou supprimer tous les fichiers de ce gestionnaire.<br>"; + out.fm_alert_anonymous = "Bonjour ! Vous utilisez actuellement Cryptpad de manière anonyme, ce qui ne pose pas de problème mais vos pads peuvent être supprimés après un certain temps " + + "d'inactivité. Nous avons désactivé certaines fonctionnalités avancées de CryptDrive pour les utilisateurs anonymes afin de rendre clair le fait que ce n'est pas " + + 'un endroit sûr pour le stockage des documents. Vous pouvez <a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">en lire plus</a> concernant ' + + 'nos raisons pour ces changements et pourquoi vous devriez vraiment <a href="/register/">vous enregistrer</a> et <a href="/login/">vous connecter</a>.'; out.fm_backup_title = 'Lien de secours'; out.fm_nameFile = 'Comment souhaitez-vous nommer ce fichier ?'; // File - Context menu diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 15f5dfc2b..c6ae72ce5 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -228,10 +228,18 @@ define(function () { out.fm_info_template = 'Contains all the pads stored as templates and that you can re-use when you create a new pad.'; out.fm_info_trash = 'Files deleted from the trash are also removed from "All files" and it is impossible to recover them from the file manager.'; // Same here for "All files" and "out.fm_filesDataName" out.fm_info_allFiles = 'Contains all the files from "Documents", "Unsorted" and "Trash". You can\'t move or remove files from here.'; // Same here + out.fm_info_login = "Log in"; + out.fm_info_register = "Sign up"; + out.fm_info_anonymous = 'You are not logged in so these pads may be deleted (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">find out why</a>). ' + + '<a href="/register/">Sign up</a> or <a href="/login/">Log in</a> to keep them alive.'; out.fm_alert_backupUrl = "Backup link for this drive.<br>" + "It is <strong>highly recommended</strong> that you keep ip for yourself only.<br>" + "You can use it to retrieve all your files in case your browser memory got erased.<br>" + "Anybody with that link can edit or remove all the files in your file manager.<br>"; + out.fm_alert_anonymous = "Hello there, you are currently using CryptPad anonymously, that's ok but your pads may be deleted after a period of " + + "inactivity. We have disabled advanced features of the drive for anonymous users because we want to be clear that it is " + + 'not a safe place to store things. You can <a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">read more</a> about ' + + 'why we are doing this and why you really should <a href="/register/">Sign up</a> and <a href="/login/">Log in</a>.'; out.fm_backup_title = 'Backup link'; out.fm_nameFile = 'How would you like to name that file?'; // File - Context menu diff --git a/www/drive/file.css b/www/drive/file.css index 2f353a371..7ef0adc5e 100644 --- a/www/drive/file.css +++ b/www/drive/file.css @@ -259,6 +259,9 @@ span.fa-folder-open { margin-left: 10px; float: right; } +#content .info-box.noclose { + padding-right: 10px; +} #content li { cursor: default; } @@ -462,7 +465,7 @@ span.fa-folder-open { height: 100%; } #driveToolbar button { - height: 30px; + height: 26px; } #driveToolbar button.element { border-radius: 2px; diff --git a/www/drive/file.less b/www/drive/file.less index 13a8adc6b..825d465b4 100644 --- a/www/drive/file.less +++ b/www/drive/file.less @@ -303,6 +303,9 @@ span { margin-left: 10px; float: right; } + &.noclose { + padding-right: 10px; + } } li { cursor: default; @@ -527,7 +530,7 @@ span { } button { - height: 30px; + height: 26px; &.element { border-radius: 2px; background: @toolbar-button-bg; diff --git a/www/drive/main.js b/www/drive/main.js index 27671f54e..af2974767 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -226,9 +226,14 @@ define([ if (AppConfig.enableTemplates) { displayedCategories.push(TEMPLATE); } if (isWorkgroup()) { displayedCategories = [ROOT, TRASH, SEARCH]; } - if (!Cryptpad.isLoggedIn()) { + if (!APP.loggedIn) { displayedCategories = [FILES_DATA]; currentPath = [FILES_DATA]; + $tree.hide(); + if (Object.keys(files.root).length && !proxy.anonymousAlert) { + Cryptpad.alert(Messages.fm_alert_anonymous, null, true); + proxy.anonymousAlert = true; + } } if (!APP.readOnly) { @@ -607,7 +612,6 @@ define([ } hasFolder = true; hide.push($menu.find('a.open_ro')); - // TODO: folder properties in the future? hide.push($menu.find('a.properties')); } // If we're in the trash, hide restore and properties for non-root elements @@ -1292,6 +1296,12 @@ define([ default: msg = undefined; } + if (!APP.loggedIn) { + msg = Messages.fm_info_anonymous; + $box.html(msg); + $box.addClass('noclose'); + return $box; + } if (!msg || Cryptpad.getLSAttribute('hide-info-' + path[0]) === '1') { $box.hide(); } else { @@ -2200,7 +2210,7 @@ define([ .appendTo($d); } - if (Cryptpad.isLoggedIn() && AppConfig.enablePinning) { + if (APP.loggedIn && AppConfig.enablePinning) { // check the size of this file... Cryptpad.getFileSize(el, function (e, bytes) { if (e) { @@ -2315,8 +2325,7 @@ define([ else if ($(this).hasClass('delete')) { var pathsList = []; paths.forEach(function (p) { pathsList.push(p.path); }); - if (!Cryptpad.isLoggedIn()) { - console.log(paths); + if (!APP.loggedIn) { var msg = Messages._getKey("fm_removeSeveralPermanentlyDialog", [paths.length]); if (paths.length === 1) { msg = Messages.fm_removePermanentlyDialog; @@ -2450,7 +2459,7 @@ define([ $appContainer.on('keydown', function (e) { // "Del" if (e.which === 46) { - if (filesOp.isPathIn(currentPath, [FILES_DATA]) && Cryptpad.isLoggedIn()) { + if (filesOp.isPathIn(currentPath, [FILES_DATA]) && APP.loggedIn) { return; // We can't remove elements directly from filesData } var $selected = $iframe.find('.selected'); @@ -2462,7 +2471,7 @@ define([ paths.push($(elmt).data('path')); }); // If we are in the trash or anon pad or if we are holding the "shift" key, delete permanently, - if (!Cryptpad.isLoggedIn() || isTrash || e.shiftKey) { + if (!APP.loggedIn || isTrash || e.shiftKey) { var msg = Messages._getKey("fm_removeSeveralPermanentlyDialog", [paths.length]); if (paths.length === 1) { msg = Messages.fm_removePermanentlyDialog; @@ -2616,7 +2625,7 @@ define([ // don't initialize until the store is ready. Cryptpad.ready(function () { Cryptpad.reportAppUsage(); - if (!Cryptpad.isLoggedIn()) { Cryptpad.feedback('ANONYMOUS_DRIVE'); } + if (!APP.loggedIn) { Cryptpad.feedback('ANONYMOUS_DRIVE'); } APP.$bar = $iframe.find('#toolbar'); var storeObj = Cryptpad.getStore().getProxy && Cryptpad.getStore().getProxy().proxy ? Cryptpad.getStore().getProxy() : undefined; @@ -2752,6 +2761,7 @@ define([ }; var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig}); $rightside.append($hist); + if (!APP.loggedIn) { $hist.hide(); } if (!readOnly && !APP.loggedIn) { var $backupButton = Cryptpad.createButton('', true).removeClass('fa').removeClass('fa-question'); From 0e5885939326f1c333c49cdb87f35b447af879e4 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 13:55:40 +0200 Subject: [PATCH 061/236] Fix lint error --- www/common/common-hash.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index d79f7c523..e38fa088e 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -34,7 +34,7 @@ define([ var getFileHashFromKeys = Hash.getFileHashFromKeys = function (fileKey, cryptKey) { return '/1/' + hexToBase64(fileKey) + '/' + Crypto.b64RemoveSlashes(cryptKey) + '/'; }; - var getUserHrefFromKeys = Hash.getUserHrefFromKeys = function (username, pubkey) { + Hash.getUserHrefFromKeys = function (username, pubkey) { return window.location.origin + '/user/#/1/' + username + '/' + pubkey.replace(/\//g, '-'); }; From 8172f117a7077d9d8922480452052423b47ea97b Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 14:21:15 +0200 Subject: [PATCH 062/236] Fix Hash.alert not a function --- www/common/common-hash.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index e38fa088e..c6bf29ce9 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -1,8 +1,9 @@ define([ '/common/common-util.js', + '/common/common-interface.js', '/bower_components/chainpad-crypto/crypto.js', '/bower_components/tweetnacl/nacl-fast.min.js' -], function (Util, Crypto) { +], function (Util, UI, Crypto) { var Nacl = window.nacl; var Hash = {}; @@ -176,14 +177,14 @@ Version 1 secret.keys = Crypto.createEditCryptor(parsed.key); secret.key = secret.keys.editKeyStr; if (secret.channel.length !== 32 || secret.key.length !== 24) { - Hash.alert("The channel key and/or the encryption key is invalid"); + UI.alert("The channel key and/or the encryption key is invalid"); throw new Error("The channel key and/or the encryption key is invalid"); } } else if (parsed.mode === 'view') { secret.keys = Crypto.createViewCryptor(parsed.key); if (secret.channel.length !== 32) { - Hash.alert("The channel key is invalid"); + UI.alert("The channel key is invalid"); throw new Error("The channel key is invalid"); } } From 48496416e7c27351cf7a411c6767aa8151376ab9 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 14:46:17 +0200 Subject: [PATCH 063/236] Use the same font-size for all the toolbar buttons --- customize.dist/src/less/toolbar.less | 1 + customize.dist/src/less/variables.less | 1 + customize.dist/toolbar.css | 1 + www/drive/file.css | 16 +++++++++------- www/drive/file.less | 20 +++++++++++++------- 5 files changed, 25 insertions(+), 14 deletions(-) diff --git a/customize.dist/src/less/toolbar.less b/customize.dist/src/less/toolbar.less index a199730cd..d3aed088c 100644 --- a/customize.dist/src/less/toolbar.less +++ b/customize.dist/src/less/toolbar.less @@ -42,6 +42,7 @@ } button { + font-size: @toolbar-button-font-size; &#shareButton, &.buttonSuccess { // Bootstrap 4 colors color: #fff; diff --git a/customize.dist/src/less/variables.less b/customize.dist/src/less/variables.less index 8a0b4222e..097c76536 100644 --- a/customize.dist/src/less/variables.less +++ b/customize.dist/src/less/variables.less @@ -72,6 +72,7 @@ @toolbar-gradient-start: #f5f5f5; @toolbar-gradient-end: #DDDDDD; +@toolbar-button-font-size: 14px; @topbar-back: #fff; @topbar-color: #000; diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css index d2385dfc1..96c401534 100644 --- a/customize.dist/toolbar.css +++ b/customize.dist/toolbar.css @@ -118,6 +118,7 @@ float: right; } .cryptpad-toolbar button { + font-size: 14px; border: 1px solid transparent; border-radius: .25rem; color: #292b2c; diff --git a/www/drive/file.css b/www/drive/file.css index 7ef0adc5e..32ad48108 100644 --- a/www/drive/file.css +++ b/www/drive/file.css @@ -450,7 +450,7 @@ span.fa-folder-open { #driveToolbar { background: #ddd; color: #555; - height: 40px; + height: 30px; display: flex; flex-flow: row; border-top: 1px solid #ccc; @@ -458,6 +458,7 @@ span.fa-folder-open { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); z-index: 100; box-sizing: content-box; + padding: 0 6px; /* The container <div> - needed to position the dropdown content */ } #driveToolbar .newPadContainer { @@ -465,24 +466,25 @@ span.fa-folder-open { height: 100%; } #driveToolbar button { - height: 26px; + height: 24px; + font-size: 14px; } #driveToolbar button.element { border-radius: 2px; background: #888; color: #eee; - font-size: 16px; - border: none; + font-size: 14px; + border: 1px solid #888; font-weight: bold; } #driveToolbar button.element:hover { - box-shadow: 0px 0px 2px #000; + background: #777; } #driveToolbar button.new { padding: 0 5px; } #driveToolbar .dropdown-bar { - margin: 5px 5px; + margin: 2px 2px; line-height: 1em; position: relative; display: inline-block; @@ -516,7 +518,7 @@ span.fa-folder-open { #driveToolbar .path { display: inline-block; height: 100%; - line-height: 40px; + line-height: 30px; cursor: default; width: auto; overflow: hidden; diff --git a/www/drive/file.less b/www/drive/file.less index 825d465b4..a09f02981 100644 --- a/www/drive/file.less +++ b/www/drive/file.less @@ -17,10 +17,14 @@ @toolbar-fg: #555; @toolbar-border-col: #ccc; @toolbar-button-bg: #888; +@toolbar-button-border: #888; +@toolbar-button-bg-hover: #777; @toolbar-button-fg: #eee; @toolbar-path-bg: #fff; @toolbar-path-border: #888; +@button-font-size: 14px; + @size-mobile: 600px; /* PAGE */ @@ -515,7 +519,7 @@ span { #driveToolbar { background: @toolbar-bg; color: @toolbar-fg; - height: 40px; + height: 30px; display: flex; flex-flow: row; border-top: 1px solid @toolbar-border-col; @@ -523,6 +527,7 @@ span { box-shadow: 0 2px 4px rgba(0,0,0,0.2); z-index: 100; box-sizing: content-box; + padding: 0 6px; .newPadContainer { display: inline-block; @@ -530,16 +535,17 @@ span { } button { - height: 26px; + height: 24px; + font-size: @button-font-size; &.element { border-radius: 2px; background: @toolbar-button-bg; color: @toolbar-button-fg; - font-size: 16px; - border: none; + font-size: 14px; + border: 1px solid @toolbar-button-border; font-weight: bold; &:hover { - box-shadow: 0px 0px 2px #000; + background: @toolbar-button-bg-hover; } } &.new { @@ -548,7 +554,7 @@ span { } /* The container <div> - needed to position the dropdown content */ .dropdown-bar { - margin: 5px 5px; + margin: 2px 2px; line-height: 1em; position: relative; display: inline-block; @@ -583,7 +589,7 @@ span { .path { display: inline-block; height: 100%; - line-height: 40px; + line-height: 30px; cursor: default; width: auto; overflow: hidden; From 0f37d9def7ae5f23d7a806585da3099e748a3123 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 14:53:51 +0200 Subject: [PATCH 064/236] Change the button font size in the toolbar --- customize.dist/src/less/variables.less | 2 +- customize.dist/toolbar.css | 2 +- www/drive/file.css | 2 +- www/drive/file.less | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/customize.dist/src/less/variables.less b/customize.dist/src/less/variables.less index 097c76536..8bf6dc502 100644 --- a/customize.dist/src/less/variables.less +++ b/customize.dist/src/less/variables.less @@ -72,7 +72,7 @@ @toolbar-gradient-start: #f5f5f5; @toolbar-gradient-end: #DDDDDD; -@toolbar-button-font-size: 14px; +@toolbar-button-font-size: 12px; @topbar-back: #fff; @topbar-color: #000; diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css index 96c401534..d08954236 100644 --- a/customize.dist/toolbar.css +++ b/customize.dist/toolbar.css @@ -118,7 +118,7 @@ float: right; } .cryptpad-toolbar button { - font-size: 14px; + font-size: 12px; border: 1px solid transparent; border-radius: .25rem; color: #292b2c; diff --git a/www/drive/file.css b/www/drive/file.css index 32ad48108..0868dae98 100644 --- a/www/drive/file.css +++ b/www/drive/file.css @@ -467,7 +467,7 @@ span.fa-folder-open { } #driveToolbar button { height: 24px; - font-size: 14px; + font-size: 12px; } #driveToolbar button.element { border-radius: 2px; diff --git a/www/drive/file.less b/www/drive/file.less index a09f02981..138f6eec2 100644 --- a/www/drive/file.less +++ b/www/drive/file.less @@ -23,7 +23,7 @@ @toolbar-path-bg: #fff; @toolbar-path-border: #888; -@button-font-size: 14px; +@button-font-size: 12px; @size-mobile: 600px; From 716245f8646f939acc2da74e112f3b622de0137b Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 16:16:50 +0200 Subject: [PATCH 065/236] Make all the buttons look the same --- customize.dist/main.css | 1 + customize.dist/src/less/dropdown.less | 1 + customize.dist/src/less/toolbar.less | 15 ++++++++++++--- customize.dist/src/less/variables.less | 2 +- customize.dist/toolbar.css | 12 ++++++++++-- www/drive/file.css | 9 ++++++++- www/drive/file.less | 12 +++++++++--- www/pad/inner.html | 1 + 8 files changed, 43 insertions(+), 10 deletions(-) diff --git a/customize.dist/main.css b/customize.dist/main.css index d54ec6a98..0f2de7ab9 100644 --- a/customize.dist/main.css +++ b/customize.dist/main.css @@ -413,6 +413,7 @@ font-family: FontAwesome; } .dropdown-bar button .fa-caret-down { + margin-right: 0px; margin-left: 5px; } .dropdown-bar .dropdown-bar-content { diff --git a/customize.dist/src/less/dropdown.less b/customize.dist/src/less/dropdown.less index 79a7edbec..2d93bba8b 100644 --- a/customize.dist/src/less/dropdown.less +++ b/customize.dist/src/less/dropdown.less @@ -18,6 +18,7 @@ button { .fa-caret-down{ + margin-right: 0px; margin-left: 5px; } } diff --git a/customize.dist/src/less/toolbar.less b/customize.dist/src/less/toolbar.less index d3aed088c..15ab91911 100644 --- a/customize.dist/src/less/toolbar.less +++ b/customize.dist/src/less/toolbar.less @@ -28,7 +28,10 @@ box-sizing: border-box; padding: 0px 6px; - .fa {font-family: FontAwesome;} + .fa { + font: normal normal normal 14px/1 FontAwesome; + font-family: FontAwesome; + } .unselectable; @@ -42,7 +45,10 @@ } button { - font-size: @toolbar-button-font-size; + font: @toolbar-button-font; + * { + font: @toolbar-button-font; + } &#shareButton, &.buttonSuccess { // Bootstrap 4 colors color: #fff; @@ -84,7 +90,7 @@ // Bootstrap 4 colors (btn-secondary) border: 1px solid transparent; border-radius: .25rem; - color: #292b2c; + color: #000; background-color: #fff; border-color: #ccc; &:hover { @@ -166,6 +172,7 @@ margin: 3px; vertical-align: top; box-sizing: content-box; + text-align: center; span { display: inline-block; width: 4px; @@ -233,6 +240,7 @@ padding-right: 5px; padding-left: 5px; margin: 3px 2px; + box-sizing: border-box; } .dropdown-bar-content { @@ -493,6 +501,7 @@ margin: 8px; line-height: 16px; font-size: 16px; + text-align: center; } .cryptpad-readonly { margin-right: 5px; diff --git a/customize.dist/src/less/variables.less b/customize.dist/src/less/variables.less index 8bf6dc502..43bcb393b 100644 --- a/customize.dist/src/less/variables.less +++ b/customize.dist/src/less/variables.less @@ -72,7 +72,7 @@ @toolbar-gradient-start: #f5f5f5; @toolbar-gradient-end: #DDDDDD; -@toolbar-button-font-size: 12px; +@toolbar-button-font: 12px Ubuntu, Arial, sans-serif; @topbar-back: #fff; @topbar-color: #000; diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css index d08954236..3d7e0df0b 100644 --- a/customize.dist/toolbar.css +++ b/customize.dist/toolbar.css @@ -7,6 +7,7 @@ font-family: FontAwesome; } .dropdown-bar button .fa-caret-down { + margin-right: 0px; margin-left: 5px; } .dropdown-bar .dropdown-bar-content { @@ -112,19 +113,23 @@ z-index: 9001; } .cryptpad-toolbar .fa { + font: normal normal normal 14px/1 FontAwesome; font-family: FontAwesome; } .cryptpad-toolbar a { float: right; } .cryptpad-toolbar button { - font-size: 12px; + font: 12px Ubuntu, Arial, sans-serif; border: 1px solid transparent; border-radius: .25rem; - color: #292b2c; + color: #000; background-color: #fff; border-color: #ccc; } +.cryptpad-toolbar button * { + font: 12px Ubuntu, Arial, sans-serif; +} .cryptpad-toolbar button#shareButton, .cryptpad-toolbar button.buttonSuccess { color: #fff; @@ -240,6 +245,7 @@ margin: 3px; vertical-align: top; box-sizing: content-box; + text-align: center; } .cryptpad-toolbar .cryptpad-lag span { display: inline-block; @@ -315,6 +321,7 @@ padding-right: 5px; padding-left: 5px; margin: 3px 2px; + box-sizing: border-box; } .cryptpad-toolbar .dropdown-bar-content { margin-top: -3px; @@ -567,6 +574,7 @@ margin: 8px; line-height: 16px; font-size: 16px; + text-align: center; } .cryptpad-readonly { margin-right: 5px; diff --git a/www/drive/file.css b/www/drive/file.css index 0868dae98..946167d43 100644 --- a/www/drive/file.css +++ b/www/drive/file.css @@ -467,7 +467,14 @@ span.fa-folder-open { } #driveToolbar button { height: 24px; - font-size: 12px; + font: 12px Ubuntu, Arial, sans-serif; +} +#driveToolbar button span { + font: 12px Ubuntu, Arial, sans-serif; +} +#driveToolbar button .fa, +#driveToolbar button.fa { + font-family: FontAwesome; } #driveToolbar button.element { border-radius: 2px; diff --git a/www/drive/file.less b/www/drive/file.less index 138f6eec2..7ea8ecb97 100644 --- a/www/drive/file.less +++ b/www/drive/file.less @@ -1,3 +1,5 @@ +@import "../../customize.dist/src/less/variables.less"; + @tree-bg: #fff; @tree-fg: #000; @tree-lines-col: #888; @@ -23,8 +25,6 @@ @toolbar-path-bg: #fff; @toolbar-path-border: #888; -@button-font-size: 12px; - @size-mobile: 600px; /* PAGE */ @@ -536,7 +536,13 @@ span { button { height: 24px; - font-size: @button-font-size; + font: @toolbar-button-font; + span { + font: @toolbar-button-font; + } + .fa, &.fa { + font-family: FontAwesome; + } &.element { border-radius: 2px; background: @toolbar-button-bg; diff --git a/www/pad/inner.html b/www/pad/inner.html index 9d649f85e..c43af938c 100644 --- a/www/pad/inner.html +++ b/www/pad/inner.html @@ -12,6 +12,7 @@ } #cke_1_top { overflow: visible; + padding: 0 6px; } #cke_1_toolbox { display: inline-block; From 2dd04f76313417aa81ea1ad17e8caeda881f3047 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 15 May 2017 18:03:12 +0200 Subject: [PATCH 066/236] get limits from the server --- www/common/cryptpad-common.js | 13 ++++++++++--- www/common/pinpad.js | 6 +++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index e6a48ebe2..91d000efb 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -743,13 +743,20 @@ define([ common.updatePinLimit = function (cb) { if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } - rpc.updatePinLimits(cb); + rpc.updatePinLimits(function (e, limit) { + if (e) { return cb(e); } + var MB = common.bytesToMegabytes(limit); + cb(e, MB); + }); }; common.getPinLimit = function (cb) { if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } - cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000); - //rpc.getLimit(cb); TODO + rpc.getLimit(function (e, limit) { + if (e) { return cb(e); } + var MB = common.bytesToMegabytes(limit); + cb(void 0, MB); + }); }; common.isOverPinLimit = function (cb) { diff --git a/www/common/pinpad.js b/www/common/pinpad.js index efa915ec7..a7c5c72ee 100644 --- a/www/common/pinpad.js +++ b/www/common/pinpad.js @@ -125,7 +125,7 @@ define([ exp.updatePinLimits = function (cb) { rpc.send('UPDATE_LIMITS', undefined, function (e, response) { if (e) { return void cb(e); } - if (response && typeof response === "number") { + if (response && response.length && typeof(response[0]) === "number") { cb (void 0, response); } else { cb('INVALID_RESPONSE'); @@ -136,8 +136,8 @@ define([ exp.getLimit = function (cb) { rpc.send('GET_LIMIT', undefined, function (e, response) { if (e) { return void cb(e); } - if (response && typeof response === "number") { - cb (void 0, response); + if (response && response.length && typeof(response[0]) === "number") { + cb (void 0, response[0]); } else { cb('INVALID_RESPONSE'); } From cc893723deb6880663d7fc10c0c7888e3574d5bd Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 15 May 2017 18:10:22 +0200 Subject: [PATCH 067/236] add some TODOs, log uploaded content so we know it's working --- www/file/main.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/www/file/main.js b/www/file/main.js index e6ab7990c..e8eae01ae 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -44,6 +44,7 @@ define([ chunks.push(box); Cryptpad.rpc.send('UPLOAD', enc, function (e, msg) { + console.log(box); cb(e, msg); }); }; @@ -93,14 +94,14 @@ define([ }); }; - Cryptpad.rpc.send('UPLOAD_STATUS', '', function (e, pending) { + Cryptpad.rpc.send('UPLOAD_STATUS', estimate, function (e, pending) { if (e) { console.error(e); - return void Cryptpad.alert("something went wrong"); + return void Cryptpad.alert("something went wrong"); // TODO translate } if (pending[0]) { - return void Cryptpad.confirm('upload pending, abort?', function (yes) { + return void Cryptpad.confirm('upload pending, abort?', function (yes) { // TODO translate if (!yes) { return; } Cryptpad.rpc.send('UPLOAD_CANCEL', '', function (e, res) { if (e) { return void console.error(e); } From dfe3eac606eac7e8052d22764fb4f678eeba1cba Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 15 May 2017 18:12:10 +0200 Subject: [PATCH 068/236] big rpc refactor: * support pinning files * include pinned files in usage calculation * safer session handling * fix bugs in limit update code --- rpc.js | 171 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 97 insertions(+), 74 deletions(-) diff --git a/rpc.js b/rpc.js index df9020e6a..bb9e27194 100644 --- a/rpc.js +++ b/rpc.js @@ -13,7 +13,7 @@ var RPC = module.exports; var Store = require("./storage/file"); -var DEFAULT_LIMIT = 100; +var DEFAULT_LIMIT = 50 * 1024 * 1024; var isValidId = function (chan) { return /^[a-fA-F0-9]/.test(chan) || @@ -74,12 +74,17 @@ var parseCookie = function (cookie) { return c; }; +var escapeKeyCharacters = function (key) { + return key.replace(/\//g, '-'); +}; + var beginSession = function (Sessions, key) { - if (Sessions[key]) { - Sessions[key].atime = +new Date(); - return Sessions[key]; + var safeKey = escapeKeyCharacters(key); + if (Sessions[safeKey]) { + Sessions[safeKey].atime = +new Date(); + return Sessions[safeKey]; } - var user = Sessions[key] = {}; + var user = Sessions[safeKey] = {}; user.atime = +new Date(); user.tokens = [ makeToken() @@ -107,7 +112,7 @@ var expireSessions = function (Sessions) { var addTokenForKey = function (Sessions, publicKey, token) { if (!Sessions[publicKey]) { throw new Error('undefined user'); } - var user = Sessions[publicKey]; + var user = beginSession(Sessions, publicKey); user.tokens.push(token); user.atime = +new Date(); if (user.tokens.length > 2) { user.tokens.shift(); } @@ -129,7 +134,7 @@ var isValidCookie = function (Sessions, publicKey, cookie) { return false; } - var user = Sessions[publicKey]; + var user = beginSession(Sessions, publicKey); if (!user) { return false; } var idx = user.tokens.indexOf(parsed.seq); @@ -266,15 +271,15 @@ var getUploadSize = function (paths, channel, cb) { }); }; -var getFileSize = function (paths, store, channel, cb) { +var getFileSize = function (paths, msgStore, channel, cb) { if (!isValidId(channel)) { return void cb('INVALID_CHAN'); } if (channel.length === 32) { - if (typeof(store.getChannelSize) !== 'function') { + if (typeof(msgStore.getChannelSize) !== 'function') { return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); } - return void store.getChannelSize(channel, function (e, size) { + return void msgStore.getChannelSize(channel, function (e, size) { if (e) { return void cb(e.code); } cb(void 0, size); }); @@ -287,9 +292,9 @@ var getFileSize = function (paths, store, channel, cb) { }); }; -var getMultipleFileSize = function (paths, store, channels, cb) { +var getMultipleFileSize = function (paths, msgStore, channels, cb) { if (!Array.isArray(channels)) { return cb('INVALID_LIST'); } - if (typeof(store.getChannelSize) !== 'function') { + if (typeof(msgStore.getChannelSize) !== 'function') { return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); } @@ -302,7 +307,7 @@ var getMultipleFileSize = function (paths, store, channels, cb) { }; channels.forEach(function (channel) { - getFileSize(paths, store, channel, function (e, size) { + getFileSize(paths, msgStore, channel, function (e, size) { if (e) { console.error(e); counts[channel] = -1; @@ -314,7 +319,7 @@ var getMultipleFileSize = function (paths, store, channels, cb) { }); }; -var getTotalSize = function (pinStore, messageStore, Sessions, publicKey, cb) { +var getTotalSize = function (paths, pinStore, msgStore, Sessions, publicKey, cb) { var bytes = 0; return void getChannelList(pinStore, Sessions, publicKey, function (channels) { @@ -324,7 +329,7 @@ var getTotalSize = function (pinStore, messageStore, Sessions, publicKey, cb) { if (!count) { cb(void 0, 0); } channels.forEach(function (channel) { - return messageStore.getChannelSize(channel, function (e, size) { + getFileSize(paths, msgStore, channel, function (e, size) { count--; if (!e) { bytes += size; } if (count === 0) { return cb(void 0, bytes); } @@ -353,18 +358,14 @@ var getHash = function (store, Sessions, publicKey, cb) { }); }; -/* var storeMessage = function (store, publicKey, msg, cb) { - store.message(publicKey, JSON.stringify(msg), cb); -}; */ - // TODO check if new pinned size exceeds user quota -var pinChannel = function (store, Sessions, publicKey, channels, cb) { +var pinChannel = function (pinStore, Sessions, publicKey, channels, cb) { if (!channels && channels.filter) { // expected array return void cb('[TYPE_ERROR] pin expects channel list argument'); } - getChannelList(store, Sessions, publicKey, function (pinned) { + getChannelList(pinStore, Sessions, publicKey, function (pinned) { var session = beginSession(Sessions, publicKey); // only pin channels which are not already pinned @@ -373,27 +374,27 @@ var pinChannel = function (store, Sessions, publicKey, channels, cb) { }); if (toStore.length === 0) { - return void getHash(store, Sessions, publicKey, cb); + return void getHash(pinStore, Sessions, publicKey, cb); } - store.message(publicKey, JSON.stringify(['PIN', toStore]), + pinStore.message(publicKey, JSON.stringify(['PIN', toStore]), function (e) { if (e) { return void cb(e); } toStore.forEach(function (channel) { session.channels[channel] = true; }); - getHash(store, Sessions, publicKey, cb); + getHash(pinStore, Sessions, publicKey, cb); }); }); }; -var unpinChannel = function (store, Sessions, publicKey, channels, cb) { +var unpinChannel = function (pinStore, Sessions, publicKey, channels, cb) { if (!channels && channels.filter) { // expected array return void cb('[TYPE_ERROR] unpin expects channel list argument'); } - getChannelList(store, Sessions, publicKey, function (pinned) { + getChannelList(pinStore, Sessions, publicKey, function (pinned) { var session = beginSession(Sessions, publicKey); // only unpin channels which are pinned @@ -402,35 +403,35 @@ var unpinChannel = function (store, Sessions, publicKey, channels, cb) { }); if (toStore.length === 0) { - return void getHash(store, Sessions, publicKey, cb); + return void getHash(pinStore, Sessions, publicKey, cb); } - store.message(publicKey, JSON.stringify(['UNPIN', toStore]), + pinStore.message(publicKey, JSON.stringify(['UNPIN', toStore]), function (e) { if (e) { return void cb(e); } toStore.forEach(function (channel) { delete session.channels[channel]; }); - getHash(store, Sessions, publicKey, cb); + getHash(pinStore, Sessions, publicKey, cb); }); }); }; // TODO check if new pinned size exceeds user quota -var resetUserPins = function (store, Sessions, publicKey, channelList, cb) { +var resetUserPins = function (pinStore, Sessions, publicKey, channelList, cb) { var session = beginSession(Sessions, publicKey); var pins = session.channels = {}; - store.message(publicKey, JSON.stringify(['RESET', channelList]), + pinStore.message(publicKey, JSON.stringify(['RESET', channelList]), function (e) { if (e) { return void cb(e); } channelList.forEach(function (channel) { pins[channel] = true; }); - getHash(store, Sessions, publicKey, function (e, hash) { + getHash(pinStore, Sessions, publicKey, function (e, hash) { cb(e, hash); }); }); @@ -480,8 +481,8 @@ var updateLimits = function (config, publicKey, cb) { } }; var req = Https.request(options, function (response) { - if (!('' + req.statusCode).match(/^2\d\d$/)) { - return void cb('SERVER ERROR ' + req.statusCode); + if (!('' + response.statusCode).match(/^2\d\d$/)) { + return void cb('SERVER ERROR ' + response.statusCode); } var str = ''; @@ -514,10 +515,13 @@ var updateLimits = function (config, publicKey, cb) { }; var getLimit = function (publicKey, cb) { - var limit = limits[publicKey]; + var unescapedKey = escapeKeyCharacters(publicKey); + var limit = limits[unescapedKey]; - cb(void 0, limit && typeof(limit.limit) === "number"? - limit.limit : DEFAULT_LIMIT); + var toSend = limit && typeof(limit.limit) === "number"? + limit.limit : DEFAULT_LIMIT; + + cb(void 0, toSend); }; var safeMkdir = function (path, cb) { @@ -549,22 +553,32 @@ var makeFileStream = function (root, id, cb) { var upload = function (paths, Sessions, publicKey, content, cb) { var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line + var len = dec.length; - // TODO check that the ongoing upload has not exceeded its declared size - // TODO fail if it has... + var session = beginSession(Sessions, publicKey); + + if (typeof(session.currentUploadSize) !== 'number') { + // improperly initialized... maybe they didn't check before uploading? + // reject it, just in case + return cb('NOT_READY'); + } + + if (session.currentUploadSize > session.pendingUploadSize) { + return cb('TOO_LARGE'); + } - var session = Sessions[publicKey]; - session.atime = +new Date(); if (!session.blobstage) { makeFileStream(paths.staging, publicKey, function (e, stream) { if (e) { return void cb(e); } var blobstage = session.blobstage = stream; blobstage.write(dec); + session.currentUploadSize += len; cb(void 0, dec.length); }); } else { session.blobstage.write(dec); + session.currentUploadSize += len; cb(void 0, dec.length); } }; @@ -593,14 +607,8 @@ var isFile = function (filePath, cb) { }); }; -/* TODO -change channel IDs to a different length so that when we pin, we will be able -to tell that it is not a channel, but a file, just by its length. - -also, when your upload is complete, pin the resulting file. -*/ var upload_complete = function (paths, Sessions, publicKey, cb) { - var session = Sessions[publicKey]; + var session = beginSession(Sessions, publicKey); if (session.blobstage && session.blobstage.close) { session.blobstage.close(); @@ -639,25 +647,32 @@ var upload_complete = function (paths, Sessions, publicKey, cb) { console.error(e); return cb(e); } - cb(void 0, id); }); }); }; -/* TODO -when asking about your upload status, also send some information about how big -your upload is going to be. if that would exceed your limit, return TOO_LARGE -error. - -*/ -var upload_status = function (paths, Sessions, size, publicKey, cb) { - // TODO validate that size is within tolerance +var upload_status = function (paths, pinStore, msgStore, Sessions, publicKey, filesize, cb) { + // validate that the provided size is actually a positive number + if (typeof(filesize) !== 'number' && + filesize >= 0) { return void cb('E_INVALID_SIZE'); } + // validate that the provided path is not junk var filePath = makeFilePath(paths.staging, publicKey); if (!filePath) { return void cb('E_INVALID_PATH'); } - isFile(filePath, function (e, yes) { - cb(e, yes); + + getLimit(publicKey, function (e, limit) { + if (e) { return void cb(e); } + getTotalSize(paths, pinStore, msgStore, Sessions, publicKey, function (e, size) { + if ((filesize + size) >= limit) { return cb('TOO_LARGE'); } + isFile(filePath, function (e, yes) { + if (e) { + console.error("uploadError: [%s]", e); + return cb('UNNOWN_ERROR'); + } + cb(e, yes); + }); + }); }); }; @@ -677,7 +692,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) var blobPath = paths.blob = keyOrDefaultString('blobPath', './blob'); var blobStagingPath = paths.staging = keyOrDefaultString('blobStagingPath', './blobstage'); - var store; + var pinStore; var rpc = function ( ctx /*:{ store: Object }*/, @@ -725,7 +740,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) return void respond("INVALID_SIGNATURE_OR_PUBLIC_KEY"); } - var safeKey = publicKey.replace(/\//g, '-'); + var safeKey = escapeKeyCharacters(publicKey); /* If you have gotten this far, you have signed the message with the public key which you provided. @@ -736,7 +751,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) msg.shift(); var Respond = function (e, msg) { - var token = Sessions[publicKey].tokens.slice(-1)[0]; + var token = Sessions[safeKey].tokens.slice(-1)[0]; var cookie = makeCookie(token).join('|'); respond(e, [cookie].concat(typeof(msg) !== 'undefined' ?msg: [])); }; @@ -749,33 +764,35 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Respond('E_ACCESS_DENIED'); }; + var msgStore = ctx.store; + var handleMessage = function (privileged) { switch (msg[0]) { case 'COOKIE': return void Respond(void 0); case 'RESET': - return resetUserPins(store, Sessions, safeKey, msg[1], function (e, hash) { + return resetUserPins(pinStore, Sessions, safeKey, msg[1], function (e, hash) { return void Respond(e, hash); }); case 'PIN': // TODO don't pin if over the limit // if over, send error E_OVER_LIMIT - return pinChannel(store, Sessions, safeKey, msg[1], function (e, hash) { + return pinChannel(pinStore, Sessions, safeKey, msg[1], function (e, hash) { Respond(e, hash); }); case 'UNPIN': - return unpinChannel(store, Sessions, safeKey, msg[1], function (e, hash) { + return unpinChannel(pinStore, Sessions, safeKey, msg[1], function (e, hash) { Respond(e, hash); }); case 'GET_HASH': - return void getHash(store, Sessions, safeKey, function (e, hash) { + return void getHash(pinStore, Sessions, safeKey, function (e, hash) { Respond(e, hash); }); case 'GET_TOTAL_SIZE': // TODO cache this, since it will get called quite a bit - return getTotalSize(store, ctx.store, Sessions, safeKey, function (e, size) { + return getTotalSize(paths, pinStore, msgStore, Sessions, safeKey, function (e, size) { if (e) { return void Respond(e); } Respond(e, size); }); case 'GET_FILE_SIZE': - return void getFileSize(paths, ctx.store, msg[1], Respond); + return void getFileSize(paths, msgStore, msg[1], Respond); case 'UPDATE_LIMITS': return void updateLimits(config, safeKey, function (e, limit) { if (e) { return void Respond(e); } @@ -784,11 +801,10 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) case 'GET_LIMIT': return void getLimit(safeKey, function (e, limit) { if (e) { return void Respond(e); } - limit = limit; Respond(void 0, limit); }); case 'GET_MULTIPLE_FILE_SIZE': - return void getMultipleFileSize(paths, ctx.store, msg[1], function (e, dict) { + return void getMultipleFileSize(paths, msgStore, msg[1], function (e, dict) { if (e) { return void Respond(e); } Respond(void 0, dict); }); @@ -801,8 +817,15 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) }); case 'UPLOAD_STATUS': if (!privileged) { return deny(); } - return void upload_status(paths, Sessions, safeKey, msg[1], function (e, stat) { - Respond(e, stat); + var filesize = msg[1]; + return void upload_status(paths, pinStore, msgStore, Sessions, safeKey, msg[1], function (e, yes) { + if (!e && !yes) { + // no pending uploads, set the new size + var user = beginSession(Sessions, safeKey); + user.pendingUploadSize = filesize; + user.currentUploadSize = 0; + } + Respond(e, yes); }); case 'UPLOAD_COMPLETE': if (!privileged) { return deny(); } @@ -830,7 +853,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) } // if session has not been authenticated, do so - var session = Sessions[publicKey]; + var session = beginSession(Sessions, safeKey); if (typeof(session.privilege) !== 'boolean') { return void isPrivilegedUser(publicKey, function (yes) { session.privilege = yes; @@ -853,7 +876,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Store.create({ filePath: pinPath, }, function (s) { - store = s; + pinStore = s; safeMkdir(blobPath, function (e) { if (e) { throw e; } From dc2cdb7c08ef1909ab5ff9759a7add3bdbcf699c Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 18:16:22 +0200 Subject: [PATCH 069/236] Add the usage bar in the settings page --- customize.dist/main.css | 44 +++++++++++++++++++++++- customize.dist/src/less/cryptpad.less | 49 ++++++++++++++++++++++++++- customize.dist/src/less/toolbar.less | 37 -------------------- customize.dist/toolbar.css | 37 -------------------- www/common/cryptpad-common.js | 44 ++++++++++++++++++++++++ www/drive/file.css | 2 +- www/drive/file.less | 2 +- www/drive/main.js | 43 +++-------------------- www/settings/main.js | 27 ++++----------- 9 files changed, 147 insertions(+), 138 deletions(-) diff --git a/customize.dist/main.css b/customize.dist/main.css index 0f2de7ab9..6ec0172ea 100644 --- a/customize.dist/main.css +++ b/customize.dist/main.css @@ -577,7 +577,7 @@ html.cp, font-size: .875em; background-color: #fafafa; color: #555; - font-family: Georgia,Cambria,serif; + font-family: Ubuntu,Georgia,Cambria,serif; height: 100%; } .cp { @@ -1090,6 +1090,48 @@ html.cp, color: #FA5858; cursor: pointer !important; } +/* Pin limit */ +.limit-container .cryptpad-limit-bar { + display: inline-block; + height: 26px; + width: 200px; + margin: 2px; + box-sizing: border-box; + border: 1px solid #999; + background: white; + position: relative; + text-align: center; + line-height: 24px; + vertical-align: middle; +} +.limit-container .cryptpad-limit-bar .usage { + height: 24px; + display: inline-block; + background: blue; + position: absolute; + left: 0; + z-index: 1; +} +.limit-container .cryptpad-limit-bar .usage.normal { + background: #5cb85c; +} +.limit-container .cryptpad-limit-bar .usage.warning { + background: orange; +} +.limit-container .cryptpad-limit-bar .usage.above { + background: red; +} +.limit-container .cryptpad-limit-bar .usageText { + position: relative; + color: black; + text-shadow: 1px 0 2px white, 0 1px 2px white, -1px 0 2px white, 0 -1px 2px white; + z-index: 2; + font-size: 16px; + font-weight: bold; +} +.limit-container .upgrade { + margin-left: 10px; +} #cors-store { display: none; } diff --git a/customize.dist/src/less/cryptpad.less b/customize.dist/src/less/cryptpad.less index db8af27ce..883e62ce4 100644 --- a/customize.dist/src/less/cryptpad.less +++ b/customize.dist/src/less/cryptpad.less @@ -8,12 +8,14 @@ @import "./topbar.less"; @import "./footer.less"; +@toolbar-green: #5cb85c; + html.cp, .cp body { font-size: .875em; background-color: @page-white; //@base; color: @fore; - font-family: Georgia,Cambria,serif; + font-family: Ubuntu,Georgia,Cambria,serif; height: 100%; } @@ -536,6 +538,51 @@ noscript { } } +/* Pin limit */ +.limit-container { + .cryptpad-limit-bar { + display: inline-block; + height: 26px; + width: 200px; + margin: 2px; + box-sizing: border-box; + border: 1px solid #999; + background: white; + position: relative; + text-align: center; + line-height: 24px; + vertical-align: middle; + .usage { + height: 24px; + display: inline-block; + background: blue; + position: absolute; + left: 0; + z-index:1; + &.normal { + background: @toolbar-green; + } + &.warning { + background: orange; + } + &.above { + background: red; + } + } + .usageText { + position: relative; + color: black; + text-shadow: 1px 0 2px white, 0 1px 2px white, -1px 0 2px white, 0 -1px 2px white; + z-index: 2; + font-size: 16px; + font-weight: bold; + } + } + .upgrade { + margin-left: 10px; + } +} + // hack for our cross-origin iframe #cors-store { display: none; diff --git a/customize.dist/src/less/toolbar.less b/customize.dist/src/less/toolbar.less index 15ab91911..c216e2835 100644 --- a/customize.dist/src/less/toolbar.less +++ b/customize.dist/src/less/toolbar.less @@ -105,43 +105,6 @@ vertical-align: top; margin-left: 10px; } - .cryptpad-drive-limit { - display: inline-block; - height: 26px; - width: 200px; - margin: 2px; - box-sizing: border-box; - border: 1px solid #999; - background: white; - position: relative; - text-align: center; - line-height: 24px; - .usage { - height: 24px; - display: inline-block; - background: blue; - position: absolute; - left: 0; - z-index:1; - &.normal { - background: @toolbar-green; - } - &.warning { - background: orange; - } - &.above { - background: red; - } - } - .usageText { - position: relative; - color: black; - text-shadow: 1px 0 2px white, 0 1px 2px white, -1px 0 2px white, 0 -1px 2px white; - z-index: 2; - font-size: 16px; - font-weight: bold; - } - } .cryptpad-limit { box-sizing: border-box; height: 26px; diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css index 3d7e0df0b..2b80dc69c 100644 --- a/customize.dist/toolbar.css +++ b/customize.dist/toolbar.css @@ -183,43 +183,6 @@ vertical-align: top; margin-left: 10px; } -.cryptpad-toolbar .cryptpad-drive-limit { - display: inline-block; - height: 26px; - width: 200px; - margin: 2px; - box-sizing: border-box; - border: 1px solid #999; - background: white; - position: relative; - text-align: center; - line-height: 24px; -} -.cryptpad-toolbar .cryptpad-drive-limit .usage { - height: 24px; - display: inline-block; - background: blue; - position: absolute; - left: 0; - z-index: 1; -} -.cryptpad-toolbar .cryptpad-drive-limit .usage.normal { - background: #5cb85c; -} -.cryptpad-toolbar .cryptpad-drive-limit .usage.warning { - background: orange; -} -.cryptpad-toolbar .cryptpad-drive-limit .usage.above { - background: red; -} -.cryptpad-toolbar .cryptpad-drive-limit .usageText { - position: relative; - color: black; - text-shadow: 1px 0 2px white, 0 1px 2px white, -1px 0 2px white, 0 -1px 2px white; - z-index: 2; - font-size: 16px; - font-weight: bold; -} .cryptpad-toolbar .cryptpad-limit { box-sizing: border-box; height: 26px; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index a5ca2907e..c6c396c00 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -772,6 +772,50 @@ define([ common.getPinnedUsage(todo); }; + var LIMIT_REFRESH_RATE = 30000; // milliseconds + common.createUsageBar = function (cb) { + var todo = function (err, state, data) { + var $container = $('<span>', {'class':'limit-container'}); + if (!data) { + return void window.setTimeout(function () { + Cryptpad.isOverPinLimit(todo); + }, LIMIT_REFRESH_RATE); + } + var usage = data.usage; + var limit = data.limit; + var unit = Messages.MB; + var $limit = $('<span>', {'class': 'cryptpad-limit-bar'}).appendTo($container); + var quota = usage/limit; + var width = Math.floor(Math.min(quota, 1)*200); // the bar is 200px width + var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px'); + + if (quota >= 0.8) { + var origin = encodeURIComponent(window.location.origin); + var $upgradeLink = $('<a>', { + href: "https://account.cryptpad.fr/#!on=" + origin, + rel: "noreferrer noopener", + target: "_blank", + }).appendTo($container); + $('<button>', { + 'class': 'upgrade buttonSuccess', + title: Messages.upgradeTitle + }).text(Messages.upgrade).appendTo($upgradeLink); + } + + if (quota < 0.8) { $usage.addClass('normal'); } + else if (quota < 1) { $usage.addClass('warning'); } + else { $usage.addClass('above'); } + var $text = $('<span>', {'class': 'usageText'}); + $text.text(usage + ' / ' + limit + ' ' + unit); + $limit.append($usage).append($text); + window.setTimeout(function () { + Cryptpad.isOverPinLimit(todo); + }, LIMIT_REFRESH_RATE); + cb(err, $container); + }; + Cryptpad.isOverPinLimit(todo); + }; + common.createButton = function (type, rightside, data, callback) { var button; var size = "17px"; diff --git a/www/drive/file.css b/www/drive/file.css index 946167d43..acfdfeeda 100644 --- a/www/drive/file.css +++ b/www/drive/file.css @@ -547,7 +547,7 @@ span.fa-folder-open { } #driveToolbar #contextButtonsContainer { float: right; - margin: 5px; + margin: 2px; } #driveToolbar #contextButtonsContainer button { vertical-align: top; diff --git a/www/drive/file.less b/www/drive/file.less index 7ea8ecb97..bf3bb294a 100644 --- a/www/drive/file.less +++ b/www/drive/file.less @@ -617,7 +617,7 @@ span { } #contextButtonsContainer { float: right; - margin: 5px; + margin: 2px; button { vertical-align: top; } diff --git a/www/drive/main.js b/www/drive/main.js index af2974767..1b71bc99c 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -37,7 +37,6 @@ define([ return JSONSortify(obj); }; - var LIMIT_REFRESH_RATE = 30000; // milliseconds var E_OVER_LIMIT = 'E_OVER_LIMIT'; var SEARCH = "search"; @@ -2703,45 +2702,11 @@ define([ /* add the usage */ if (AppConfig.enablePinLimit) { - var todo = function (err, state, data) { + Cryptpad.createUsageBar(function (err, $limitContainer) { + if (err) { return void logError(err); } $leftside.html(''); - if (!data) { - return void window.setTimeout(function () { - Cryptpad.isOverPinLimit(todo); - }, LIMIT_REFRESH_RATE); - } - var usage = data.usage; - var limit = data.limit; - var unit = Messages.MB; - var $limit = $('<span>', {'class': 'cryptpad-drive-limit'}).appendTo($leftside); - var quota = usage/limit; - var width = Math.floor(Math.min(quota, 1)*$limit.width()); - var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px'); - - if (quota >= 0.8) { - var origin = encodeURIComponent(window.location.origin); - var $upgradeLink = $('<a>', { - href: "https://account.cryptpad.fr/#!on=" + origin, - rel: "noreferrer noopener", - target: "_blank", - }).appendTo($leftside); - $('<button>', { - 'class': 'upgrade buttonSuccess', - title: Messages.upgradeTitle - }).text(Messages.upgrade).appendTo($upgradeLink); - } - - if (quota < 0.8) { $usage.addClass('normal'); } - else if (quota < 1) { $usage.addClass('warning'); } - else { $usage.addClass('above'); } - var $text = $('<span>', {'class': 'usageText'}); - $text.text(usage + ' / ' + limit + ' ' + unit); - $limit.append($usage).append($text); - window.setTimeout(function () { - Cryptpad.isOverPinLimit(todo); - }, LIMIT_REFRESH_RATE); - }; - Cryptpad.isOverPinLimit(todo); + $leftside.append($limitContainer); + }); } /* add a history button */ diff --git a/www/settings/main.js b/www/settings/main.js index 6a14fe819..dd3f59b4e 100644 --- a/www/settings/main.js +++ b/www/settings/main.js @@ -230,26 +230,11 @@ define([ .text(Messages.settings_usageTitle) .append('<br>'); - $('<button>', { - 'class': 'btn btn-primary', // fa fa-hdd-o ? - }) - .text(Messages.settings_usage) - .click(function () { - if (!(proxy.edPublic && proxy.edPrivate)) { - // suggest that they login/register - Cryptpad.alert(Messages.settings_pinningNotAvailable); - return; - } - Cryptpad.getPinnedUsage(function (e, bytes) { - if (e) { - Cryptpad.alert(Messages.settings_pinningError); - return; - } - Cryptpad.alert(Messages._getKey('settings_usageAmount', [Cryptpad.bytesToMegabytes(bytes)])); - }); - }) - .appendTo($div); - + Cryptpad.createUsageBar(function (err, $bar) { + $div.find('.limit-container').remove(); + $bar.find('.upgrade').addClass('btn btn-success'); + $div.append($bar); + }); return $div; }; @@ -335,10 +320,10 @@ define([ APP.$container.append(createLogoutEverywhere(obj)); } APP.$container.append(createResetTips()); + APP.$container.append(createUsageButton(obj)); APP.$container.append(createBackupDrive(obj)); APP.$container.append(createImportLocalPads(obj)); APP.$container.append(createResetDrive(obj)); - APP.$container.append(createUsageButton(obj)); APP.$container.append(createUserFeedbackToggle(obj)); obj.proxy.on('change', [], refresh); obj.proxy.on('remove', [], refresh); From 7ee6864ea4dc6ba6f3c40bfe78b927d65bf555e4 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 15 May 2017 18:21:11 +0200 Subject: [PATCH 070/236] Add the user menu in the login and register pages --- www/login/index.html | 1 + www/login/main.js | 8 ++++++++ www/register/index.html | 1 + www/register/main.js | 8 ++++++++ 4 files changed, 18 insertions(+) diff --git a/www/login/index.html b/www/login/index.html index cd39e6395..e01c78a09 100644 --- a/www/login/index.html +++ b/www/login/index.html @@ -18,6 +18,7 @@ </a> </span> + <span id="user-menu" class="right dropdown-bar"></span> <span id="language-selector" class="right dropdown-bar"></span> <span class="right"> <a href="/about.html" data-localization="about">About</a> diff --git a/www/login/main.js b/www/login/main.js index 7a677cebb..194c824ac 100644 --- a/www/login/main.js +++ b/www/login/main.js @@ -13,6 +13,14 @@ define([ $sel.find('button').addClass('btn').addClass('btn-secondary'); $sel.show(); + // User admin menu + var $userMenu = $('#user-menu'); + var userMenuCfg = { + $initBlock: $userMenu + }; + var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg); + $userAdmin.find('button').addClass('btn').addClass('btn-secondary'); + $(window).click(function () { $('.cryptpad-dropdown').hide(); }); diff --git a/www/register/index.html b/www/register/index.html index 8e2a59d48..dd9765423 100644 --- a/www/register/index.html +++ b/www/register/index.html @@ -17,6 +17,7 @@ </a> </span> + <span id="user-menu" class="right dropdown-bar"></span> <span id="language-selector" class="right dropdown-bar"></span> <span class="right"> <a href="/about.html" data-localization="about">About</a> diff --git a/www/register/main.js b/www/register/main.js index bafe55423..7d14dc02a 100644 --- a/www/register/main.js +++ b/www/register/main.js @@ -15,6 +15,14 @@ define([ $sel.find('button').addClass('btn').addClass('btn-secondary'); $sel.show(); + // User admin menu + var $userMenu = $('#user-menu'); + var userMenuCfg = { + $initBlock: $userMenu + }; + var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg); + $userAdmin.find('button').addClass('btn').addClass('btn-secondary'); + $(window).click(function () { $('.cryptpad-dropdown').hide(); }); From 87fa28180ab5a07e704e3dec0815abc77aa1accd Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 16 May 2017 10:34:50 +0200 Subject: [PATCH 071/236] Display an upgrade button in the settings page --- rpc.js | 5 +++-- www/common/cryptpad-common.js | 18 +++++++++--------- www/common/pinpad.js | 4 ++-- www/settings/main.js | 3 +-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/rpc.js b/rpc.js index bb9e27194..d8bbce9dd 100644 --- a/rpc.js +++ b/rpc.js @@ -497,7 +497,8 @@ var updateLimits = function (config, publicKey, cb) { var l; if (publicKey) { var limit = limits[publicKey]; - l = limit && typeof limit.limit === "number" ? limit.limit : DEFAULT_LIMIT; + l = limit && typeof limit.limit === "number" ? + [limit.limit, limit.plan] : [DEFAULT_LIMIT, '']; } cb(void 0, l); } catch (e) { @@ -519,7 +520,7 @@ var getLimit = function (publicKey, cb) { var limit = limits[unescapedKey]; var toSend = limit && typeof(limit.limit) === "number"? - limit.limit : DEFAULT_LIMIT; + [limit.limit, limit.plan] : [DEFAULT_LIMIT, '']; cb(void 0, toSend); }; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index b0c8477ba..4472dde7b 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -744,28 +744,28 @@ define([ common.updatePinLimit = function (cb) { if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } - rpc.updatePinLimits(function (e, limit) { + rpc.updatePinLimits(function (e, limit, plan) { if (e) { return cb(e); } var MB = common.bytesToMegabytes(limit); - cb(e, MB); + cb(e, MB, plan); }); }; common.getPinLimit = function (cb) { if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } - rpc.getLimit(function (e, limit) { + rpc.getLimit(function (e, limit, plan) { if (e) { return cb(e); } var MB = common.bytesToMegabytes(limit); - cb(void 0, MB); + cb(void 0, MB, plan); }); }; common.isOverPinLimit = function (cb) { if (!common.isLoggedIn() || !AppConfig.enablePinLimit) { return void cb(null, false); } var usage; - var andThen = function (e, limit) { + var andThen = function (e, limit, plan) { if (e) { return void cb(e); } - var data = {usage: usage, limit: limit}; + var data = {usage: usage, limit: limit, plan: plan}; if (usage > limit) { return void cb (null, true, data); } @@ -780,7 +780,7 @@ define([ }; var LIMIT_REFRESH_RATE = 30000; // milliseconds - common.createUsageBar = function (cb) { + common.createUsageBar = function (cb, alwaysDisplayUpgrade) { var todo = function (err, state, data) { var $container = $('<span>', {'class':'limit-container'}); if (!data) { @@ -796,10 +796,10 @@ define([ var width = Math.floor(Math.min(quota, 1)*200); // the bar is 200px width var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px'); - if (quota >= 0.8) { + if ((quota >= 0.8 || alwaysDisplayUpgrade) && data.plan !== "power") { var origin = encodeURIComponent(window.location.origin); var $upgradeLink = $('<a>', { - href: "https://account.cryptpad.fr/#!on=" + origin, + href: "https://accounts.cryptpad.fr/#!on=" + origin, rel: "noreferrer noopener", target: "_blank", }).appendTo($container); diff --git a/www/common/pinpad.js b/www/common/pinpad.js index a7c5c72ee..5fe0b2b8e 100644 --- a/www/common/pinpad.js +++ b/www/common/pinpad.js @@ -126,7 +126,7 @@ define([ rpc.send('UPDATE_LIMITS', undefined, function (e, response) { if (e) { return void cb(e); } if (response && response.length && typeof(response[0]) === "number") { - cb (void 0, response); + cb (void 0, response[0], response[1]); } else { cb('INVALID_RESPONSE'); } @@ -137,7 +137,7 @@ define([ rpc.send('GET_LIMIT', undefined, function (e, response) { if (e) { return void cb(e); } if (response && response.length && typeof(response[0]) === "number") { - cb (void 0, response[0]); + cb (void 0, response[0], response[1]); } else { cb('INVALID_RESPONSE'); } diff --git a/www/settings/main.js b/www/settings/main.js index dd3f59b4e..d6791f4e0 100644 --- a/www/settings/main.js +++ b/www/settings/main.js @@ -60,7 +60,6 @@ define([ $div.append('<br>').append($pubLabel).append($pubKey); } - return $div; }; @@ -234,7 +233,7 @@ define([ $div.find('.limit-container').remove(); $bar.find('.upgrade').addClass('btn btn-success'); $div.append($bar); - }); + }, true); return $div; }; From 1a7c4d5ebe49bb43b728ed3e1f6fdd0303511038 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 16 May 2017 11:25:37 +0200 Subject: [PATCH 072/236] Store the FS_hash in the user object after the merge --- www/common/mergeDrive.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/www/common/mergeDrive.js b/www/common/mergeDrive.js index 4b41e1279..2f4632544 100644 --- a/www/common/mergeDrive.js +++ b/www/common/mergeDrive.js @@ -188,6 +188,10 @@ define([ newRecentPads.push(data); } }); + if (!proxy.FS_hashes || !Array.isArray(proxy.FS_hashes)) { + proxy.FS_hashes = []; + } + proxy.FS_hashes.push(localStorage.FS_hash); } if (typeof(cb) === "function") { cb(); } }; From 834830fc4f160bed3d5e210128e4780be3d86987 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 16 May 2017 11:25:51 +0200 Subject: [PATCH 073/236] Fix the Ctrl key + click to select multiple files --- www/drive/main.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/www/drive/main.js b/www/drive/main.js index 1b71bc99c..114c9d3d5 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -2201,12 +2201,15 @@ define([ .click(function () { $(this).select(); }) .appendTo($d); } - var roLink = ro ? base + el : getReadOnlyUrl(base + el); - if (roLink) { - $('<label>', {'for': 'propROLink'}).text(Messages.viewShare).appendTo($d); - $('<input>', {'id': 'propROLink', 'readonly': 'readonly', 'value': roLink}) - .click(function () { $(this).select(); }) - .appendTo($d); + var parsed = Cryptpad.parsePadUrl(el); + if (parsed.hashData && parsed.hashData.type === 'pad') { + var roLink = ro ? base + el : getReadOnlyUrl(base + el); + if (roLink) { + $('<label>', {'for': 'propROLink'}).text(Messages.viewShare).appendTo($d); + $('<input>', {'id': 'propROLink', 'readonly': 'readonly', 'value': roLink}) + .click(function () { $(this).select(); }) + .appendTo($d); + } } if (APP.loggedIn && AppConfig.enablePinning) { @@ -2440,12 +2443,12 @@ define([ $appContainer.on('mouseup', function (e) { if (sel.down) { return; } if (e.which !== 1) { return ; } - removeSelected(e); + module.hideMenu(e); + //removeSelected(e); }); $appContainer.on('click', function (e) { if (e.which !== 1) { return ; } removeInput(); - module.hideMenu(e); hideNewButton(); }); $appContainer.on('drag drop', function (e) { From 827233dcba4c99e3843ddd8726d93186dc1c6283 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 16 May 2017 14:01:06 +0200 Subject: [PATCH 074/236] new translation keys for file upload --- customize.dist/translations/messages.js | 4 ++++ www/file/main.js | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index c6ae72ce5..10efcb2df 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -347,6 +347,10 @@ define(function () { out.settings_logoutEverywhere = "Log out of all other web sessions"; out.settings_logoutEverywhereConfirm = "Are you sure? You will need to log in with all your devices."; + out.upload_serverError = "Server Error: unable to upload your file at this time."; + out.upload_uploadPending = "You already have an upload in progress. Cancel it and upload your new file?"; + out.upload_success = "Your file ({0}) has been successfully uploaded and added to your drive"; + // index.html diff --git a/www/file/main.js b/www/file/main.js index e8eae01ae..2f75edb9a 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -89,7 +89,7 @@ define([ var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href)); Title.updateTitle(title || defaultName); APP.toolbar.title.show(); - Cryptpad.alert("successfully uploaded: " + title); + Cryptpad.alert(Messages._getKey('upload_success', [title])); }); }); }; @@ -97,15 +97,16 @@ define([ Cryptpad.rpc.send('UPLOAD_STATUS', estimate, function (e, pending) { if (e) { console.error(e); - return void Cryptpad.alert("something went wrong"); // TODO translate + return void Cryptpad.alert(Messages.upload_serverError); } if (pending[0]) { - return void Cryptpad.confirm('upload pending, abort?', function (yes) { // TODO translate + return void Cryptpad.confirm(Messages.upload_uploadPending, function (yes) { if (!yes) { return; } Cryptpad.rpc.send('UPLOAD_CANCEL', '', function (e, res) { if (e) { return void console.error(e); } console.log(res); + next(again); }); }); } From ad6217f06449280ed796fc4570e58d14bbd5e744 Mon Sep 17 00:00:00 2001 From: Pierre Bondoerffer <pierre@bondoer.fr> Date: Tue, 16 May 2017 14:05:36 +0200 Subject: [PATCH 075/236] file upload spanish keys --- customize.dist/translations/messages.es.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js index 522e79402..2346579fb 100644 --- a/customize.dist/translations/messages.es.js +++ b/customize.dist/translations/messages.es.js @@ -419,6 +419,9 @@ define(function () { out.settings_logoutEverywhereTitle = "Cerrar sessión en todas partes"; out.settings_logoutEverywhere = "Cerrar todas las otras sessiones"; out.settings_logoutEverywhereConfirm = "¿Estás seguro? Tendrás que volver a iniciar sessión con todos tus dispositivos."; + out.upload_serverError = "Error: no pudimos subir tu archivo."; + out.upload_uploadPending = "Ya tienes una subida en progreso. ¿Cancelar y subir el nuevo archivo?"; + out.upload_success = "Tu archivo ({0}) ha sido subido con éxito y fue añadido a tu drive."; return out; }); From 8fe0282b7b0d90baca822d35b7e38f91c1d174c1 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 16 May 2017 14:14:30 +0200 Subject: [PATCH 076/236] jshint compliance --- www/settings/main.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/www/settings/main.js b/www/settings/main.js index d6791f4e0..546c93749 100644 --- a/www/settings/main.js +++ b/www/settings/main.js @@ -222,9 +222,7 @@ define([ return $div; }; - var createUsageButton = function (obj) { - var proxy = obj.proxy; - + var createUsageButton = function () { var $div = $('<div>', { 'class': 'pinned-usage' }) .text(Messages.settings_usageTitle) .append('<br>'); From afef456b18de789e202457fc9ada49df8a94af75 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 16 May 2017 14:15:42 +0200 Subject: [PATCH 077/236] fix undefined reference --- www/common/cryptpad-common.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 4472dde7b..f81e37740 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -785,7 +785,7 @@ define([ var $container = $('<span>', {'class':'limit-container'}); if (!data) { return void window.setTimeout(function () { - Cryptpad.isOverPinLimit(todo); + common.isOverPinLimit(todo); }, LIMIT_REFRESH_RATE); } var usage = data.usage; @@ -816,11 +816,11 @@ define([ $text.text(usage + ' / ' + limit + ' ' + unit); $limit.append($usage).append($text); window.setTimeout(function () { - Cryptpad.isOverPinLimit(todo); + common.isOverPinLimit(todo); }, LIMIT_REFRESH_RATE); cb(err, $container); }; - Cryptpad.isOverPinLimit(todo); + common.isOverPinLimit(todo); }; common.createButton = function (type, rightside, data, callback) { From 81af9225fc3f11d0e04a049a559a7167eb641719 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 16 May 2017 14:32:54 +0200 Subject: [PATCH 078/236] template a Romanian translation --- customize.dist/messages.js | 3 +- customize.dist/translations/messages.ro.js | 357 +++++++++++++++++++++ 2 files changed, 359 insertions(+), 1 deletion(-) create mode 100644 customize.dist/translations/messages.ro.js diff --git a/customize.dist/messages.js b/customize.dist/messages.js index 813978b52..2dac5b6c9 100644 --- a/customize.dist/messages.js +++ b/customize.dist/messages.js @@ -7,7 +7,8 @@ var map = { 'es': 'Español', 'pl': 'Polski', 'de': 'Deutsch', - 'pt-br': 'Português do Brasil' + 'pt-br': 'Português do Brasil', + 'ro': 'Română', }; var getStoredLanguage = function () { return localStorage.getItem(LS_LANG); }; diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js new file mode 100644 index 000000000..4e2134c7c --- /dev/null +++ b/customize.dist/translations/messages.ro.js @@ -0,0 +1,357 @@ +define(function () { + var out = {}; + + /* + * + * ro + * + */ + + out.main_title = ""; // "CryptPad: Zero Knowledge, Collaborative Real Time Editing" + out.main_slogan = ""; // "Unity is Strength - Collaboration is Key" + out.type = ""; // {"pad":"Rich text","code":"Code","poll":"Poll","slide":"Presentation","drive":"Drive","whiteboard":"Whiteboard","file":"File","media":"Media"} + out.button_newpad = ""; // "New Rich Text pad" + out.button_newcode = ""; // "New Code pad" + out.button_newpoll = ""; // "New Poll" + out.button_newslide = ""; // "New Presentation" + out.button_newwhiteboard = ""; // "New Whiteboard" + out.updated_0_common_connectionLost = ""; // "<b>Server Connection Lost</b><br>You're now in read-only mode until the connection is back." + out.common_connectionLost = out.updated_0_common_connectionLost; // TODO: Key updated --> make sure the updated key "out.updated_0_common_connectionLost" exists and is translated before that one. + out.websocketError = ""; // "Unable to connect to the websocket server..." + out.typeError = ""; // "This pad is not compatible with the selected application" + out.onLogout = ""; // "You are logged out, <a href=\"/\" target=\"_blank\">click here</a> to log in<br>or press <em>Escape</em> to access your pad in read-only mode." + out.wrongApp = ""; // "Unable to display the content of that realtime session in your browser. Please try to reload that page." + out.loading = ""; // "Loading..." + out.error = ""; // "Error" + out.saved = ""; // "Saved" + out.synced = ""; // "Everything is saved" + out.deleted = ""; // "Pad deleted from your CryptDrive" + out.disconnected = ""; // "Disconnected" + out.synchronizing = ""; // "Synchronizing" + out.reconnecting = ""; // "Reconnecting..." + out.lag = ""; // "Lag" + out.readonly = ""; // "Read only" + out.anonymous = ""; // "Anonymous" + out.yourself = ""; // "Yourself" + out.anonymousUsers = ""; // "anonymous editors" + out.anonymousUser = ""; // "anonymous editor" + out.users = ""; // "Users" + out.and = ""; // "And" + out.viewer = ""; // "viewer" + out.viewers = ""; // "viewers" + out.editor = ""; // "editor" + out.editors = ""; // "editors" + out.language = ""; // "Language" + out.upgrade = ""; // "Upgrade" + out.upgradeTitle = ""; // "Upgrade your account to increase the storage limit" + out.MB = ""; // "MB" + out.greenLight = ""; // "Everything is working fine" + out.orangeLight = ""; // "Your slow connection may impact your experience" + out.redLight = ""; // "You are disconnected from the session" + out.pinLimitReached = ""; // "You've reached your storage limit" + out.pinLimitReachedAlert = ""; // "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>To fix this problem, you can either remove pads from your CryptDrive (including the trash) or subscribe to a premium offer to increase your limit." + out.pinLimitNotPinned = ""; // "You've reached your storage limit.<br>This pad is not stored in your CryptDrive." + out.pinLimitDrive = ""; // "You've reached your storage limit.<br>You can't create new pads." + out.importButtonTitle = ""; // "Import a pad from a local file" + out.exportButtonTitle = ""; // "Export this pad to a local file" + out.exportPrompt = ""; // "What would you like to name your file?" + out.changeNamePrompt = ""; // "Change your name (leave empty to be anonymous): " + out.user_rename = ""; // "Change display name" + out.user_displayName = ""; // "Display name" + out.user_accountName = ""; // "Account name" + out.clickToEdit = ""; // "Click to edit" + out.forgetButtonTitle = ""; // "Move this pad to the trash" + out.forgetPrompt = ""; // "Clicking OK will move this pad to your trash. Are you sure?" + out.movedToTrash = ""; // "That pad has been moved to the trash.<br><a href=\"/drive/\">Access my Drive</a>" + out.shareButton = ""; // "Share" + out.shareSuccess = ""; // "Copied link to clipboard" + out.newButton = ""; // "New" + out.newButtonTitle = ""; // "Create a new pad" + out.saveTemplateButton = ""; // "Save as template" + out.saveTemplatePrompt = ""; // "Choose a title for the template" + out.templateSaved = ""; // "Template saved!" + out.selectTemplate = ""; // "Select a template or press escape" + out.presentButtonTitle = ""; // "Enter presentation mode" + out.presentSuccess = ""; // "Hit ESC to exit presentation mode" + out.backgroundButtonTitle = ""; // "Change the background color in the presentation" + out.colorButtonTitle = ""; // "Change the text color in presentation mode" + out.printButton = ""; // "Print (enter)" + out.printButtonTitle = ""; // "Print your slides or export them as a PDF file" + out.printOptions = ""; // "Layout options" + out.printSlideNumber = ""; // "Display the slide number" + out.printDate = ""; // "Display the date" + out.printTitle = ""; // "Display the pad title" + out.printCSS = ""; // "Custom style rules (CSS):" + out.printTransition = ""; // "Enable transition animations" + out.slideOptionsTitle = ""; // "Customize your slides" + out.slideOptionsButton = ""; // "Save (enter)" + out.editShare = ""; // "Editing link" + out.editShareTitle = ""; // "Copy the editing link to clipboard" + out.editOpen = ""; // "Open editing link in a new tab" + out.editOpenTitle = ""; // "Open this pad in editing mode in a new tab" + out.viewShare = ""; // "Read-only link" + out.viewShareTitle = ""; // "Copy the read-only link to clipboard" + out.viewOpen = ""; // "Open read-only link in a new tab" + out.viewOpenTitle = ""; // "Open this pad in read-only mode in a new tab" + out.notifyJoined = ""; // "{0} has joined the collaborative session" + out.notifyRenamed = ""; // "{0} is now known as {1}" + out.notifyLeft = ""; // "{0} has left the collaborative session" + out.okButton = ""; // "OK (enter)" + out.cancel = ""; // "Cancel" + out.cancelButton = ""; // "Cancel (esc)" + out.historyButton = ""; // "Display the document history" + out.history_next = ""; // "Go to the next version" + out.history_prev = ""; // "Go to the previous version" + out.history_goTo = ""; // "Go to the selected version" + out.history_close = ""; // "Back" + out.history_closeTitle = ""; // "Close the history" + out.history_restore = ""; // "Restore" + out.history_restoreTitle = ""; // "Restore the selected version of the document" + out.history_restorePrompt = ""; // "Are you sure you want to replace the current version of the document by the displayed one?" + out.history_restoreDone = ""; // "Document restored" + out.history_version = ""; // "Version:" + out.poll_title = ""; // "Zero Knowledge Date Picker" + out.poll_subtitle = ""; // "Zero Knowledge, <em>realtime</em> scheduling" + out.poll_p_save = ""; // "Your settings are updated instantly, so you never need to save." + out.poll_p_encryption = ""; // "All your input is encrypted so only people who have the link can access it. Even the server cannot see what you change." + out.wizardLog = ""; // "Click the button in the top left to return to your poll" + out.wizardTitle = ""; // "Use the wizard to create your poll" + out.wizardConfirm = ""; // "Are you really ready to add these options to your poll?" + out.poll_publish_button = ""; // "Publish" + out.poll_admin_button = ""; // "Admin" + out.poll_create_user = ""; // "Add a new user" + out.poll_create_option = ""; // "Add a new option" + out.poll_commit = ""; // "Commit" + out.poll_closeWizardButton = ""; // "Close wizard" + out.poll_closeWizardButtonTitle = ""; // "Close wizard" + out.poll_wizardComputeButton = ""; // "Compute Options" + out.poll_wizardClearButton = ""; // "Clear Table" + out.poll_wizardDescription = ""; // "Automatically create a number of options by entering any number of dates and times segments" + out.poll_wizardAddDateButton = ""; // "+ Dates" + out.poll_wizardAddTimeButton = ""; // "+ Times" + out.poll_optionPlaceholder = ""; // "Option" + out.poll_userPlaceholder = ""; // "Your name" + out.poll_removeOption = ""; // "Are you sure you'd like to remove this option?" + out.poll_removeUser = ""; // "Are you sure you'd like to remove this user?" + out.poll_titleHint = ""; // "Title" + out.poll_descriptionHint = ""; // "Describe your poll, and use the 'publish' button when you're done. Anyone with the link can change the description, but this is discouraged." + out.canvas_clear = ""; // "Clear" + out.canvas_delete = ""; // "Delete selection" + out.canvas_disable = ""; // "Disable draw" + out.canvas_enable = ""; // "Enable draw" + out.canvas_width = ""; // "Width" + out.canvas_opacity = ""; // "Opacity" + out.fm_rootName = ""; // "Documents" + out.fm_trashName = ""; // "Trash" + out.fm_unsortedName = ""; // "Unsorted files" + out.fm_filesDataName = ""; // "All files" + out.fm_templateName = ""; // "Templates" + out.fm_searchName = ""; // "Search" + out.fm_searchPlaceholder = ""; // "Search..." + out.fm_newButton = ""; // "New" + out.fm_newButtonTitle = ""; // "Create a new pad or folder" + out.fm_newFolder = ""; // "New folder" + out.fm_newFile = ""; // "New pad" + out.fm_folder = ""; // "Folder" + out.fm_folderName = ""; // "Folder name" + out.fm_numberOfFolders = ""; // "# of folders" + out.fm_numberOfFiles = ""; // "# of files" + out.fm_fileName = ""; // "File name" + out.fm_title = ""; // "Title" + out.fm_type = ""; // "Type" + out.fm_lastAccess = ""; // "Last access" + out.fm_creation = ""; // "Creation" + out.fm_forbidden = ""; // "Forbidden action" + out.fm_originalPath = ""; // "Original path" + out.fm_openParent = ""; // "Show in folder" + out.fm_noname = ""; // "Untitled Document" + out.fm_emptyTrashDialog = ""; // "Are you sure you want to empty the trash?" + out.fm_removeSeveralPermanentlyDialog = ""; // "Are you sure you want to remove these {0} elements from the trash permanently?" + out.fm_removePermanentlyDialog = ""; // "Are you sure you want to remove that element permanently?" + out.fm_removeSeveralDialog = ""; // "Are you sure you want to move these {0} elements to the trash?" + out.fm_removeDialog = ""; // "Are you sure you want to move {0} to the trash?" + out.fm_restoreDialog = ""; // "Are you sure you want to restore {0} to its previous location?" + out.fm_unknownFolderError = ""; // "The selected or last visited directory no longer exist. Opening the parent folder..." + out.fm_contextMenuError = ""; // "Unable to open the context menu for that element. If the problem persist, try to reload the page." + out.fm_selectError = ""; // "Unable to select the targetted element. If the problem persist, try to reload the page." + out.fm_categoryError = ""; // "Unable to open the selected category, displaying root." + out.fm_info_root = ""; // "Create as many nested folders here as you want to sort your files." + out.fm_info_unsorted = ""; // "Contains all the files you've visited that are not yet sorted in \"Documents\" or moved to the \"Trash\"." + out.fm_info_template = ""; // "Contains all the pads stored as templates and that you can re-use when you create a new pad." + out.fm_info_trash = ""; // "Files deleted from the trash are also removed from \"All files\" and it is impossible to recover them from the file manager." + out.fm_info_allFiles = ""; // "Contains all the files from \"Documents\", \"Unsorted\" and \"Trash\". You can't move or remove files from here." + out.fm_info_login = ""; // "Log in" + out.fm_info_register = ""; // "Sign up" + out.fm_info_anonymous = ""; // "You are not logged in so these pads may be deleted (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">find out why</a>). <a href=\"/register/\">Sign up</a> or <a href=\"/login/\">Log in</a> to keep them alive." + out.fm_alert_backupUrl = ""; // "Backup link for this drive.<br>It is <strong>highly recommended</strong> that you keep ip for yourself only.<br>You can use it to retrieve all your files in case your browser memory got erased.<br>Anybody with that link can edit or remove all the files in your file manager.<br>" + out.fm_alert_anonymous = ""; // "Hello there, you are currently using CryptPad anonymously, that's ok but your pads may be deleted after a period of inactivity. We have disabled advanced features of the drive for anonymous users because we want to be clear that it is not a safe place to store things. You can <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">read more</a> about why we are doing this and why you really should <a href=\"/register/\">Sign up</a> and <a href=\"/login/\">Log in</a>." + out.fm_backup_title = ""; // "Backup link" + out.fm_nameFile = ""; // "How would you like to name that file?" + out.fc_newfolder = ""; // "New folder" + out.fc_rename = ""; // "Rename" + out.fc_open = ""; // "Open" + out.fc_open_ro = ""; // "Open (read-only)" + out.fc_delete = ""; // "Delete" + out.fc_restore = ""; // "Restore" + out.fc_remove = ""; // "Delete permanently" + out.fc_empty = ""; // "Empty the trash" + out.fc_prop = ""; // "Properties" + out.fc_sizeInKilobytes = ""; // "Size in Kilobytes" + out.fo_moveUnsortedError = ""; // "You can't move a folder to the list of unsorted pads" + out.fo_existingNameError = ""; // "Name already used in that directory. Please choose another one." + out.fo_moveFolderToChildError = ""; // "You can't move a folder into one of its descendants" + out.fo_unableToRestore = ""; // "Unable to restore that file to its original location. You can try to move it to a new location." + out.fo_unavailableName = ""; // "A file or a folder with the same name already exist at the new location. Rename the element and try again." + out.login_login = ""; // "Log in" + out.login_makeAPad = ""; // "Create a pad anonymously" + out.login_nologin = ""; // "Browse local pads" + out.login_register = ""; // "Sign up" + out.logoutButton = ""; // "Log out" + out.settingsButton = ""; // "Settings" + out.login_username = ""; // "Username" + out.login_password = ""; // "Password" + out.login_confirm = ""; // "Confirm your password" + out.login_remember = ""; // "Remember me" + out.login_hashing = ""; // "Hashing your password, this might take some time." + out.login_hello = ""; // "Hello {0}," + out.login_helloNoName = ""; // "Hello," + out.login_accessDrive = ""; // "Access your drive" + out.login_orNoLogin = ""; // "or" + out.login_noSuchUser = ""; // "Invalid username or password. Try again, or sign up" + out.login_invalUser = ""; // "Username required" + out.login_invalPass = ""; // "Password required" + out.login_unhandledError = ""; // "An unexpected error occurred :(" + out.register_importRecent = ""; // "Import pad history (Recommended)" + out.register_acceptTerms = ""; // "I accept <a href='/terms.html'>the terms of service</a>" + out.register_passwordsDontMatch = ""; // "Passwords do not match!" + out.register_mustAcceptTerms = ""; // "You must accept the terms of service." + out.register_mustRememberPass = ""; // "We cannot reset your password if you forget it. It's very important that you remember it! Please check the checkbox to confirm." + out.register_header = ""; // "Welcome to CryptPad" + out.register_explanation = ""; // "<p>Lets go over a couple things first</p><ul><li>Your password is your secret key which encrypts all of your pads. If you lose it there is no way we can recover your data.</li><li>You can import pads which were recently viewed in your browser so you have them in your account.</li><li>If you are using a shared computer, you need to log out when you are done, closing the tab is not enough.</li></ul>" + out.register_writtenPassword = ""; // "I have written down my username and password, proceed" + out.register_cancel = ""; // "Go back" + out.register_warning = ""; // "Zero Knowledge means that we can't recover your data if you lose your password." + out.register_alreadyRegistered = ""; // "This user already exists, do you want to log in?" + out.settings_title = ""; // "Settings" + out.settings_save = ""; // "Save" + out.settings_backupTitle = ""; // "Backup or restore all your data" + out.settings_backup = ""; // "Backup" + out.settings_restore = ""; // "Restore" + out.settings_resetTitle = ""; // "Clean your drive" + out.settings_reset = ""; // "Remove all the files and folders from your CryptDrive" + out.settings_resetPrompt = ""; // "This action will remove all the pads from your drive.<br>Are you sure you want to continue?<br>Type “<em>I love CryptPad</em>” to confirm." + out.settings_resetDone = ""; // "Your drive is now empty!" + out.settings_resetError = ""; // "Incorrect verification text. Your CryptDrive has not been changed." + out.settings_resetTips = ""; // "Tips in CryptDrive" + out.settings_resetTipsButton = ""; // "Reset the available tips in CryptDrive" + out.settings_resetTipsDone = ""; // "All the tips are now visible again." + out.settings_importTitle = ""; // "Import this browser's recent pads in my CryptDrive" + out.settings_import = ""; // "Import" + out.settings_importConfirm = ""; // "Are you sure you want to import recent pads from this browser to your user account's CryptDrive?" + out.settings_importDone = ""; // "Import completed" + out.settings_userFeedbackHint1 = ""; // "CryptPad provides some very basic feedback to the server, to let us know how to improve your experience." + out.settings_userFeedbackHint2 = ""; // "Your pad's content will never be shared with the server." + out.settings_userFeedback = ""; // "Enable user feedback" + out.settings_anonymous = ""; // "You are not logged in. Settings here are specific to this browser." + out.settings_publicSigningKey = ""; // "Public Signing Key" + out.settings_usage = ""; // "Usage" + out.settings_usageTitle = ""; // "See the total size of your pinned pads in MB" + out.settings_pinningNotAvailable = ""; // "Pinned pads are only available to registered users." + out.settings_pinningError = ""; // "Something went wrong" + out.settings_usageAmount = ""; // "Your pinned pads occupy {0}MB" + out.settings_logoutEverywhereTitle = ""; // "Log out everywhere" + out.settings_logoutEverywhere = ""; // "Log out of all other web sessions" + out.settings_logoutEverywhereConfirm = ""; // "Are you sure? You will need to log in with all your devices." + out.upload_serverError = ""; // "Server Error: unable to upload your file at this time." + out.upload_uploadPending = ""; // "You already have an upload in progress. Cancel it and upload your new file?" + out.upload_success = ""; // "Your file ({0}) has been successfully uploaded and added to your drive" + out.main_p2 = ""; // "This project uses the <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, and the <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> realtime engine." + out.main_howitworks_p1 = ""; // "CryptPad uses a variant of the <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> algorithm which is able to find distributed consensus using a <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, a construct popularized by <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. This way the algorithm can avoid the need for a central server to resolve Operational Transform Edit Conflicts and without the need for resolving conflicts, the server can be kept unaware of the content which is being edited on the pad." + out.main_about_p2 = ""; // "If you have any questions or comments, you can <a href=\"https://twitter.com/cryptpad\">tweet us</a>, open an issue <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"our issue tracker\">on github</a>, come say hi on irc (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), or <a href=\"mailto:research@xwiki.com\">send us an email</a>." + out.main_info = ""; // "<h1>Collaborate in Confidence</h1><br> Grow your ideas together with shared documents while <strong>Zero Knowledge</strong> technology secures your privacy; even from us." + out.main_howitworks = ""; // "How It Works" + out.main_zeroKnowledge = ""; // "Zero Knowledge" + out.main_zeroKnowledge_p = ""; // "You don't have to trust that we <em>won't</em> look at your pads, with CryptPad's revolutionary Zero Knowledge Technology we <em>can't</em>. Learn more about how we protect your <a href=\"/privacy.html\" title='Privacy'>Privacy and Security</a>." + out.main_writeItDown = ""; // "Write it down" + out.main_writeItDown_p = ""; // "The greatest projects come from the smallest ideas. Take down the moments of inspiration and unexpected ideas because you never know which one might be a breakthrough." + out.main_share = ""; // "Share the link, share the pad" + out.main_share_p = ""; // "Grow your ideas together: conduct efficient meetings, collaborate on TODO lists and make quick presentations with all your friends and all your devices." + out.main_organize = ""; // "Get organized" + out.main_organize_p = ""; // "With CryptPad Drive, you can keep your sights on what's important. Folders allow you to keep track of your projects and have a global vision of where things are going." + out.tryIt = ""; // "Try it out!" + out.main_richText = ""; // "Rich Text editor" + out.main_richText_p = ""; // "Edit rich text pads collaboratively with our realtime Zero Knowledge <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application." + out.main_code = ""; // "Code editor" + out.main_code_p = ""; // "Edit code from your software collaboratively with our realtime Zero Knowledge <a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application." + out.main_slide = ""; // "Slide editor" + out.main_slide_p = ""; // "Create your presentations using the Markdown syntax, and display them in your browser." + out.main_poll = ""; // "Polls" + out.main_poll_p = ""; // "Plan your meeting or your event, or vote for the best solution regarding your problem." + out.main_drive = ""; // "CryptDrive" + out.footer_applications = ""; // "Applications" + out.footer_contact = ""; // "Contact" + out.footer_aboutUs = ""; // "About us" + out.about = ""; // "About" + out.privacy = ""; // "Privacy" + out.contact = ""; // "Contact" + out.terms = ""; // "ToS" + out.blog = ""; // "Blog" + out.policy_title = ""; // "CryptPad Privacy Policy" + out.policy_whatweknow = ""; // "What we know about you" + out.policy_whatweknow_p1 = ""; // "As an application that is hosted on the web, CryptPad has access to metadata exposed by the HTTP protocol. This includes your IP address, and various other HTTP headers that can be used to identify your particular browser. You can see what information your browser is sharing by visiting <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>." + out.policy_whatweknow_p2 = ""; // "We use <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"open source analytics platform\">Kibana</a>, an open source analytics platform, to learn more about our users. Kibana tells us about how you found CryptPad, via direct entry, through a search engine, or via a referral from another web service like Reddit or Twitter." + out.policy_howweuse = ""; // "How we use what we learn" + out.policy_howweuse_p1 = ""; // "We use this information to make better decisions about promoting CryptPad, by evaluating which of our past efforts were successful. Information about your location lets us know whether we should consider providing better support for languages other than English." + out.policy_howweuse_p2 = ""; // "Information about your browser (whether it's a desktop or mobile operating system) helps us make decisions when prioritizing feature improvements. Our development team is small, and we try to make choices that will improve as many users' experience as possible." + out.policy_whatwetell = ""; // "What we tell others about you" + out.policy_whatwetell_p1 = ""; // "We do not furnish to third parties the information that we gather or that you provide to us unless we are legally required to do so." + out.policy_links = ""; // "Links to other sites" + out.policy_links_p1 = ""; // "This site contains links to other sites, including those produced by other organizations. We are not responsible for the privacy practices or the contents of any outside sites. As a general rule, links to outside sites are launched in a new browser window, to make clear that you are leaving CryptPad.fr." + out.policy_ads = ""; // "Advertisement" + out.policy_ads_p1 = ""; // "We do not display any online advertising, though we may link to the bodies which are financing our research." + out.policy_choices = ""; // "Choices you have" + out.policy_choices_open = ""; // "Our code is open source, so you always have the option of hosting your own instance of CryptPad." + out.policy_choices_vpn = ""; // "If you want to use our hosted instance, but don't want to expose your IP address, you can protect your IP using the <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, or a <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>." + out.policy_choices_ads = ""; // "If you just want to block our analytics platform, you can use adblocking tools like <a href=\"https://www.eff.org/privacybadger\" title=\"download privacy badger\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Badger</a>." + out.tos_title = ""; // "CryptPad Terms of Service" + out.tos_legal = ""; // "Please don't be malicious, abusive, or do anything illegal." + out.tos_availability = ""; // "We hope you find this service useful, but availability or performance cannot be guaranteed. Please export your data regularly." + out.tos_e2ee = ""; // "CryptPad contents can be read or modified by anyone who can guess or otherwise obtain the pad's fragment identifier. We recommend that you use end-to-end-encrypted (e2ee) messaging technology to share links, and assume no liability in the event that such a link is leaked." + out.tos_logs = ""; // "Metadata provided by your browser to the server may be logged for the purpose of maintaining the service." + out.tos_3rdparties = ""; // "We do not provide individualized data to third parties unless required to by law." + out.bottom_france = ""; // "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Made with <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> in <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" alt=\"France\" /></a>" + out.bottom_support = ""; // "<a href=\"http://labs.xwiki.com/\" title=\"XWiki Labs\" target=\"_blank\" rel=\"noopener noreferrer\">An <img src=\"/customize/logo-xwiki2.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/> Labs Project </a> with the support of <a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>" + out.header_france = ""; // "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">With <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> from <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" title=\"France\" alt=\"France\"/> by <img src=\"/customize/logo-xwiki.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/></a>" + out.header_support = ""; // "<a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>" + out.header_logoTitle = ""; // "Go to the main page" + out.initialState = ""; // "<span style=\"font-size:16px;\"><p>This is <strong>CryptPad</strong>, the Zero Knowledge realtime collaborative editor. Everything is saved as you type.<br>Share the link to this pad to edit with friends or use the <span style=\"background-color:#5cb85c;color:#ffffff;\"> Share </span> button to share a <em>read-only link</em> which allows viewing but not editing.</p><p><span style=\"color:#808080;\"><em>Go ahead, just start typing...</em></span></p></span><p> <br></p>" + out.codeInitialState = ""; // "/*\n This is the CryptPad Zero Knowledge collaborative code editor.\n What you type here is encrypted so only people who have the link can access it.\n You can choose the programming language to highlight and the UI color scheme in the upper right.\n*/" + out.slideInitialState = ""; // "# CryptSlide\n* This is a zero knowledge realtime collaborative editor.\n* What you type here is encrypted so only people who have the link can access it.\n* Even the server cannot see what you type.\n* What you see here, what you hear here, when you leave here, let it stay here.\n\n---\n# How to use\n1. Write your slides content using markdown syntax\n - Learn more about markdown syntax [here](http://www.markdowntutorial.com/)\n2. Separate your slides with ---\n3. Click on the \"Play\" button to see the result - Your slides are updated in realtime" + out.driveReadmeTitle = ""; // "What is CryptDrive?" + out.readme_welcome = ""; // "Welcome to CryptPad !" + out.readme_p1 = ""; // "Welcome to CryptPad, this is where you can take note of things alone and with friends." + out.readme_p2 = ""; // "This pad will give you a quick walk through of how you can use CryptPad to take notes, keep them organized and work together on them." + out.readme_cat1 = ""; // "Get to know your CryptDrive" + out.readme_cat1_l1 = ""; // "Make a pad: In your CryptDrive, click {0} then {1} and you can make a pad." + out.readme_cat1_l2 = ""; // "Open Pads from your CryptDrive: double-click on a pad icon to open it." + out.readme_cat1_l3 = ""; // "Organize your pads: When you are logged in, every pad you access will be shown as in the {0} section of your drive." + out.readme_cat1_l3_l1 = ""; // "You can click and drag files into folders in the {0} section of your drive and make new folders." + out.readme_cat1_l3_l2 = ""; // "Remember to try right clicking on icons because there are often additional menus." + out.readme_cat1_l4 = ""; // "Put old pads in the trash: You can click and drag your pads into the {0} the same way you drag them into folders." + out.readme_cat2 = ""; // "Make pads like a pro" + out.edit = ""; // "edit" + out.view = ""; // "view" + out.readme_cat2_l1 = ""; // "The {0} button in your pad allows you to give access to collaborators to either {1} or to {2} the pad." + out.readme_cat2_l2 = ""; // "Change the title of the pad by clicking on the pencil" + out.readme_cat3 = ""; // "Discover CryptPad apps" + out.readme_cat3_l1 = ""; // "With CryptPad code editor, you can collaborate on code like Javascript and markdown like HTML and Markdown" + out.readme_cat3_l2 = ""; // "With CryptPad slide editor, you can make quick presentations using Markdown" + out.readme_cat3_l3 = ""; // "With CryptPoll you can take quick votes, especially for scheduling meetings which fit with everybody's calendar" + out.tips = ""; // {"lag":"The green icon in the upper right shows the quality of your internet connection to the CryptPad server.","shortcuts":"`ctrl+b`, `ctrl+i` and `ctrl+u` are quick shortcuts for bold, italic and underline.","indent":"In numbered and bulleted lists, you can use tab or shift+tab to quickly increase or decrease indentation.","title":"You can set the title of your pad by clicking the top center.","store":"Every time you visit a pad, if you're logged in it will be saved to your CryptDrive.","marker":"You can highlight text in a pad using the \"marker\" item in the styles dropdown menu."} + out.feedback_about = ""; // "If you're reading this, you were probably curious why CryptPad is requesting web pages when you perform certain actions" + out.feedback_privacy = ""; // "We care about your privacy, and at the same time we want CryptPad to be very easy to use. We use this file to figure out which UI features matter to our users, by requesting it along with a parameter specifying which action was taken." + out.feedback_optout = ""; // "If you would like to opt out, visit <a href='/settings/'>your user settings page</a>, where you'll find a checkbox to enable or disable user feedback" + + + return out; +}); From 953e7155f08809a546baccac1c876894ec1b7378 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 16 May 2017 14:41:40 +0200 Subject: [PATCH 079/236] Send only the hostname to the accounts server --- www/common/cryptpad-common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 4472dde7b..00fb7bd09 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -797,7 +797,7 @@ define([ var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px'); if ((quota >= 0.8 || alwaysDisplayUpgrade) && data.plan !== "power") { - var origin = encodeURIComponent(window.location.origin); + var origin = encodeURIComponent(window.location.hostname); var $upgradeLink = $('<a>', { href: "https://accounts.cryptpad.fr/#!on=" + origin, rel: "noreferrer noopener", From c381e853841055b9e7f77fda51a79f7ae0327d31 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 16 May 2017 15:11:20 +0200 Subject: [PATCH 080/236] correctly identify users' limits by unescaped public key --- rpc.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rpc.js b/rpc.js index d8bbce9dd..1b92d57a8 100644 --- a/rpc.js +++ b/rpc.js @@ -78,6 +78,10 @@ var escapeKeyCharacters = function (key) { return key.replace(/\//g, '-'); }; +var unescapeKeyCharacters = function (key) { + return key.replace(/\-/g, '/'); +}; + var beginSession = function (Sessions, key) { var safeKey = escapeKeyCharacters(key); if (Sessions[safeKey]) { @@ -516,7 +520,7 @@ var updateLimits = function (config, publicKey, cb) { }; var getLimit = function (publicKey, cb) { - var unescapedKey = escapeKeyCharacters(publicKey); + var unescapedKey = unescapeKeyCharacters(publicKey); var limit = limits[unescapedKey]; var toSend = limit && typeof(limit.limit) === "number"? From 24eb928ef87033c4de07abedfbc213e857208730 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 16 May 2017 17:07:53 +0200 Subject: [PATCH 081/236] simplify rpc function signatures --- rpc.js | 97 ++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 54 insertions(+), 43 deletions(-) diff --git a/rpc.js b/rpc.js index 1b92d57a8..9b7636827 100644 --- a/rpc.js +++ b/rpc.js @@ -192,7 +192,8 @@ var checkSignature = function (signedMsg, signature, publicKey) { return Nacl.sign.detached.verify(signedBuffer, signatureBuffer, pubBuffer); }; -var loadUserPins = function (store, Sessions, publicKey, cb) { +var loadUserPins = function (Env, Sessions, publicKey, cb) { + var pinStore = Env.pinStore; var session = beginSession(Sessions, publicKey); if (session.channels) { @@ -210,7 +211,7 @@ var loadUserPins = function (store, Sessions, publicKey, cb) { pins[channel] = false; }; - store.getMessages(publicKey, function (msg) { + pinStore.getMessages(publicKey, function (msg) { // handle messages... var parsed; try { @@ -252,8 +253,8 @@ var truthyKeys = function (O) { }); }; -var getChannelList = function (store, Sessions, publicKey, cb) { - loadUserPins(store, Sessions, publicKey, function (pins) { +var getChannelList = function (Env, Sessions, publicKey, cb) { + loadUserPins(Env, Sessions, publicKey, function (pins) { cb(truthyKeys(pins)); }); }; @@ -263,7 +264,8 @@ var makeFilePath = function (root, id) { return Path.join(root, id.slice(0, 2), id); }; -var getUploadSize = function (paths, channel, cb) { +var getUploadSize = function (Env, channel, cb) { + var paths = Env.paths; var path = makeFilePath(paths.blob, channel); if (!path) { return cb('INVALID_UPLOAD_ID'); @@ -275,7 +277,7 @@ var getUploadSize = function (paths, channel, cb) { }); }; -var getFileSize = function (paths, msgStore, channel, cb) { +var getFileSize = function (Env, msgStore, channel, cb) { if (!isValidId(channel)) { return void cb('INVALID_CHAN'); } if (channel.length === 32) { @@ -290,13 +292,13 @@ var getFileSize = function (paths, msgStore, channel, cb) { } // 'channel' refers to a file, so you need anoter API - getUploadSize(paths, channel, function (e, size) { + getUploadSize(Env, channel, function (e, size) { if (e) { return void cb(e); } cb(void 0, size); }); }; -var getMultipleFileSize = function (paths, msgStore, channels, cb) { +var getMultipleFileSize = function (Env, msgStore, channels, cb) { if (!Array.isArray(channels)) { return cb('INVALID_LIST'); } if (typeof(msgStore.getChannelSize) !== 'function') { return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); @@ -311,7 +313,7 @@ var getMultipleFileSize = function (paths, msgStore, channels, cb) { }; channels.forEach(function (channel) { - getFileSize(paths, msgStore, channel, function (e, size) { + getFileSize(Env, msgStore, channel, function (e, size) { if (e) { console.error(e); counts[channel] = -1; @@ -323,17 +325,17 @@ var getMultipleFileSize = function (paths, msgStore, channels, cb) { }); }; -var getTotalSize = function (paths, pinStore, msgStore, Sessions, publicKey, cb) { +var getTotalSize = function (Env, msgStore, Sessions, publicKey, cb) { var bytes = 0; - return void getChannelList(pinStore, Sessions, publicKey, function (channels) { + return void getChannelList(Env, Sessions, publicKey, function (channels) { if (!channels) { cb('NO_ARRAY'); } // unexpected var count = channels.length; if (!count) { cb(void 0, 0); } channels.forEach(function (channel) { - getFileSize(paths, msgStore, channel, function (e, size) { + getFileSize(Env, msgStore, channel, function (e, size) { count--; if (!e) { bytes += size; } if (count === 0) { return cb(void 0, bytes); } @@ -356,20 +358,22 @@ var hashChannelList = function (A) { return hash; }; -var getHash = function (store, Sessions, publicKey, cb) { - getChannelList(store, Sessions, publicKey, function (channels) { +var getHash = function (Env, Sessions, publicKey, cb) { + getChannelList(Env, Sessions, publicKey, function (channels) { cb(void 0, hashChannelList(channels)); }); }; // TODO check if new pinned size exceeds user quota -var pinChannel = function (pinStore, Sessions, publicKey, channels, cb) { +var pinChannel = function (Env, Sessions, publicKey, channels, cb) { + var pinStore = Env.pinStore; + if (!channels && channels.filter) { // expected array return void cb('[TYPE_ERROR] pin expects channel list argument'); } - getChannelList(pinStore, Sessions, publicKey, function (pinned) { + getChannelList(Env, Sessions, publicKey, function (pinned) { var session = beginSession(Sessions, publicKey); // only pin channels which are not already pinned @@ -378,7 +382,7 @@ var pinChannel = function (pinStore, Sessions, publicKey, channels, cb) { }); if (toStore.length === 0) { - return void getHash(pinStore, Sessions, publicKey, cb); + return void getHash(Env, Sessions, publicKey, cb); } pinStore.message(publicKey, JSON.stringify(['PIN', toStore]), @@ -387,12 +391,13 @@ var pinChannel = function (pinStore, Sessions, publicKey, channels, cb) { toStore.forEach(function (channel) { session.channels[channel] = true; }); - getHash(pinStore, Sessions, publicKey, cb); + getHash(Env, Sessions, publicKey, cb); }); }); }; -var unpinChannel = function (pinStore, Sessions, publicKey, channels, cb) { +var unpinChannel = function (Env, Sessions, publicKey, channels, cb) { + var pinStore = Env.pinStore; if (!channels && channels.filter) { // expected array return void cb('[TYPE_ERROR] unpin expects channel list argument'); @@ -407,7 +412,7 @@ var unpinChannel = function (pinStore, Sessions, publicKey, channels, cb) { }); if (toStore.length === 0) { - return void getHash(pinStore, Sessions, publicKey, cb); + return void getHash(Env, Sessions, publicKey, cb); } pinStore.message(publicKey, JSON.stringify(['UNPIN', toStore]), @@ -417,13 +422,14 @@ var unpinChannel = function (pinStore, Sessions, publicKey, channels, cb) { delete session.channels[channel]; }); - getHash(pinStore, Sessions, publicKey, cb); + getHash(Env, Sessions, publicKey, cb); }); }); }; // TODO check if new pinned size exceeds user quota -var resetUserPins = function (pinStore, Sessions, publicKey, channelList, cb) { +var resetUserPins = function (Env, Sessions, publicKey, channelList, cb) { + var pinStore = Env.pinStore; var session = beginSession(Sessions, publicKey); var pins = session.channels = {}; @@ -435,7 +441,7 @@ var resetUserPins = function (pinStore, Sessions, publicKey, channelList, cb) { pins[channel] = true; }); - getHash(pinStore, Sessions, publicKey, function (e, hash) { + getHash(Env, Sessions, publicKey, function (e, hash) { cb(e, hash); }); }); @@ -556,7 +562,8 @@ var makeFileStream = function (root, id, cb) { }); }; -var upload = function (paths, Sessions, publicKey, content, cb) { +var upload = function (Env, Sessions, publicKey, content, cb) { + var paths = Env.paths; var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line var len = dec.length; @@ -588,7 +595,8 @@ var upload = function (paths, Sessions, publicKey, content, cb) { } }; -var upload_cancel = function (paths, Sessions, publicKey, cb) { +var upload_cancel = function (Env, Sessions, publicKey, cb) { + var paths = Env.paths; var path = makeFilePath(paths.staging, publicKey); if (!path) { console.log(paths.staging, publicKey); @@ -612,7 +620,8 @@ var isFile = function (filePath, cb) { }); }; -var upload_complete = function (paths, Sessions, publicKey, cb) { +var upload_complete = function (Env, Sessions, publicKey, cb) { + var paths = Env.paths; var session = beginSession(Sessions, publicKey); if (session.blobstage && session.blobstage.close) { @@ -657,7 +666,9 @@ var upload_complete = function (paths, Sessions, publicKey, cb) { }); }; -var upload_status = function (paths, pinStore, msgStore, Sessions, publicKey, filesize, cb) { +var upload_status = function (Env, msgStore, Sessions, publicKey, filesize, cb) { + var paths = Env.paths; + // validate that the provided size is actually a positive number if (typeof(filesize) !== 'number' && filesize >= 0) { return void cb('E_INVALID_SIZE'); } @@ -668,7 +679,7 @@ var upload_status = function (paths, pinStore, msgStore, Sessions, publicKey, fi getLimit(publicKey, function (e, limit) { if (e) { return void cb(e); } - getTotalSize(paths, pinStore, msgStore, Sessions, publicKey, function (e, size) { + getTotalSize(Env, msgStore, Sessions, publicKey, function (e, size) { if ((filesize + size) >= limit) { return cb('TOO_LARGE'); } isFile(filePath, function (e, yes) { if (e) { @@ -692,13 +703,13 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) return typeof(config[key]) === 'string'? config[key]: def; }; - var paths = {}; + var Env = {}; + + var paths = Env.paths = {}; var pinPath = paths.pin = keyOrDefaultString('pinPath', './pins'); var blobPath = paths.blob = keyOrDefaultString('blobPath', './blob'); var blobStagingPath = paths.staging = keyOrDefaultString('blobStagingPath', './blobstage'); - var pinStore; - var rpc = function ( ctx /*:{ store: Object }*/, data /*:Array<Array<any>>*/, @@ -775,29 +786,29 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) switch (msg[0]) { case 'COOKIE': return void Respond(void 0); case 'RESET': - return resetUserPins(pinStore, Sessions, safeKey, msg[1], function (e, hash) { + return resetUserPins(Env, Sessions, safeKey, msg[1], function (e, hash) { return void Respond(e, hash); }); case 'PIN': // TODO don't pin if over the limit // if over, send error E_OVER_LIMIT - return pinChannel(pinStore, Sessions, safeKey, msg[1], function (e, hash) { + return pinChannel(Env, Sessions, safeKey, msg[1], function (e, hash) { Respond(e, hash); }); case 'UNPIN': - return unpinChannel(pinStore, Sessions, safeKey, msg[1], function (e, hash) { + return unpinChannel(Env, Sessions, safeKey, msg[1], function (e, hash) { Respond(e, hash); }); case 'GET_HASH': - return void getHash(pinStore, Sessions, safeKey, function (e, hash) { + return void getHash(Env, Sessions, safeKey, function (e, hash) { Respond(e, hash); }); case 'GET_TOTAL_SIZE': // TODO cache this, since it will get called quite a bit - return getTotalSize(paths, pinStore, msgStore, Sessions, safeKey, function (e, size) { + return getTotalSize(Env, msgStore, Sessions, safeKey, function (e, size) { if (e) { return void Respond(e); } Respond(e, size); }); case 'GET_FILE_SIZE': - return void getFileSize(paths, msgStore, msg[1], Respond); + return void getFileSize(Env, msgStore, msg[1], Respond); case 'UPDATE_LIMITS': return void updateLimits(config, safeKey, function (e, limit) { if (e) { return void Respond(e); } @@ -809,7 +820,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Respond(void 0, limit); }); case 'GET_MULTIPLE_FILE_SIZE': - return void getMultipleFileSize(paths, msgStore, msg[1], function (e, dict) { + return void getMultipleFileSize(Env, msgStore, msg[1], function (e, dict) { if (e) { return void Respond(e); } Respond(void 0, dict); }); @@ -817,13 +828,13 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) // restricted to privileged users... case 'UPLOAD': if (!privileged) { return deny(); } - return void upload(paths, Sessions, safeKey, msg[1], function (e, len) { + return void upload(Env, Sessions, safeKey, msg[1], function (e, len) { Respond(e, len); }); case 'UPLOAD_STATUS': if (!privileged) { return deny(); } var filesize = msg[1]; - return void upload_status(paths, pinStore, msgStore, Sessions, safeKey, msg[1], function (e, yes) { + return void upload_status(Env, msgStore, Sessions, safeKey, msg[1], function (e, yes) { if (!e && !yes) { // no pending uploads, set the new size var user = beginSession(Sessions, safeKey); @@ -834,12 +845,12 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) }); case 'UPLOAD_COMPLETE': if (!privileged) { return deny(); } - return void upload_complete(paths, Sessions, safeKey, function (e, hash) { + return void upload_complete(Env, Sessions, safeKey, function (e, hash) { Respond(e, hash); }); case 'UPLOAD_CANCEL': if (!privileged) { return deny(); } - return void upload_cancel(paths, Sessions, safeKey, function (e) { + return void upload_cancel(Env, Sessions, safeKey, function (e) { Respond(e); }); default: @@ -881,7 +892,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Store.create({ filePath: pinPath, }, function (s) { - pinStore = s; + Env.pinStore = s; safeMkdir(blobPath, function (e) { if (e) { throw e; } From 98828730b49c4ad41b011d9780f44c6b1e80f5d3 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 16 May 2017 18:08:59 +0200 Subject: [PATCH 082/236] refactor more --- rpc.js | 98 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 50 insertions(+), 48 deletions(-) diff --git a/rpc.js b/rpc.js index 9b7636827..3902245a7 100644 --- a/rpc.js +++ b/rpc.js @@ -192,9 +192,9 @@ var checkSignature = function (signedMsg, signature, publicKey) { return Nacl.sign.detached.verify(signedBuffer, signatureBuffer, pubBuffer); }; -var loadUserPins = function (Env, Sessions, publicKey, cb) { +var loadUserPins = function (Env, publicKey, cb) { var pinStore = Env.pinStore; - var session = beginSession(Sessions, publicKey); + var session = beginSession(Env.Sessions, publicKey); if (session.channels) { return cb(session.channels); @@ -253,8 +253,8 @@ var truthyKeys = function (O) { }); }; -var getChannelList = function (Env, Sessions, publicKey, cb) { - loadUserPins(Env, Sessions, publicKey, function (pins) { +var getChannelList = function (Env, publicKey, cb) { + loadUserPins(Env, publicKey, function (pins) { cb(truthyKeys(pins)); }); }; @@ -277,15 +277,15 @@ var getUploadSize = function (Env, channel, cb) { }); }; -var getFileSize = function (Env, msgStore, channel, cb) { +var getFileSize = function (Env, channel, cb) { if (!isValidId(channel)) { return void cb('INVALID_CHAN'); } if (channel.length === 32) { - if (typeof(msgStore.getChannelSize) !== 'function') { + if (typeof(Env.msgStore.getChannelSize) !== 'function') { return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); } - return void msgStore.getChannelSize(channel, function (e, size) { + return void Env.msgStore.getChannelSize(channel, function (e, size) { if (e) { return void cb(e.code); } cb(void 0, size); }); @@ -298,7 +298,8 @@ var getFileSize = function (Env, msgStore, channel, cb) { }); }; -var getMultipleFileSize = function (Env, msgStore, channels, cb) { +var getMultipleFileSize = function (Env, channels, cb) { + var msgStore = Env.msgStore; if (!Array.isArray(channels)) { return cb('INVALID_LIST'); } if (typeof(msgStore.getChannelSize) !== 'function') { return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); @@ -313,7 +314,7 @@ var getMultipleFileSize = function (Env, msgStore, channels, cb) { }; channels.forEach(function (channel) { - getFileSize(Env, msgStore, channel, function (e, size) { + getFileSize(Env, channel, function (e, size) { if (e) { console.error(e); counts[channel] = -1; @@ -325,17 +326,18 @@ var getMultipleFileSize = function (Env, msgStore, channels, cb) { }); }; -var getTotalSize = function (Env, msgStore, Sessions, publicKey, cb) { +var getTotalSize = function (Env, publicKey, cb) { var bytes = 0; + //var msgStore = Env.msgStore; - return void getChannelList(Env, Sessions, publicKey, function (channels) { + return void getChannelList(Env, publicKey, function (channels) { if (!channels) { cb('NO_ARRAY'); } // unexpected var count = channels.length; if (!count) { cb(void 0, 0); } channels.forEach(function (channel) { - getFileSize(Env, msgStore, channel, function (e, size) { + getFileSize(Env, channel, function (e, size) { count--; if (!e) { bytes += size; } if (count === 0) { return cb(void 0, bytes); } @@ -358,14 +360,14 @@ var hashChannelList = function (A) { return hash; }; -var getHash = function (Env, Sessions, publicKey, cb) { - getChannelList(Env, Sessions, publicKey, function (channels) { +var getHash = function (Env, publicKey, cb) { + getChannelList(Env, publicKey, function (channels) { cb(void 0, hashChannelList(channels)); }); }; // TODO check if new pinned size exceeds user quota -var pinChannel = function (Env, Sessions, publicKey, channels, cb) { +var pinChannel = function (Env, publicKey, channels, cb) { var pinStore = Env.pinStore; if (!channels && channels.filter) { @@ -373,8 +375,8 @@ var pinChannel = function (Env, Sessions, publicKey, channels, cb) { return void cb('[TYPE_ERROR] pin expects channel list argument'); } - getChannelList(Env, Sessions, publicKey, function (pinned) { - var session = beginSession(Sessions, publicKey); + getChannelList(Env, publicKey, function (pinned) { + var session = beginSession(Env.Sessions, publicKey); // only pin channels which are not already pinned var toStore = channels.filter(function (channel) { @@ -382,7 +384,7 @@ var pinChannel = function (Env, Sessions, publicKey, channels, cb) { }); if (toStore.length === 0) { - return void getHash(Env, Sessions, publicKey, cb); + return void getHash(Env, publicKey, cb); } pinStore.message(publicKey, JSON.stringify(['PIN', toStore]), @@ -391,20 +393,20 @@ var pinChannel = function (Env, Sessions, publicKey, channels, cb) { toStore.forEach(function (channel) { session.channels[channel] = true; }); - getHash(Env, Sessions, publicKey, cb); + getHash(Env, publicKey, cb); }); }); }; -var unpinChannel = function (Env, Sessions, publicKey, channels, cb) { +var unpinChannel = function (Env, publicKey, channels, cb) { var pinStore = Env.pinStore; if (!channels && channels.filter) { // expected array return void cb('[TYPE_ERROR] unpin expects channel list argument'); } - getChannelList(pinStore, Sessions, publicKey, function (pinned) { - var session = beginSession(Sessions, publicKey); + getChannelList(Env, publicKey, function (pinned) { + var session = beginSession(Env.Sessions, publicKey); // only unpin channels which are pinned var toStore = channels.filter(function (channel) { @@ -412,7 +414,7 @@ var unpinChannel = function (Env, Sessions, publicKey, channels, cb) { }); if (toStore.length === 0) { - return void getHash(Env, Sessions, publicKey, cb); + return void getHash(Env, publicKey, cb); } pinStore.message(publicKey, JSON.stringify(['UNPIN', toStore]), @@ -422,15 +424,15 @@ var unpinChannel = function (Env, Sessions, publicKey, channels, cb) { delete session.channels[channel]; }); - getHash(Env, Sessions, publicKey, cb); + getHash(Env, publicKey, cb); }); }); }; // TODO check if new pinned size exceeds user quota -var resetUserPins = function (Env, Sessions, publicKey, channelList, cb) { +var resetUserPins = function (Env, publicKey, channelList, cb) { var pinStore = Env.pinStore; - var session = beginSession(Sessions, publicKey); + var session = beginSession(Env.Sessions, publicKey); var pins = session.channels = {}; @@ -441,7 +443,7 @@ var resetUserPins = function (Env, Sessions, publicKey, channelList, cb) { pins[channel] = true; }); - getHash(Env, Sessions, publicKey, function (e, hash) { + getHash(Env, publicKey, function (e, hash) { cb(e, hash); }); }); @@ -562,12 +564,12 @@ var makeFileStream = function (root, id, cb) { }); }; -var upload = function (Env, Sessions, publicKey, content, cb) { +var upload = function (Env, publicKey, content, cb) { var paths = Env.paths; var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line var len = dec.length; - var session = beginSession(Sessions, publicKey); + var session = beginSession(Env.Sessions, publicKey); if (typeof(session.currentUploadSize) !== 'number') { // improperly initialized... maybe they didn't check before uploading? @@ -595,7 +597,7 @@ var upload = function (Env, Sessions, publicKey, content, cb) { } }; -var upload_cancel = function (Env, Sessions, publicKey, cb) { +var upload_cancel = function (Env, publicKey, cb) { var paths = Env.paths; var path = makeFilePath(paths.staging, publicKey); if (!path) { @@ -620,9 +622,9 @@ var isFile = function (filePath, cb) { }); }; -var upload_complete = function (Env, Sessions, publicKey, cb) { +var upload_complete = function (Env, publicKey, cb) { var paths = Env.paths; - var session = beginSession(Sessions, publicKey); + var session = beginSession(Env.Sessions, publicKey); if (session.blobstage && session.blobstage.close) { session.blobstage.close(); @@ -666,8 +668,9 @@ var upload_complete = function (Env, Sessions, publicKey, cb) { }); }; -var upload_status = function (Env, msgStore, Sessions, publicKey, filesize, cb) { +var upload_status = function (Env, publicKey, filesize, cb) { var paths = Env.paths; + //var msgStore = Env.msgStore; // validate that the provided size is actually a positive number if (typeof(filesize) !== 'number' && @@ -679,7 +682,7 @@ var upload_status = function (Env, msgStore, Sessions, publicKey, filesize, cb) getLimit(publicKey, function (e, limit) { if (e) { return void cb(e); } - getTotalSize(Env, msgStore, Sessions, publicKey, function (e, size) { + getTotalSize(Env, publicKey, function (e, size) { if ((filesize + size) >= limit) { return cb('TOO_LARGE'); } isFile(filePath, function (e, yes) { if (e) { @@ -697,13 +700,12 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) // load pin-store... console.log('loading rpc module...'); - var Sessions = {}; - var keyOrDefaultString = function (key, def) { return typeof(config[key]) === 'string'? config[key]: def; }; var Env = {}; + var Sessions = Env.Sessions = {}; var paths = Env.paths = {}; var pinPath = paths.pin = keyOrDefaultString('pinPath', './pins'); @@ -780,35 +782,35 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Respond('E_ACCESS_DENIED'); }; - var msgStore = ctx.store; + if (!Env.msgStore) { Env.msgStore = ctx.store; } var handleMessage = function (privileged) { switch (msg[0]) { case 'COOKIE': return void Respond(void 0); case 'RESET': - return resetUserPins(Env, Sessions, safeKey, msg[1], function (e, hash) { + return resetUserPins(Env, safeKey, msg[1], function (e, hash) { return void Respond(e, hash); }); case 'PIN': // TODO don't pin if over the limit // if over, send error E_OVER_LIMIT - return pinChannel(Env, Sessions, safeKey, msg[1], function (e, hash) { + return pinChannel(Env, safeKey, msg[1], function (e, hash) { Respond(e, hash); }); case 'UNPIN': - return unpinChannel(Env, Sessions, safeKey, msg[1], function (e, hash) { + return unpinChannel(Env, safeKey, msg[1], function (e, hash) { Respond(e, hash); }); case 'GET_HASH': - return void getHash(Env, Sessions, safeKey, function (e, hash) { + return void getHash(Env, safeKey, function (e, hash) { Respond(e, hash); }); case 'GET_TOTAL_SIZE': // TODO cache this, since it will get called quite a bit - return getTotalSize(Env, msgStore, Sessions, safeKey, function (e, size) { + return getTotalSize(Env, safeKey, function (e, size) { if (e) { return void Respond(e); } Respond(e, size); }); case 'GET_FILE_SIZE': - return void getFileSize(Env, msgStore, msg[1], Respond); + return void getFileSize(Env, msg[1], Respond); case 'UPDATE_LIMITS': return void updateLimits(config, safeKey, function (e, limit) { if (e) { return void Respond(e); } @@ -820,7 +822,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Respond(void 0, limit); }); case 'GET_MULTIPLE_FILE_SIZE': - return void getMultipleFileSize(Env, msgStore, msg[1], function (e, dict) { + return void getMultipleFileSize(Env, msg[1], function (e, dict) { if (e) { return void Respond(e); } Respond(void 0, dict); }); @@ -828,13 +830,13 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) // restricted to privileged users... case 'UPLOAD': if (!privileged) { return deny(); } - return void upload(Env, Sessions, safeKey, msg[1], function (e, len) { + return void upload(Env, safeKey, msg[1], function (e, len) { Respond(e, len); }); case 'UPLOAD_STATUS': if (!privileged) { return deny(); } var filesize = msg[1]; - return void upload_status(Env, msgStore, Sessions, safeKey, msg[1], function (e, yes) { + return void upload_status(Env, safeKey, msg[1], function (e, yes) { if (!e && !yes) { // no pending uploads, set the new size var user = beginSession(Sessions, safeKey); @@ -845,12 +847,12 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) }); case 'UPLOAD_COMPLETE': if (!privileged) { return deny(); } - return void upload_complete(Env, Sessions, safeKey, function (e, hash) { + return void upload_complete(Env, safeKey, function (e, hash) { Respond(e, hash); }); case 'UPLOAD_CANCEL': if (!privileged) { return deny(); } - return void upload_cancel(Env, Sessions, safeKey, function (e) { + return void upload_cancel(Env, safeKey, function (e) { Respond(e); }); default: From 6b7aeb91218bbcb135660ea856824023be13ef7a Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Wed, 17 May 2017 15:48:09 +0200 Subject: [PATCH 083/236] Fix the text example --- www/common/common-hash.js | 5 +++-- www/examples/text/main.js | 9 +++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index c6bf29ce9..c8536b347 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -113,12 +113,13 @@ Version 1 return ret; } - var hash = href.replace(patt, function (a, domain, type) { + href.replace(patt, function (a, domain, type) { ret.domain = domain; ret.type = type; return ''; }); - ret.hash = hash.replace(/#/g, ''); + var idx = href.indexOf('/#'); + ret.hash = href.slice(idx + 2); ret.hashData = parseTypeHash(ret.type, ret.hash); return ret; }; diff --git a/www/examples/text/main.js b/www/examples/text/main.js index eed9ff300..e4637b681 100644 --- a/www/examples/text/main.js +++ b/www/examples/text/main.js @@ -8,6 +8,9 @@ define([ ], function ($, Config, Realtime, Crypto, TextPatcher, Cryptpad) { var secret = Cryptpad.getSecrets(); + if (!secret.keys) { + secret.keys = secret.key; + } var module = window.APP = { TextPatcher: TextPatcher @@ -19,8 +22,9 @@ define([ var config = module.config = { initialState: '', websocketURL: Config.websocketURL, + validateKey: secret.keys.validateKey || undefined, channel: secret.channel, - crypto: Crypto.createEncryptor(secret.key), + crypto: Crypto.createEncryptor(secret.keys), }; var setEditable = function (bool) { $textarea.attr('disabled', !bool); }; @@ -29,7 +33,8 @@ define([ setEditable(false); config.onInit = function (info) { - window.location.hash = info.channel + secret.key; + var editHash = Cryptpad.getEditHashFromKeys(info.channel, secret.keys); + Cryptpad.replaceHash(editHash); $(window).on('hashchange', function() { window.location.reload(); }); From b72415b56bf158c3aee07790d8be32815c1c006c Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 18 May 2017 10:13:08 +0200 Subject: [PATCH 084/236] Fix old hashes not working with the new parser --- www/common/common-hash.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index c8536b347..9e72bcdeb 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -167,8 +167,8 @@ Version 1 // new hash system : #/{hashVersion}/{b64ChanKey}/{cryptKey} if (parsed.version === 0) { // Old hash - secret.channel = hash.slice(0, 32); - secret.key = hash.slice(32); + secret.channel = parsed.channel; + secret.key = parsed.key; } else if (parsed.version === 1) { // New hash From 56bcdff89081eb7f7fa504e20786ea645525d97b Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 18 May 2017 12:16:26 +0200 Subject: [PATCH 085/236] Add a preview of the markdown content in the code editor --- www/code/inner.html | 75 +++++++++++++++++------- www/code/main.js | 49 ++++++++++++++-- www/common/common-codemirror.js | 8 ++- www/drive/main.js | 5 +- www/slide/main.js | 11 ++++ www/slide/slide.js | 101 +++----------------------------- 6 files changed, 123 insertions(+), 126 deletions(-) diff --git a/www/code/inner.html b/www/code/inner.html index cec96bbac..8dd02548a 100644 --- a/www/code/inner.html +++ b/www/code/inner.html @@ -32,32 +32,63 @@ <script src="/bower_components/codemirror/addon/fold/comment-fold.js"></script> <script src="/bower_components/codemirror/addon/display/placeholder.js"></script> <style> - html, body{ - height: 100%; - width: 100%; - padding: 0px; - margin: 0px; - overflow: hidden; - box-sizing: border-box; - position: relative; - } - body { - display: flex; - flex-flow: column; - } - .CodeMirror { - height: 100%; - } - .CodeMirror-focused .cm-matchhighlight { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); - background-position: bottom; - background-repeat: repeat-x; - } + html, body{ + height: 100%; + width: 100%; + padding: 0px; + margin: 0px; + overflow: hidden; + box-sizing: border-box; + position: relative; + } + body { + display: flex; + flex-flow: column; + max-height: 100%; + min-height: auto; + } + .CodeMirror { + display: inline-block; + height: 100%; + width: 50%; + min-width: 20%; + max-width: 80%; + resize: horizontal; + } + .CodeMirror-focused .cm-matchhighlight { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); + background-position: bottom; + background-repeat: repeat-x; + } + #editorContainer { + flex: 1; + display: flex; + flex-flow: row; + height: 100%; + overflow: hidden; + } + #previewContainer { + flex: 1; + padding: 5px 20px; + overflow: auto; + display: inline-block; + height: 100%; + border: 1px solid black; + box-sizing: border-box; + font-family: Calibri,Ubuntu,sans-serif; + } + #preview { + max-width: 40vw; + margin: auto; + } </style> </head> <body> <div id="cme_toolbox" class="toolbar-container"></div> - <textarea id="editor1" name="editor1"></textarea> + <div id="editorContainer"> + <textarea id="editor1" name="editor1"></textarea> + <div id="previewContainer"><div id="preview"></div></div> + </div> </body> </html> diff --git a/www/code/main.js b/www/code/main.js index 85cd26db3..04e20141a 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -8,7 +8,9 @@ define([ '/bower_components/chainpad-json-validator/json-ot.js', '/common/cryptpad-common.js', '/common/cryptget.js', -], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget) { + '/common/diffMarked.js', +], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, + Cryptget, DiffMd) { var Messages = Cryptpad.Messages; var module = window.APP = { @@ -25,6 +27,18 @@ define([ var toolbar; var editor; + var $iframe = $('#pad-iframe').contents(); + var $preview = $iframe.find('#preview'); + $preview.click(function (e) { + if (!e.target) { return; } + var $t = $(e.target); + if ($t.is('a') || $t.parents('a').length) { + e.preventDefault(); + var $a = $t.is('a') ? $t : $t.parents('a').first(); + var href = $a.attr('href'); + window.open(href); + } + }); var secret = Cryptpad.getSecrets(); var readOnly = secret.keys && !secret.keys.editKeyStr; @@ -102,6 +116,8 @@ define([ editor.save(); + DiffMd.apply(DiffMd.render(editor.getValue()), $preview); + var textValue = canonicalize(CodeMirror.$textarea.val()); var shjson = stringifyInner(textValue); @@ -112,7 +128,15 @@ define([ } }; - + var onModeChanged = function (mode) { + if (mode === "markdown") { + APP.$previewButton.show(); + $preview.show(); + return; + } + APP.$previewButton.hide(); + $preview.hide(); + }; config.onInit = function (info) { UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad); @@ -193,8 +217,19 @@ define([ var $forgetPad = Cryptpad.createButton('forget', true, {}, forgetCb); $rightside.append($forgetPad); + var $previewButton = APP.$previewButton = Cryptpad.createButton(null, true); + $previewButton.removeClass('fa-question').addClass('fa-eye'); + $previewButton.attr('title', 'TODO Preview'); //TODO + $previewButton.click(function () { + if (CodeMirror.highlightMode !== 'markdown') { + return void $preview.hide(); + } + $preview.toggle(); + }); + $rightside.append($previewButton); + if (!readOnly) { - CodeMirror.configureLanguage(CodeMirror.configureTheme); + CodeMirror.configureLanguage(CodeMirror.configureTheme, onModeChanged); } else { CodeMirror.configureTheme(); @@ -231,12 +266,12 @@ define([ newDoc = hjson.content; if (hjson.highlightMode) { - CodeMirror.setMode(hjson.highlightMode); + CodeMirror.setMode(hjson.highlightMode, onModeChanged); } } if (!CodeMirror.highlightMode) { - CodeMirror.setMode('javascript'); + CodeMirror.setMode('markdown', onModeChanged); console.log("%s => %s", CodeMirror.highlightMode, CodeMirror.$language.val()); } @@ -274,9 +309,11 @@ define([ var hjson = JSON.parse(shjson); var remoteDoc = hjson.content; + DiffMd.apply(DiffMd.render(remoteDoc), $preview); + var highlightMode = hjson.highlightMode; if (highlightMode && highlightMode !== module.highlightMode) { - CodeMirror.setMode(highlightMode); + CodeMirror.setMode(highlightMode, onModeChanged); } CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher); diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js index bec2b98e4..4bc38cc46 100644 --- a/www/common/common-codemirror.js +++ b/www/common/common-codemirror.js @@ -46,10 +46,11 @@ define([ }); editor.setValue(Messages.codeInitialState); - var setMode = exp.setMode = function (mode) { + var setMode = exp.setMode = function (mode, cb) { exp.highlightMode = mode; if (mode === 'text') { editor.setOption('mode', 'text'); + if (cb) { cb('text'); } return; } CMeditor.autoLoadMode(editor, mode); @@ -58,6 +59,7 @@ define([ var name = exp.$language.find('a[data-value="' + mode + '"]').text() || 'Mode'; exp.$language.setValue(name); } + if(cb) { cb(mode); } }; var setTheme = exp.setTheme = (function () { @@ -131,7 +133,7 @@ define([ return text.trim(); }; - exp.configureLanguage = function (cb) { + exp.configureLanguage = function (cb, onModeChanged) { var options = []; Modes.list.forEach(function (l) { options.push({ @@ -151,7 +153,7 @@ define([ }; var $block = exp.$language = Cryptpad.createDropdown(dropdownConfig); $block.find('a').click(function () { - setMode($(this).attr('data-value'), $block); + setMode($(this).attr('data-value'), onModeChanged); onLocal(); }); diff --git a/www/drive/main.js b/www/drive/main.js index 114c9d3d5..a85c86e47 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -2357,9 +2357,12 @@ define([ e.stopPropagation(); var path = $(this).data('path'); var onCreated = function (err, info) { - if (err && err === E_OVER_LIMIT) { + if (err === E_OVER_LIMIT) { return void Cryptpad.alert(Messages.pinLimitDrive, null, true); } + if (err) { + return void console.error("Unable to create the file", err); + } module.newFolder = info.newPath; refresh(); }; diff --git a/www/slide/main.js b/www/slide/main.js index c8463e5a6..6f04f96d0 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -79,6 +79,17 @@ define([ var $print = $pad.contents().find('#print'); var slideOptions = {}; + $content.click(function (e) { + if (!e.target) { return; } + var $t = $(e.target); + if ($t.is('a') || $t.parents('a').length) { + e.preventDefault(); + var $a = $t.is('a') ? $t : $t.parents('a').first(); + var href = $a.attr('href'); + window.open(href); + } + }); + Slide.setModal(APP, $modal, $content, $pad, ifrw, slideOptions, initialState); var enterPresentationMode = function (shouldLog) { diff --git a/www/slide/slide.js b/www/slide/slide.js index c7a8adf5e..108a8848a 100644 --- a/www/slide/slide.js +++ b/www/slide/slide.js @@ -1,15 +1,11 @@ define([ 'jquery', - '/bower_components/marked/marked.min.js', - '/bower_components/diff-dom/diffDOM.js' -],function ($, Marked) { - var DiffDOM = window.diffDOM; - - var renderer = new Marked.Renderer(); - + '/common/diffMarked.js', +],function ($, DiffMd) { + // Tasks list var checkedTaskItemPtn = /^\s*\[x\]\s*/; var uncheckedTaskItemPtn = /^\s*\[ \]\s*/; - renderer.listitem = function (text) { + DiffMd.renderer.listitem = function (text) { var isCheckedTaskItem = checkedTaskItemPtn.test(text); var isUncheckedTaskItem = uncheckedTaskItemPtn.test(text); if (isCheckedTaskItem) { @@ -24,10 +20,6 @@ define([ return '<li'+ cls + '>' + text + '</li>\n'; }; - Marked.setOptions({ - renderer: renderer - }); - var Slide = { index: 0, lastIndex: 0, @@ -63,78 +55,6 @@ define([ } }; - var forbiddenTags = Slide.forbiddenTags = [ - 'SCRIPT', - 'IFRAME', - 'OBJECT', - 'APPLET', - 'VIDEO', - 'AUDIO', - ]; - var unsafeTag = function (info) { - if (['addAttribute', 'modifyAttribute'].indexOf(info.diff.action) !== -1) { - if (/^on/.test(info.diff.name)) { - console.log("Rejecting forbidden element attribute with name", info.diff.name); - return true; - } - } - if (['addElement', 'replaceElement'].indexOf(info.diff.action) !== -1) { - var msg = "Rejecting forbidden tag of type (%s)"; - if (info.diff.element && forbiddenTags.indexOf(info.diff.element.nodeName) !== -1) { - console.log(msg, info.diff.element.nodeName); - return true; - } else if (info.diff.newValue && forbiddenTags.indexOf(info.diff.newValue.nodeName) !== -1) { - console.log("Replacing restricted element type (%s) with PRE", info.diff.newValue.nodeName); - info.diff.newValue.nodeName = 'PRE'; - } - } - }; - - var domFromHTML = Slide.domFromHTML = function (html) { - return new DOMParser().parseFromString(html, "text/html"); - }; - - var DD = new DiffDOM({ - preDiffApply: function (info) { - if (unsafeTag(info)) { return true; } - } - }); - - var makeDiff = function (A, B) { - var Err; - var Els = [A, B].map(function (frag) { - if (typeof(frag) === 'object') { - if (!frag || (frag && !frag.body)) { - Err = "No body"; - return; - } - var els = frag.body.querySelectorAll('#content'); - if (els.length) { - return els[0]; - } - } - Err = 'No candidate found'; - }); - if (Err) { return Err; } - var patch = DD.diff(Els[0], Els[1]); - return patch; - }; - - var slice = function (coll) { - return Array.prototype.slice.call(coll); - }; - - /* remove listeners from the DOM */ - var removeListeners = function (root) { - slice(root.attributes).map(function (attr) { - if (/^on/.test(attr.name)) { - root.attributes.removeNamedItem(attr.name); - } - }); - // all the way down - slice(root.children).forEach(removeListeners); - }; - var updateFontSize = Slide.updateFontSize = function() { // 20vh // 20 * 16 / 9vw @@ -157,17 +77,10 @@ define([ if (typeof(Slide.content) !== 'string') { return; } var c = Slide.content; - var m = '<span class="slide-container"><span class="'+slideClass+'">'+Marked(c).replace(separatorReg, '</span></span><span class="slide-container"><span class="'+slideClass+'">')+'</span></span>'; + var m = '<span class="slide-container"><span class="'+slideClass+'">'+DiffMd.render(c).replace(separatorReg, '</span></span><span class="slide-container"><span class="'+slideClass+'">')+'</span></span>'; - var Dom = domFromHTML('<div id="content">' + m + '</div>'); - removeListeners(Dom.body); - var patch = makeDiff(domFromHTML($content[0].outerHTML), Dom); + DiffMd.apply(m, $content); - if (typeof(patch) === 'string') { - $content.html(m); - } else { - DD.apply($content[0], patch); - } var length = getNumberOfSlides(); $modal.find('style.slideStyle').remove(); if (options.style && Slide.shown) { @@ -185,7 +98,7 @@ define([ } }); $content.removeClass('transition'); - if (options.transition) { + if (options.transition || typeof(options.transition) === "undefined") { $content.addClass('transition'); } //$content.find('.' + slideClass).hide(); From 7befaccd88ba38240620041600cd4c69563a3de3 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 12:36:12 +0200 Subject: [PATCH 086/236] move more rpc calls into pinpad --- www/common/cryptpad-common.js | 15 +++++++++++++++ www/common/pinpad.js | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 2504efea8..14f0a8b66 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -779,6 +779,21 @@ define([ common.getPinnedUsage(todo); }; + common.uploadComplete = function (cb) { + if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } + rpc.uploadComplete(cb); + }; + + common.uploadStatus = function (size, cb) { + if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } + rpc.uploadStatus(size, cb); + }; + + common.uploadCancel = function (cb) { + if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } + rpc.uploadCancel(cb); + }; + var LIMIT_REFRESH_RATE = 30000; // milliseconds common.createUsageBar = function (cb, alwaysDisplayUpgrade) { var todo = function (err, state, data) { diff --git a/www/common/pinpad.js b/www/common/pinpad.js index 5fe0b2b8e..c0b057cf8 100644 --- a/www/common/pinpad.js +++ b/www/common/pinpad.js @@ -144,6 +144,40 @@ define([ }); }; + exp.uploadComplete = function (cb) { + rpc.send('UPLOAD_COMPLETE', null, function (e, res) { + if (e) { return void cb(e); } + var id = res[0]; + if (typeof(id) !== 'string') { + return void cb('INVALID_ID'); + } + cb(void 0, id); + }); + }; + + exp.uploadStatus = function (size, cb) { + if (typeof(size) !== 'number') { + return void window.setTimeout(function () { + cb('INVALID_SIZE'); + }); + } + rpc.send('UPLOAD_STATUS', size, function (e, res) { + if (e) { return void cb(e); } + var pending = res[0]; + if (typeof(pending) !== 'boolean') { + return void cb('INVALID_RESPONSE'); + } + cb(void 0, pending); + }); + }; + + exp.uploadCancel = function (cb) { + rpc.send('UPLOAD_CANCEL', void 0, function (e, res) { + if (e) { return void cb(e); } + cb(); + }); + }; + cb(e, exp); }); }; From 80479fdc902e7a16c45f09db13e93a8969c3ec69 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 12:44:16 +0200 Subject: [PATCH 087/236] use rpc calls from cryptpad common --- www/file/main.js | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/www/file/main.js b/www/file/main.js index 2f75edb9a..41b8230e3 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -65,9 +65,8 @@ define([ } // if not box then done - Cryptpad.rpc.send('UPLOAD_COMPLETE', '', function (e, res) { + Cryptpad.uploadComplete(function (e, id) { if (e) { return void console.error(e); } - var id = res[0]; var uri = ['', 'blob', id.slice(0,2), id].join('/'); console.log("encrypted blob is now available as %s", uri); @@ -78,32 +77,28 @@ define([ APP.toolbar.addElement(['fileshare'], {}); - // check if the uploaded file can be decrypted - var newU8 = FileCrypto.joinChunks(chunks); - FileCrypto.decrypt(newU8, key, function (e, res) { - if (e) { return console.error(e); } - var title = document.title = res.metadata.name; - myFile = res.content; - myDataType = res.metadata.type; - - var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href)); - Title.updateTitle(title || defaultName); - APP.toolbar.title.show(); - Cryptpad.alert(Messages._getKey('upload_success', [title])); - }); + var title = document.title = metadata.name; + myFile = blob; + myDataType = metadata.type; + var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href)); + Title.updateTitle(title || defaultName); + APP.toolbar.title.show(); + console.log(title); + Cryptpad.alert(Messages._getKey('upload_success', [title])); }); }; - Cryptpad.rpc.send('UPLOAD_STATUS', estimate, function (e, pending) { + Cryptpad.uploadStatus(estimate, function (e, pending) { if (e) { console.error(e); return void Cryptpad.alert(Messages.upload_serverError); } - if (pending[0]) { + if (pending) { + // TODO queue uploads... ? return void Cryptpad.confirm(Messages.upload_uploadPending, function (yes) { if (!yes) { return; } - Cryptpad.rpc.send('UPLOAD_CANCEL', '', function (e, res) { + Cryptpad.uploadCancel(function (e, res) { if (e) { return void console.error(e); } console.log(res); next(again); From df1433b53fbaecf0318e98cd3e0fe01d55d3c26f Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 12:45:40 +0200 Subject: [PATCH 088/236] don't pin if users don't have space. better validation of rpc calls --- rpc.js | 248 +++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 153 insertions(+), 95 deletions(-) diff --git a/rpc.js b/rpc.js index 3902245a7..e2f62230b 100644 --- a/rpc.js +++ b/rpc.js @@ -366,15 +366,105 @@ var getHash = function (Env, publicKey, cb) { }); }; -// TODO check if new pinned size exceeds user quota -var pinChannel = function (Env, publicKey, channels, cb) { - var pinStore = Env.pinStore; +// The limits object contains storage limits for all the publicKey that have paid +// To each key is associated an object containing the 'limit' value and a 'note' explaining that limit +var limits = {}; +var updateLimits = function (config, publicKey, cb) { + if (typeof cb !== "function") { cb = function () {}; } + var defaultLimit = typeof(config.defaultStorageLimit) === 'number'? + config.defaultStorageLimit: DEFAULT_LIMIT; + + var body = JSON.stringify({ + domain: config.domain, + subdomain: config.subdomain + }); + var options = { + host: 'accounts.cryptpad.fr', + path: '/api/getauthorized', + method: 'POST', + headers: { + "Content-Type": "application/json", + "Content-Length": Buffer.byteLength(body) + } + }; + var req = Https.request(options, function (response) { + if (!('' + response.statusCode).match(/^2\d\d$/)) { + return void cb('SERVER ERROR ' + response.statusCode); + } + var str = ''; + + response.on('data', function (chunk) { + str += chunk; + }); + + response.on('end', function () { + try { + var json = JSON.parse(str); + limits = json; + var l; + if (publicKey) { + var limit = limits[publicKey]; + l = limit && typeof limit.limit === "number" ? + [limit.limit, limit.plan] : [defaultLimit, '']; + } + cb(void 0, l); + } catch (e) { + cb(e); + } + }); + }); + + req.on('error', function (e) { + if (!config.domain) { return cb(); } + cb(e); + }); + + req.end(body); +}; + +var getLimit = function (Env, publicKey, cb) { + var unescapedKey = unescapeKeyCharacters(publicKey); + var limit = limits[unescapedKey]; + var defaultLimit = typeof(Env.defaultStorageLimit) === 'number'? + Env.defaultStorageLimit: DEFAULT_LIMIT; + + var toSend = limit && typeof(limit.limit) === "number"? + [limit.limit, limit.plan] : [defaultLimit, '']; + + cb(void 0, toSend); +}; + +var getFreeSpace = function (Env, publicKey, cb) { + getLimit(Env, publicKey, function (e, limit) { + if (e) { return void cb(e); } + getTotalSize(Env, publicKey, function (e, size) { + if (e) { return void cb(e); } + + var rem = limit[0] - size; + if (typeof(rem) !== 'number') { + return void cb('invalid_response'); + } + cb(void 0, rem); + }); + }); +}; + +var sumChannelSizes = function (sizes) { + return Object.keys(sizes).map(function (id) { return sizes[id]; }) + .filter(function (x) { + // only allow positive numbers + return !(typeof(x) !== 'number' || x <= 0); + }) + .reduce(function (a, b) { return a + b; }); +}; + +var pinChannel = function (Env, publicKey, channels, cb) { if (!channels && channels.filter) { - // expected array return void cb('[TYPE_ERROR] pin expects channel list argument'); } + // get channel list ensures your session has a cached channel list getChannelList(Env, publicKey, function (pinned) { var session = beginSession(Env.Sessions, publicKey); @@ -387,13 +477,26 @@ var pinChannel = function (Env, publicKey, channels, cb) { return void getHash(Env, publicKey, cb); } - pinStore.message(publicKey, JSON.stringify(['PIN', toStore]), - function (e) { + getMultipleFileSize(Env, toStore, function (e, sizes) { if (e) { return void cb(e); } - toStore.forEach(function (channel) { - session.channels[channel] = true; + var pinSize = sumChannelSizes(sizes); + + getFreeSpace(Env, publicKey, function (e, free) { + if (e) { + console.error(e); + return void cb(e); + } + if (pinSize > free) { return void cb('E_OVER_LIMIT'); } + + Env.pinStore.message(publicKey, JSON.stringify(['PIN', toStore]), + function (e) { + if (e) { return void cb(e); } + toStore.forEach(function (channel) { + session.channels[channel] = true; + }); + getHash(Env, publicKey, cb); + }); }); - getHash(Env, publicKey, cb); }); }); }; @@ -429,22 +532,41 @@ var unpinChannel = function (Env, publicKey, channels, cb) { }); }; -// TODO check if new pinned size exceeds user quota var resetUserPins = function (Env, publicKey, channelList, cb) { + if (!Array.isArray(channelList)) { return void cb('INVALID_PIN_LIST'); } var pinStore = Env.pinStore; var session = beginSession(Env.Sessions, publicKey); + if (!channelList.length) { + return void getHash(Env, publicKey, function (e, hash) { + if (e) { return cb(e); } + cb(void 0, hash); + }); + } + var pins = session.channels = {}; - pinStore.message(publicKey, JSON.stringify(['RESET', channelList]), - function (e) { + getMultipleFileSize(Env, channelList, function (e, sizes) { if (e) { return void cb(e); } - channelList.forEach(function (channel) { - pins[channel] = true; - }); + var pinSize = sumChannelSizes(sizes); - getHash(Env, publicKey, function (e, hash) { - cb(e, hash); + getFreeSpace(Env, publicKey, function (e, free) { + if (e) { + console.error(e); + return void cb(e); + } + if (pinSize > free) { return void(cb('E_OVER_LIMIT')); } + pinStore.message(publicKey, JSON.stringify(['RESET', channelList]), + function (e) { + if (e) { return void cb(e); } + channelList.forEach(function (channel) { + pins[channel] = true; + }); + + getHash(Env, publicKey, function (e, hash) { + cb(e, hash); + }); + }); }); }); }; @@ -472,71 +594,6 @@ var isPrivilegedUser = function (publicKey, cb) { cb(list.indexOf(publicKey) !== -1); }); }; - -// The limits object contains storage limits for all the publicKey that have paid -// To each key is associated an object containing the 'limit' value and a 'note' explaining that limit -var limits = {}; -var updateLimits = function (config, publicKey, cb) { - if (typeof cb !== "function") { cb = function () {}; } - - var body = JSON.stringify({ - domain: config.domain, - subdomain: config.subdomain - }); - var options = { - host: 'accounts.cryptpad.fr', - path: '/api/getauthorized', - method: 'POST', - headers: { - "Content-Type": "application/json", - "Content-Length": Buffer.byteLength(body) - } - }; - var req = Https.request(options, function (response) { - if (!('' + response.statusCode).match(/^2\d\d$/)) { - return void cb('SERVER ERROR ' + response.statusCode); - } - var str = ''; - - response.on('data', function (chunk) { - str += chunk; - }); - - response.on('end', function () { - try { - var json = JSON.parse(str); - limits = json; - var l; - if (publicKey) { - var limit = limits[publicKey]; - l = limit && typeof limit.limit === "number" ? - [limit.limit, limit.plan] : [DEFAULT_LIMIT, '']; - } - cb(void 0, l); - } catch (e) { - cb(e); - } - }); - }); - - req.on('error', function (e) { - if (!config.domain) { return cb(); } - cb(e); - }); - - req.end(body); -}; - -var getLimit = function (publicKey, cb) { - var unescapedKey = unescapeKeyCharacters(publicKey); - var limit = limits[unescapedKey]; - - var toSend = limit && typeof(limit.limit) === "number"? - [limit.limit, limit.plan] : [DEFAULT_LIMIT, '']; - - cb(void 0, toSend); -}; - var safeMkdir = function (path, cb) { Fs.mkdir(path, function (e) { if (!e || e.code === 'EEXIST') { return void cb(); } @@ -680,17 +737,15 @@ var upload_status = function (Env, publicKey, filesize, cb) { var filePath = makeFilePath(paths.staging, publicKey); if (!filePath) { return void cb('E_INVALID_PATH'); } - getLimit(publicKey, function (e, limit) { + getFreeSpace(Env, publicKey, function (e, free) { if (e) { return void cb(e); } - getTotalSize(Env, publicKey, function (e, size) { - if ((filesize + size) >= limit) { return cb('TOO_LARGE'); } - isFile(filePath, function (e, yes) { - if (e) { - console.error("uploadError: [%s]", e); - return cb('UNNOWN_ERROR'); - } - cb(e, yes); - }); + if (filesize >= free) { return cb('TOO_LARGE'); } + isFile(filePath, function (e, yes) { + if (e) { + console.error("uploadError: [%s]", e); + return cb('UNNOWN_ERROR'); + } + cb(e, yes); }); }); }; @@ -705,6 +760,10 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) }; var Env = {}; + Env.defaultStorageLimit = config.defaultStorageLimit; + + Env.maxUploadSize = config.maxUploadSize || (20 * 1024 * 1024); + var Sessions = Env.Sessions = {}; var paths = Env.paths = {}; @@ -791,8 +850,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) return resetUserPins(Env, safeKey, msg[1], function (e, hash) { return void Respond(e, hash); }); - case 'PIN': // TODO don't pin if over the limit - // if over, send error E_OVER_LIMIT + case 'PIN': return pinChannel(Env, safeKey, msg[1], function (e, hash) { Respond(e, hash); }); @@ -817,7 +875,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) Respond(void 0, limit); }); case 'GET_LIMIT': - return void getLimit(safeKey, function (e, limit) { + return void getLimit(Env, safeKey, function (e, limit) { if (e) { return void Respond(e); } Respond(void 0, limit); }); From 4debec39bb8ca6e4948d9cc836372c3dcbd0d085 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 12:58:49 +0200 Subject: [PATCH 089/236] update footer with next release codename and corrected matrix link --- customize.dist/about.html | 4 ++-- customize.dist/contact.html | 4 ++-- customize.dist/index.html | 4 ++-- customize.dist/privacy.html | 4 ++-- customize.dist/src/fragments/footer.html | 4 ++-- customize.dist/terms.html | 4 ++-- www/settings/index.html | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/customize.dist/about.html b/customize.dist/about.html index b0b719033..044343a24 100644 --- a/customize.dist/about.html +++ b/customize.dist/about.html @@ -106,7 +106,7 @@ <div class="col"> <ul class="list-unstyled"> <li class="title" data-localization="footer_contact"><li> - <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> + <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li> <li><a href="/contact.html">Email</a></li> @@ -114,7 +114,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div> + <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> </footer> </body> diff --git a/customize.dist/contact.html b/customize.dist/contact.html index aa81fac60..70dbf9083 100644 --- a/customize.dist/contact.html +++ b/customize.dist/contact.html @@ -103,7 +103,7 @@ <div class="col"> <ul class="list-unstyled"> <li class="title" data-localization="footer_contact"><li> - <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> + <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li> <li><a href="/contact.html">Email</a></li> @@ -111,7 +111,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div> + <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> </footer> </body> diff --git a/customize.dist/index.html b/customize.dist/index.html index d246d84d0..420d3664a 100644 --- a/customize.dist/index.html +++ b/customize.dist/index.html @@ -225,7 +225,7 @@ <div class="col"> <ul class="list-unstyled"> <li class="title" data-localization="footer_contact"><li> - <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> + <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li> <li><a href="/contact.html">Email</a></li> @@ -233,7 +233,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div> + <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> </footer> </body> diff --git a/customize.dist/privacy.html b/customize.dist/privacy.html index 00a266236..345bac0f1 100644 --- a/customize.dist/privacy.html +++ b/customize.dist/privacy.html @@ -124,7 +124,7 @@ <div class="col"> <ul class="list-unstyled"> <li class="title" data-localization="footer_contact"><li> - <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> + <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li> <li><a href="/contact.html">Email</a></li> @@ -132,7 +132,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div> + <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> </footer> </body> diff --git a/customize.dist/src/fragments/footer.html b/customize.dist/src/fragments/footer.html index 4cf4b101d..68f4c4610 100644 --- a/customize.dist/src/fragments/footer.html +++ b/customize.dist/src/fragments/footer.html @@ -31,7 +31,7 @@ <div class="col"> <ul class="list-unstyled"> <li class="title" data-localization="footer_contact"><li> - <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> + <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li> <li><a href="/contact.html">Email</a></li> @@ -39,5 +39,5 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div> + <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> </footer> diff --git a/customize.dist/terms.html b/customize.dist/terms.html index 68eb51599..e652f6aa4 100644 --- a/customize.dist/terms.html +++ b/customize.dist/terms.html @@ -107,7 +107,7 @@ <div class="col"> <ul class="list-unstyled"> <li class="title" data-localization="footer_contact"><li> - <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> + <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li> <li><a href="/contact.html">Email</a></li> @@ -115,7 +115,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div> + <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> </footer> </body> diff --git a/www/settings/index.html b/www/settings/index.html index 752d04468..3fde61f4a 100644 --- a/www/settings/index.html +++ b/www/settings/index.html @@ -97,7 +97,7 @@ <div class="col"> <ul class="list-unstyled"> <li class="title" data-localization="footer_contact"><li> - <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> + <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li> <li><a href="/contact.html">Email</a></li> @@ -105,7 +105,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div> + <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> </footer> </body> From d13dde856a7f4e400d64611f5efea64a9d446934 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 18 May 2017 14:26:56 +0200 Subject: [PATCH 090/236] Add the markdown renderer file and change code's default content --- customize.dist/translations/messages.fr.js | 9 +- customize.dist/translations/messages.js | 9 +- www/common/diffMarked.js | 109 +++++++++++++++++++++ 3 files changed, 117 insertions(+), 10 deletions(-) create mode 100644 www/common/diffMarked.js diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index e719a44d9..24fff7a37 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -436,11 +436,10 @@ define(function () { ].join(''); out.codeInitialState = [ - '/*\n', - ' Voici l\'éditeur de code collaboratif et Zero Knowledge de CryptPad.\n', - ' Ce que vous tapez ici est chiffré de manière que seules les personnes avec le lien peuvent y accéder.\n', - ' Vous pouvez choisir le langage de programmation pour la coloration syntaxique, ainsi que le thème de couleurs, dans le coin supérieur droit.\n', - '*/' + '# Éditeur de code collaboratif et Zero Knowledge de CryptPad\n', + '\n', + '* Ce que vous tapez ici est chiffré de manière que seules les personnes avec le lien peuvent y accéder.\n', + '* Vous pouvez choisir le langage de programmation pour la coloration syntaxique, ainsi que le thème de couleurs, dans le coin supérieur droit.' ].join(''); out.slideInitialState = [ diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 10efcb2df..c357cb557 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -450,11 +450,10 @@ define(function () { ].join(''); out.codeInitialState = [ - '/*\n', - ' This is the CryptPad Zero Knowledge collaborative code editor.\n', - ' What you type here is encrypted so only people who have the link can access it.\n', - ' You can choose the programming language to highlight and the UI color scheme in the upper right.\n', - '*/' + '# CryptPad\'s Zero Knowledge collaborative code editor\n', + '\n', + '* What you type here is encrypted so only people who have the link can access it.\n', + '* You can choose the programming language to highlight and the UI color scheme in the upper right.' ].join(''); out.slideInitialState = [ diff --git a/www/common/diffMarked.js b/www/common/diffMarked.js new file mode 100644 index 000000000..b3cc5fe1e --- /dev/null +++ b/www/common/diffMarked.js @@ -0,0 +1,109 @@ +define([ + 'jquery', + '/bower_components/marked/marked.min.js', + '/bower_components/diff-dom/diffDOM.js' +],function ($, Marked) { + var DiffMd = {} + + var DiffDOM = window.diffDOM; + var renderer = DiffMd.renderer = new Marked.Renderer(); + + Marked.setOptions({ + renderer: renderer + }); + + DiffMd.render = function (md) { + return Marked(md); + }; + + var forbiddenTags = [ + 'SCRIPT', + 'IFRAME', + 'OBJECT', + 'APPLET', + 'VIDEO', + 'AUDIO', + ]; + var unsafeTag = function (info) { + if (['addAttribute', 'modifyAttribute'].indexOf(info.diff.action) !== -1) { + if (/^on/.test(info.diff.name)) { + console.log("Rejecting forbidden element attribute with name", info.diff.name); + return true; + } + } + if (['addElement', 'replaceElement'].indexOf(info.diff.action) !== -1) { + var msg = "Rejecting forbidden tag of type (%s)"; + if (info.diff.element && forbiddenTags.indexOf(info.diff.element.nodeName) !== -1) { + console.log(msg, info.diff.element.nodeName); + return true; + } else if (info.diff.newValue && forbiddenTags.indexOf(info.diff.newValue.nodeName) !== -1) { + console.log("Replacing restricted element type (%s) with PRE", info.diff.newValue.nodeName); + info.diff.newValue.nodeName = 'PRE'; + } + } + }; + + var slice = function (coll) { + return Array.prototype.slice.call(coll); + }; + + /* remove listeners from the DOM */ + var removeListeners = function (root) { + slice(root.attributes).map(function (attr) { + if (/^on/.test(attr.name)) { + root.attributes.removeNamedItem(attr.name); + } + }); + // all the way down + slice(root.children).forEach(removeListeners); + }; + + var domFromHTML = function (html) { + var Dom = new DOMParser().parseFromString(html, "text/html"); + removeListeners(Dom.body); + return Dom; + }; + + var DD = new DiffDOM({ + preDiffApply: function (info) { + if (unsafeTag(info)) { return true; } + } + }); + + var makeDiff = function (A, B, id) { + var Err; + var Els = [A, B].map(function (frag) { + if (typeof(frag) === 'object') { + if (!frag || (frag && !frag.body)) { + Err = "No body"; + return; + } + var els = frag.body.querySelectorAll('#'+id); + if (els.length) { + return els[0]; + } + } + Err = 'No candidate found'; + }); + if (Err) { return Err; } + var patch = DD.diff(Els[0], Els[1]); + return patch; + }; + + var apply = DiffMd.apply = function (newHtml, $content) { + var id = $content.attr('id'); + if (!id) { throw new Error("The element must have a valid id"); } + var $div = $('<div>', {id: id}).append(newHtml); + var Dom = domFromHTML($('<div>').append($div).html()); + var oldDom = domFromHTML($content[0].outerHTML); + var patch = makeDiff(oldDom, Dom, id); + if (typeof(patch) === 'string') { + throw new Error(patch); + } else { + DD.apply($content[0], patch); + } + }; + + return DiffMd; +}); + From 3ba94a1ba24ad8709a200abcf8451bdeac2c67a1 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 14:54:02 +0200 Subject: [PATCH 091/236] correctly set release version number --- customize.dist/about.html | 2 +- customize.dist/contact.html | 2 +- customize.dist/index.html | 2 +- customize.dist/privacy.html | 2 +- customize.dist/src/fragments/footer.html | 2 +- customize.dist/terms.html | 2 +- package.json | 2 +- www/settings/index.html | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/customize.dist/about.html b/customize.dist/about.html index 044343a24..954a3fb6f 100644 --- a/customize.dist/about.html +++ b/customize.dist/about.html @@ -114,7 +114,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> </footer> </body> diff --git a/customize.dist/contact.html b/customize.dist/contact.html index 70dbf9083..5d43d15a5 100644 --- a/customize.dist/contact.html +++ b/customize.dist/contact.html @@ -111,7 +111,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> </footer> </body> diff --git a/customize.dist/index.html b/customize.dist/index.html index 420d3664a..a1b1fe56b 100644 --- a/customize.dist/index.html +++ b/customize.dist/index.html @@ -233,7 +233,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> </footer> </body> diff --git a/customize.dist/privacy.html b/customize.dist/privacy.html index 345bac0f1..35bab1958 100644 --- a/customize.dist/privacy.html +++ b/customize.dist/privacy.html @@ -132,7 +132,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> </footer> </body> diff --git a/customize.dist/src/fragments/footer.html b/customize.dist/src/fragments/footer.html index 68f4c4610..55b332a0f 100644 --- a/customize.dist/src/fragments/footer.html +++ b/customize.dist/src/fragments/footer.html @@ -39,5 +39,5 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> </footer> diff --git a/customize.dist/terms.html b/customize.dist/terms.html index e652f6aa4..2504b1147 100644 --- a/customize.dist/terms.html +++ b/customize.dist/terms.html @@ -115,7 +115,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> </footer> </body> diff --git a/package.json b/package.json index 75a4fbb11..dd089605c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "cryptpad", "description": "realtime collaborative visual editor with zero knowlege server", - "version": "1.8.0", + "version": "1.7.0", "dependencies": { "chainpad-server": "^1.0.1", "express": "~4.10.1", diff --git a/www/settings/index.html b/www/settings/index.html index 3fde61f4a..f6ab459c9 100644 --- a/www/settings/index.html +++ b/www/settings/index.html @@ -105,7 +105,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.6.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> </footer> </body> From d187945e94afc229eb211287291f1a10c7348e95 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 14:55:16 +0200 Subject: [PATCH 092/236] jshint compliance --- www/common/common-hash.js | 6 +++--- www/common/diffMarked.js | 4 ++-- www/common/pinpad.js | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/www/common/common-hash.js b/www/common/common-hash.js index 9e72bcdeb..5de76ab99 100644 --- a/www/common/common-hash.js +++ b/www/common/common-hash.js @@ -103,10 +103,10 @@ Version 1 if (!href) { return ret; } if (href.slice(-1) !== '/') { href += '/'; } - + var idx; if (!/^https*:\/\//.test(href)) { - var idx = href.indexOf('/#'); + idx = href.indexOf('/#'); ret.type = href.slice(1, idx); ret.hash = href.slice(idx + 2); ret.hashData = parseTypeHash(ret.type, ret.hash); @@ -118,7 +118,7 @@ Version 1 ret.type = type; return ''; }); - var idx = href.indexOf('/#'); + idx = href.indexOf('/#'); ret.hash = href.slice(idx + 2); ret.hashData = parseTypeHash(ret.type, ret.hash); return ret; diff --git a/www/common/diffMarked.js b/www/common/diffMarked.js index b3cc5fe1e..2de647e86 100644 --- a/www/common/diffMarked.js +++ b/www/common/diffMarked.js @@ -3,7 +3,7 @@ define([ '/bower_components/marked/marked.min.js', '/bower_components/diff-dom/diffDOM.js' ],function ($, Marked) { - var DiffMd = {} + var DiffMd = {}; var DiffDOM = window.diffDOM; var renderer = DiffMd.renderer = new Marked.Renderer(); @@ -90,7 +90,7 @@ define([ return patch; }; - var apply = DiffMd.apply = function (newHtml, $content) { + DiffMd.apply = function (newHtml, $content) { var id = $content.attr('id'); if (!id) { throw new Error("The element must have a valid id"); } var $div = $('<div>', {id: id}).append(newHtml); diff --git a/www/common/pinpad.js b/www/common/pinpad.js index c0b057cf8..b14a5bac0 100644 --- a/www/common/pinpad.js +++ b/www/common/pinpad.js @@ -172,7 +172,7 @@ define([ }; exp.uploadCancel = function (cb) { - rpc.send('UPLOAD_CANCEL', void 0, function (e, res) { + rpc.send('UPLOAD_CANCEL', void 0, function (e) { if (e) { return void cb(e); } cb(); }); From 0bd4caeb7e83e7399affe107c07ba2f259eabb99 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 18 May 2017 14:57:04 +0200 Subject: [PATCH 093/236] Add the task list code to the markdown renderer --- www/code/inner.html | 5 +++++ www/code/main.js | 48 ++++++++++++++++++++++++---------------- www/common/diffMarked.js | 20 ++++++++++++++++- www/slide/slide.js | 17 -------------- 4 files changed, 53 insertions(+), 37 deletions(-) diff --git a/www/code/inner.html b/www/code/inner.html index 8dd02548a..36d5911ee 100644 --- a/www/code/inner.html +++ b/www/code/inner.html @@ -55,6 +55,11 @@ max-width: 80%; resize: horizontal; } + .CodeMirror.fullPage { + min-width: 100%; + max-width: 100%; + resize: none; + } .CodeMirror-focused .cm-matchhighlight { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); background-position: bottom; diff --git a/www/code/main.js b/www/code/main.js index 04e20141a..a1261b8ce 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -13,14 +13,14 @@ define([ Cryptget, DiffMd) { var Messages = Cryptpad.Messages; - var module = window.APP = { + var APP = window.APP = { Cryptpad: Cryptpad, }; $(function () { Cryptpad.addLoadingScreen(); - var ifrw = module.ifrw = $('#pad-iframe')[0].contentWindow; + var ifrw = APP.ifrw = $('#pad-iframe')[0].contentWindow; var stringify = function (obj) { return JSONSortify(obj); }; @@ -28,6 +28,7 @@ define([ var toolbar; var editor; var $iframe = $('#pad-iframe').contents(); + var $previewContainer = $iframe.find('#previewContainer'); var $preview = $iframe.find('#preview'); $preview.click(function (e) { if (!e.target) { return; } @@ -58,7 +59,7 @@ define([ var isHistoryMode = false; - var setEditable = module.setEditable = function (bool) { + var setEditable = APP.setEditable = function (bool) { if (readOnly && bool) { return; } editor.setOption('readOnly', !bool); }; @@ -121,21 +122,24 @@ define([ var textValue = canonicalize(CodeMirror.$textarea.val()); var shjson = stringifyInner(textValue); - module.patchText(shjson); + APP.patchText(shjson); - if (module.realtime.getUserDoc() !== shjson) { + if (APP.realtime.getUserDoc() !== shjson) { console.error("realtime.getUserDoc() !== shjson"); } }; var onModeChanged = function (mode) { - if (mode === "markdown") { + var $codeMirror = $iframe.find('.CodeMirror'); + if (mode === "markdown") { APP.$previewButton.show(); - $preview.show(); + $previewContainer.show(); + $codeMirror.removeClass('fullPage'); return; } APP.$previewButton.hide(); - $preview.hide(); + $previewContainer.hide(); + $codeMirror.addClass('fullPage'); }; config.onInit = function (info) { @@ -161,7 +165,7 @@ define([ network: info.network, $container: $bar }; - toolbar = module.toolbar = Toolbar.create(configTb); + toolbar = APP.toolbar = Toolbar.create(configTb); Title.setToolbar(toolbar); CodeMirror.init(config.onLocal, Title, toolbar); @@ -221,10 +225,16 @@ define([ $previewButton.removeClass('fa-question').addClass('fa-eye'); $previewButton.attr('title', 'TODO Preview'); //TODO $previewButton.click(function () { + var $codeMirror = $iframe.find('.CodeMirror'); if (CodeMirror.highlightMode !== 'markdown') { - return void $preview.hide(); + $previewContainer.show(); + } + $previewContainer.toggle(); + if ($previewContainer.is(':visible')) { + $codeMirror.removeClass('fullPage'); + } else { + $codeMirror.addClass('fullPage'); } - $preview.toggle(); }); $rightside.append($previewButton); @@ -240,15 +250,15 @@ define([ }; config.onReady = function (info) { - if (module.realtime !== info.realtime) { - var realtime = module.realtime = info.realtime; - module.patchText = TextPatcher.create({ + if (APP.realtime !== info.realtime) { + var realtime = APP.realtime = info.realtime; + APP.patchText = TextPatcher.create({ realtime: realtime, //logging: true }); } - var userDoc = module.realtime.getUserDoc(); + var userDoc = APP.realtime.getUserDoc(); var isNew = false; if (userDoc === "" || userDoc === "{}") { isNew = true; } @@ -301,7 +311,7 @@ define([ if (isHistoryMode) { return; } var oldDoc = canonicalize(CodeMirror.$textarea.val()); - var shjson = module.realtime.getUserDoc(); + var shjson = APP.realtime.getUserDoc(); // Update the user list (metadata) from the hyperjson Metadata.update(shjson); @@ -312,7 +322,7 @@ define([ DiffMd.apply(DiffMd.render(remoteDoc), $preview); var highlightMode = hjson.highlightMode; - if (highlightMode && highlightMode !== module.highlightMode) { + if (highlightMode && highlightMode !== APP.highlightMode) { CodeMirror.setMode(highlightMode, onModeChanged); } @@ -324,7 +334,7 @@ define([ if (shjson2 !== shjson) { console.error("shjson2 !== shjson"); TextPatcher.log(shjson, TextPatcher.diff(shjson, shjson2)); - module.patchText(shjson2); + APP.patchText(shjson2); } } if (oldDoc !== remoteDoc) { Cryptpad.notify(); } @@ -351,7 +361,7 @@ define([ config.onError = onConnectError; - module.realtime = Realtime.start(config); + APP.realtime = Realtime.start(config); editor.on('change', onLocal); diff --git a/www/common/diffMarked.js b/www/common/diffMarked.js index b3cc5fe1e..c73dfd072 100644 --- a/www/common/diffMarked.js +++ b/www/common/diffMarked.js @@ -6,7 +6,7 @@ define([ var DiffMd = {} var DiffDOM = window.diffDOM; - var renderer = DiffMd.renderer = new Marked.Renderer(); + var renderer = new Marked.Renderer(); Marked.setOptions({ renderer: renderer @@ -16,6 +16,24 @@ define([ return Marked(md); }; + // Tasks list + var checkedTaskItemPtn = /^\s*\[x\]\s*/; + var uncheckedTaskItemPtn = /^\s*\[ \]\s*/; + renderer.listitem = function (text) { + var isCheckedTaskItem = checkedTaskItemPtn.test(text); + var isUncheckedTaskItem = uncheckedTaskItemPtn.test(text); + if (isCheckedTaskItem) { + text = text.replace(checkedTaskItemPtn, + '<i class="fa fa-check-square" aria-hidden="true"></i> ') + '\n'; + } + if (isUncheckedTaskItem) { + text = text.replace(uncheckedTaskItemPtn, + '<i class="fa fa-square-o" aria-hidden="true"></i> ') + '\n'; + } + var cls = (isCheckedTaskItem || isUncheckedTaskItem) ? ' class="todo-list-item"' : ''; + return '<li'+ cls + '>' + text + '</li>\n'; + }; + var forbiddenTags = [ 'SCRIPT', 'IFRAME', diff --git a/www/slide/slide.js b/www/slide/slide.js index 108a8848a..9f919ecfa 100644 --- a/www/slide/slide.js +++ b/www/slide/slide.js @@ -2,23 +2,6 @@ define([ 'jquery', '/common/diffMarked.js', ],function ($, DiffMd) { - // Tasks list - var checkedTaskItemPtn = /^\s*\[x\]\s*/; - var uncheckedTaskItemPtn = /^\s*\[ \]\s*/; - DiffMd.renderer.listitem = function (text) { - var isCheckedTaskItem = checkedTaskItemPtn.test(text); - var isUncheckedTaskItem = uncheckedTaskItemPtn.test(text); - if (isCheckedTaskItem) { - text = text.replace(checkedTaskItemPtn, - '<i class="fa fa-check-square" aria-hidden="true"></i> ') + '\n'; - } - if (isUncheckedTaskItem) { - text = text.replace(uncheckedTaskItemPtn, - '<i class="fa fa-square-o" aria-hidden="true"></i> ') + '\n'; - } - var cls = (isCheckedTaskItem || isUncheckedTaskItem) ? ' class="todo-list-item"' : ''; - return '<li'+ cls + '>' + text + '</li>\n'; - }; var Slide = { index: 0, From 620f4dc5126f2ffc6ddaa1e66e0821420ba398a7 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 18 May 2017 15:05:37 +0200 Subject: [PATCH 094/236] Add translations for the markdown preview button title --- customize.dist/translations/messages.fr.js | 2 ++ customize.dist/translations/messages.js | 2 ++ www/code/main.js | 6 ++++-- www/common/common-codemirror.js | 5 +++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 24fff7a37..1c204e38c 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -95,6 +95,8 @@ define(function () { out.templateSaved = "Modèle enregistré !"; out.selectTemplate = "Sélectionner un modèle ou appuyer sur Échap"; + out.previewButtonTitle = "Afficher ou cacher la prévisualisation de Markdown"; + out.presentButtonTitle = "Entrer en mode présentation"; out.presentSuccess = 'Appuyer sur Échap pour quitter le mode présentation'; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index c357cb557..4b2c9f78e 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -97,6 +97,8 @@ define(function () { out.templateSaved = "Template saved!"; out.selectTemplate = "Select a template or press escape"; + out.previewButtonTitle = "Display or hide the Markdown preview mode"; + out.presentButtonTitle = "Enter presentation mode"; out.presentSuccess = 'Hit ESC to exit presentation mode'; diff --git a/www/code/main.js b/www/code/main.js index a1261b8ce..6c9fbd0e1 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -223,7 +223,7 @@ define([ var $previewButton = APP.$previewButton = Cryptpad.createButton(null, true); $previewButton.removeClass('fa-question').addClass('fa-eye'); - $previewButton.attr('title', 'TODO Preview'); //TODO + $previewButton.attr('title', Messages.previewButtonTitle); $previewButton.click(function () { var $codeMirror = $iframe.find('.CodeMirror'); if (CodeMirror.highlightMode !== 'markdown') { @@ -239,7 +239,9 @@ define([ $rightside.append($previewButton); if (!readOnly) { - CodeMirror.configureLanguage(CodeMirror.configureTheme, onModeChanged); + CodeMirror.configureTheme(function () { + CodeMirror.configureLanguage(null, onModeChanged); + }); } else { CodeMirror.configureTheme(); diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js index 4bc38cc46..429e9bd9a 100644 --- a/www/common/common-codemirror.js +++ b/www/common/common-codemirror.js @@ -158,10 +158,10 @@ define([ }); if ($rightside) { $rightside.append($block); } - cb(); + if (cb) { cb(); } }; - exp.configureTheme = function () { + exp.configureTheme = function (cb) { /* Remember the user's last choice of theme using localStorage */ var themeKey = 'CRYPTPAD_CODE_THEME'; var lastTheme = localStorage.getItem(themeKey) || 'default'; @@ -195,6 +195,7 @@ define([ }); if ($rightside) { $rightside.append($block); } + if (cb) { cb(); } }; exp.exportText = function () { From 164342920e1cea9710f72a5a45bd5bc5ee2bb05a Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 15:39:24 +0200 Subject: [PATCH 095/236] fix inverted condition --- www/common/cryptpad-common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 14f0a8b66..ac2a6f875 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -1336,7 +1336,7 @@ define([ feedback("NO_PROXIES"); } - if (!/CRYPTPAD_SHIM/.test(Array.isArray.toString())) { + if (/CRYPTPAD_SHIM/.test(Array.isArray.toString())) { feedback("NO_ISARRAY"); } From 21f9e31e75f0644172c718cd86bd75361c7ee284 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 18 May 2017 15:56:35 +0200 Subject: [PATCH 096/236] Add a placeholder for the user app --- customize.dist/src/build.js | 5 +- customize.dist/translations/messages.fr.js | 2 + customize.dist/translations/messages.js | 2 + www/user/index.html | 112 +++++++++++++++++++++ www/user/main.css | 14 +++ www/user/main.js | 63 ++++++++++++ 6 files changed, 197 insertions(+), 1 deletion(-) create mode 100644 www/user/index.html create mode 100644 www/user/main.css create mode 100644 www/user/main.js diff --git a/customize.dist/src/build.js b/customize.dist/src/build.js index c5c5c8d77..fbcc34942 100644 --- a/customize.dist/src/build.js +++ b/customize.dist/src/build.js @@ -60,7 +60,10 @@ var fragments = {}; }); // build static pages -['../www/settings/index'].forEach(function (page) { +[ + '../www/settings/index', + '../www/user/index' +].forEach(function (page) { var source = swap(template, { topbar: fragments.topbar, fork: fragments.fork, diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 1c204e38c..26cfc3129 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -52,6 +52,8 @@ define(function () { out.language = "Langue"; + out.comingSoon = "Bientôt disponible..."; + out.upgrade = "Améliorer"; out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage"; out.MB = "Mo"; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 4b2c9f78e..dcafe6283 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -54,6 +54,8 @@ define(function () { out.language = "Language"; + out.comingSoon = "Coming soon..."; + out.upgrade = "Upgrade"; out.upgradeTitle = "Upgrade your account to increase the storage limit"; out.MB = "MB"; diff --git a/www/user/index.html b/www/user/index.html new file mode 100644 index 000000000..f6ab459c9 --- /dev/null +++ b/www/user/index.html @@ -0,0 +1,112 @@ +<!DOCTYPE html> +<html class="cp"> +<!-- If this file is not called customize.dist/src/template.html, it is generated --> +<head> + <title data-localization="main_title">Cryptpad: Zero Knowledge, Collaborative Real Time Editing</title> + <meta content="text/html; charset=utf-8" http-equiv="content-type"/> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> + <link rel="stylesheet" type="text/css" href="/customize/main.css" /> + <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css"> + <link rel="icon" type="image/png" href="/customize/main-favicon.png" id="favicon"/> + <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css"> + <link rel="stylesheet" type="text/css" href="main.css" /> + <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script> + +</head> +<body class="html"> + <div id="cryptpadTopBar"> + <span> + <a class="gotoMain" href="/"> + <img src="/customize/cryptofist_mini.png" class="cryptpad-logo" alt="" /> CryptPad + </a> + </span> + + <!--<span class="slogan" data-localization="main_slogan"></span>--> + + <span id="user-menu" class="right dropdown-bar"></span> + <span id="language-selector" class="right dropdown-bar"></span> + <span class="link right"> + <a href="/about.html" data-localization="about">About</a> + </span> + <span class="link right"> + <a href="/privacy.html" data-localization="privacy">Privacy</a> + </span> + <span class="link right"> + <a href="/terms.html" data-localization="terms">ToS</a> + </span> + <span class="link right"> + <a href="/contact.html" data-localization="contact">Contact</a> + </span> + <span class="link right"> + <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> + </span> +</div> + + + <noscript> + <div id="noscriptContainer"> + <div class="mainOverlay"></div> + <div id="noscript"> + <p> + <strong>OOPS</strong> In order to do encryption in your browser, Javascript is really <strong>really</strong> required. + </p> + <hr> + <p> + <strong>OUPS</strong> Afin de pouvoir réaliser le chiffrement dans votre navigateur, Javascript est <strong>vraiment</strong> nécessaire. + </p> + </div> + </div> +</noscript> + + + <div id="mainBlock" class="hidden"> + <div id="container"></div> + + </div> + + <footer> + <div class="container"> + <div class="row"> + <div class="col"> + <ul class="list-unstyled"> + <li class="title">CryptPad</li> + <li><a href="/about.html" data-localization="about"></a></li> + <li><a href="/terms.html" data-localization="terms"></a></li> + <li><a href="/privacy.html" data-localization="privacy"></a></li> + </ul> + </div> + <div class="col"> + <ul class="list-unstyled"> + <li class="title" data-localization="footer_applications"><li> + <li><a href="/pad/" data-localization="main_richText"></a></li> + <li><a href="/code/" data-localization="main_code"></a></li> + <li><a href="/slide/" data-localization="main_slide"></a></li> + <li><a href="/poll/" data-localization="main_poll"></a></li> + <li><a href="/drive/" data-localization="main_drive"></a></li> + </ul> + </div> + <div class="col"> + <ul class="list-unstyled"> + <li class="title" data-localization="footer_aboutUs"><li> + <li><a href="https://blog.cryptpad.fr" target="_blank" data-localization="blog" rel="noopener noreferrer">Blog</a></li> + <li><a href="https://labs.xwiki.com" target="_blank" rel="noopener noreferrer">XWiki Labs</a></li> + <li><a href="http://www.xwiki.com" target="_blank" rel="noopener noreferrer">XWiki SAS</a></li> + <li><a href="https://www.open-paas.org/" target="_blank" rel="noopener noreferrer">OpenPaaS</a></li> + </ul> + </div> + <div class="col"> + <ul class="list-unstyled"> + <li class="title" data-localization="footer_contact"><li> + <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li> + <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li> + <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li> + <li><a href="/contact.html">Email</a></li> + </ul> + </div> + </div> + </div> + <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + </footer> + +</body> +</html> diff --git a/www/user/main.css b/www/user/main.css new file mode 100644 index 000000000..5cfc2ce85 --- /dev/null +++ b/www/user/main.css @@ -0,0 +1,14 @@ +.cp #mainBlock { + z-index: 1; + width: 1000px; + max-width: 90%; + margin: auto; + display: flex; + align-items: center; + justify-content: center; +} +.cp #mainBlock #container { + text-align: center; + font-size: 25px; +} + diff --git a/www/user/main.js b/www/user/main.js new file mode 100644 index 000000000..82f16682b --- /dev/null +++ b/www/user/main.js @@ -0,0 +1,63 @@ +define([ + 'jquery', + '/common/cryptpad-common.js', +], function ($, Cryptpad) { + + var APP = window.APP = { + Cryptpad: Cryptpad, + _onRefresh: [] + }; + + var Messages = Cryptpad.Messages; + + var comingSoon = function () { + var $div = $('<div>', { 'class': 'coming-soon' }) + .text(Messages.comingSoon) + .append('<br>'); + console.log($div); + return $div; + }; + + var andThen = function () { + console.log(APP.$container); + APP.$container.append(comingSoon()); + }; + + $(function () { + var $main = $('#mainBlock'); + // Language selector + var $sel = $('#language-selector'); + Cryptpad.createLanguageSelector(undefined, $sel); + $sel.find('button').addClass('btn').addClass('btn-secondary'); + $sel.show(); + + // User admin menu + var $userMenu = $('#user-menu'); + var userMenuCfg = { + $initBlock: $userMenu + }; + var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg); + $userAdmin.find('button').addClass('btn').addClass('btn-secondary'); + + $(window).click(function () { + $('.cryptpad-dropdown').hide(); + }); + + // main block is hidden in case javascript is disabled + $main.removeClass('hidden'); + + APP.$container = $('#container'); + + Cryptpad.ready(function () { + //if (!Cryptpad.getUserHash()) { return redirectToMain(); } + + //var storeObj = Cryptpad.getStore().getProxy && Cryptpad.getStore().getProxy().proxy + // ? Cryptpad.getStore().getProxy() : undefined; + + //andThen(storeObj); + andThen(); + Cryptpad.reportAppUsage(); + }); + }); + +}); From d324a054f2009d05212ff11963e26ba55ea3bd82 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 17:57:42 +0200 Subject: [PATCH 097/236] add progress bar to file upload --- www/file/inner.html | 38 +++++++++++++++++++++++++++++++++++--- www/file/main.js | 30 ++++++++++++++++++++++++++++-- 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/www/file/inner.html b/www/file/inner.html index 2f82b3461..482fb4955 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -31,10 +31,28 @@ z-index: -1; } + #upload-form { + padding: 0px; + margin: 0px; + + position: relative; + width: 50vh; + height: 50vh; + display: block; + margin: auto; + } + #upload-form label{ + position: relative; + } + + .hovering { + background-color: rgba(255, 0, 115, 0.5) !important; + } + .block { display: block; - height: 500px; - width: 500px; + height: 50vh; + width: 50vh; } .hidden { display: none; @@ -43,6 +61,7 @@ border: 2px solid black; background-color: rgba(50, 50, 50, .10); margin: 50px; + display: block; } .inputfile:focus + label, @@ -50,13 +69,26 @@ background-color: rgba(50, 50, 50, 0.30); } + #progress { + position: absolute; + top: 0px; + left: 0px; + height: 100%; + width: 0%; + max-width: 100%; + max-height: 100%; + background-color: rgba(255, 0, 115, 0.75); + z-index: 10000; + display: block; + } + </style> </head> <body> <div id="toolbar" class="toolbar-container"></div> <div id="upload-form" style="display: none;"> <input type="file" name="file" id="file" class="inputfile" /> - <label for="file" class="block">Choose a file</label> + <label for="file" class="block">Choose a file<span class="block" id="progress"> </span></label> </div> <div id="feedback" class="block hidden"> </div> diff --git a/www/file/main.js b/www/file/main.js index 41b8230e3..ba42f9afb 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -21,6 +21,8 @@ define([ var ifrw = $('#pad-iframe')[0].contentWindow; var $iframe = $('#pad-iframe').contents(); var $form = $iframe.find('#upload-form'); + var $progress = $form.find('#progress'); + var $label = $form.find('label'); Cryptpad.addLoadingScreen(); @@ -54,8 +56,15 @@ define([ if (err) { throw new Error(err); } if (box) { actual += box.length; + var progress = (actual / estimate * 100) + '%'; + console.log(progress); + return void sendChunk(box, function (e) { if (e) { return console.error(e); } + $progress.css({ + width: progress, + }); + next(again); }); } @@ -71,7 +80,7 @@ define([ console.log("encrypted blob is now available as %s", uri); var b64Key = Nacl.util.encodeBase64(key); - window.location.hash = Cryptpad.getFileHashFromKeys(id, b64Key); + Cryptpad.replaceHash(Cryptpad.getFileHashFromKeys(id, b64Key)); $form.hide(); @@ -221,8 +230,25 @@ define([ handleFile(file); }); + var counter = 0; + $label + .on('dragenter', function (e) { + e.preventDefault(); + e.stopPropagation(); + counter++; + $label.addClass('hovering'); + }) + .on('dragleave', function (e) { + e.preventDefault(); + e.stopPropagation(); + counter--; + if (counter <= 0) { + $label.removeClass('hovering'); // FIXME Can get stuck... + } + }); + $form - .on('drag dragstart dragend dragover dragenter dragleave drop', function (e) { + .on('drag dragstart dragend dragover drop dragenter dragleave', function (e) { e.preventDefault(); e.stopPropagation(); }) From 5a83259233cd0204b8f987d0d8ccc536e01d334d Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 18:24:04 +0200 Subject: [PATCH 098/236] listen for decryption errors --- www/media/main.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/www/media/main.js b/www/media/main.js index 044fba0c0..08efb7714 100644 --- a/www/media/main.js +++ b/www/media/main.js @@ -70,11 +70,16 @@ define([ var decrypted = e.originalEvent; var metadata = decrypted.metadata; - console.log(metadata); - console.log(defaultName); + if (decrypted.callback) { decrypted.callback(); } + //console.log(metadata); + //console.log(defaultName); if (!metadata || metadata.name !== defaultName) { return; } var title = document.title = metadata.name; updateTitle(title || defaultName); + }) + .on('decryptionError', function (e) { + var error = e.originalEvent; + Cryptpad.alert(error.message); }); require(['/common/media-tag.js'], function (MediaTag) { From 34606ea8ba4e7ee661e64a03f0103f585fee309f Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 18 May 2017 18:24:24 +0200 Subject: [PATCH 099/236] use newest xwiki media-tag --- www/common/media-tag.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/media-tag.js b/www/common/media-tag.js index 0d18138ce..cf8c78210 100644 --- a/www/common/media-tag.js +++ b/www/common/media-tag.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=f.decrypt(n,r),u=i.content,c=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),s.metadata=i.metadata,window.document.dispatchEvent(s),e.setAttribute("src",c),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")},i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,E=void 0;try{for(var k,_=y.any[Symbol.iterator]();!(m=(k=_.next()).done);m=!0){var j=k.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,E=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw E}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),E=n(41),k=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new E),m.FunctionStore.store("salsa20poly1305",k),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n,i=new Uint8Array(t);try{n=f.decrypt(i,r)}catch(e){var u=new Event("decryptionError");return u.message=e.message,void window.document.dispatchEvent(u)}var c=n.content,s=l.getBlobUrl(c,e.getMimeType()),p=new Event("decryption");p.blob=new Blob([c],{type:e.getMimeType()}),p.metadata=n.metadata,e.setAttribute("src",s),e.removeAttribute("data-crypto-key"),e.type=n.metadata.type,console.log(e),p.callback=function(){a.return(e)},window.document.dispatchEvent(p)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")};o();var i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file From 814c81fb13f987ce76bf2be1ff0fb421a77a899e Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 18 May 2017 18:51:08 +0200 Subject: [PATCH 100/236] Display an alert when CryptPad has a new version --- customize.dist/translations/messages.fr.js | 4 ++++ customize.dist/translations/messages.js | 4 ++++ www/common/cryptpad-common.js | 23 +++++++++++++++++++++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 26cfc3129..e8cc86ce2 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -54,6 +54,10 @@ define(function () { out.comingSoon = "Bientôt disponible..."; + out.newVersion = '<b>CryptPad a été mis à jour !</b><br>' + + 'Découvrez les nouveautés de la dernière version :<br>'+ + '<a href="https://github.com/xwiki-labs/cryptpad/releases/tag/{0}" target="_blank">Notes de version pour CryptPad {0}</a>'; + out.upgrade = "Améliorer"; out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage"; out.MB = "Mo"; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index dcafe6283..6280a5732 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -56,6 +56,10 @@ define(function () { out.comingSoon = "Coming soon..."; + out.newVersion = '<b>CryptPad has been updated!</b><br>' + + 'Check out what\'s new in the latest version:<br>'+ + '<a href="https://github.com/xwiki-labs/cryptpad/releases/tag/{0}" target="_blank">Release notes for CryptPad {0}</a>'; + out.upgrade = "Upgrade"; out.upgradeTitle = "Upgrade your account to increase the storage limit"; out.MB = "MB"; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 14f0a8b66..2f4cdf8e5 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -23,7 +23,6 @@ define([ Additionally, there is some basic functionality for import/export. */ - var common = window.Cryptpad = { Messages: Messages, Clipboard: Clipboard @@ -1296,6 +1295,25 @@ define([ return $userAdmin; }; + var CRYPTPAD_VERSION = 'cryptpad-version'; + var updateLocalVersion = function () { + // Check for CryptPad updates + var urlArgs = Config.requireConf ? Config.requireConf.urlArgs : null; + if (!urlArgs) { return; } + var arr = /ver=([0-9.]+)(-[0-9]*)?/.exec(urlArgs); + var ver = arr[1]; + if (!ver) { return; } + var verArr = ver.split('.'); + if (verArr.length !== 3) { return; } + var stored = localStorage[CRYPTPAD_VERSION] || '0.0.0'; + var storedArr = stored.split('.'); + var shouldUpdate = parseInt(verArr[0]) > parseInt(storedArr[0]) || + (parseInt(verArr[0]) === parseInt(storedArr[0]) && + parseInt(verArr[1]) > parseInt(storedArr[1])); + if (!shouldUpdate) { return; } + Cryptpad.alert(Messages._getKey('newVersion', [ver]), null, true); + localStorage[CRYPTPAD_VERSION] = ver; + }; common.ready = (function () { var env = {}; @@ -1313,6 +1331,9 @@ define([ block--; if (!block) { initialized = true; + + updateLocalVersion(); + f(void 0, env); } }; From d014fccfce1f89d19be59b4965de4151833091df Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Thu, 18 May 2017 18:52:14 +0200 Subject: [PATCH 101/236] Fix lint error --- www/common/cryptpad-common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 485bf2f44..6f0a5e256 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -1311,7 +1311,7 @@ define([ (parseInt(verArr[0]) === parseInt(storedArr[0]) && parseInt(verArr[1]) > parseInt(storedArr[1])); if (!shouldUpdate) { return; } - Cryptpad.alert(Messages._getKey('newVersion', [ver]), null, true); + common.alert(Messages._getKey('newVersion', [ver]), null, true); localStorage[CRYPTPAD_VERSION] = ver; }; From e7a458295b19d24111fcf17fcf27919099fcb624 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 09:10:36 +0200 Subject: [PATCH 102/236] new translation keys for file upload --- customize.dist/translations/messages.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index dcafe6283..69bce34de 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -353,7 +353,12 @@ define(function () { out.upload_serverError = "Server Error: unable to upload your file at this time."; out.upload_uploadPending = "You already have an upload in progress. Cancel it and upload your new file?"; - out.upload_success = "Your file ({0}) has been successfully uploaded and added to your drive"; + out.upload_success = "Your file ({0}) has been successfully uploaded and added to your drive."; + out.upload_notEnoughSpace = "There is not enough space for this file in your CryptDrive."; + out.upload_tooLarge = "This file exceeds the maximum upload size."; + + // general warnings + out.warn_notPinned = "This pad is not in anyone's CryptDrive. It will expire after 3 months. <a href='/about.html#pinning'>Learn more...</a>"; // index.html From d71e12713a13b3668ab9bdb4d184525ef8f80eea Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 09:11:28 +0200 Subject: [PATCH 103/236] handle empty arrays when reducing --- rpc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpc.js b/rpc.js index e2f62230b..54d7c14ec 100644 --- a/rpc.js +++ b/rpc.js @@ -456,7 +456,7 @@ var sumChannelSizes = function (sizes) { // only allow positive numbers return !(typeof(x) !== 'number' || x <= 0); }) - .reduce(function (a, b) { return a + b; }); + .reduce(function (a, b) { return a + b; }, 0); }; var pinChannel = function (Env, publicKey, channels, cb) { From d9f128e9236ed8b51624d850d5ce844c61f8e891 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 09:12:39 +0200 Subject: [PATCH 104/236] send appropriate responses to upload rpc calls --- rpc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpc.js b/rpc.js index 54d7c14ec..2f2b96a4c 100644 --- a/rpc.js +++ b/rpc.js @@ -635,7 +635,7 @@ var upload = function (Env, publicKey, content, cb) { } if (session.currentUploadSize > session.pendingUploadSize) { - return cb('TOO_LARGE'); + return cb('E_OVER_LIMIT'); } if (!session.blobstage) { @@ -739,7 +739,7 @@ var upload_status = function (Env, publicKey, filesize, cb) { getFreeSpace(Env, publicKey, function (e, free) { if (e) { return void cb(e); } - if (filesize >= free) { return cb('TOO_LARGE'); } + if (filesize >= free) { return cb('NOT_ENOUGH_SPACE'); } isFile(filePath, function (e, yes) { if (e) { console.error("uploadError: [%s]", e); From 310909dc9ee26012a5090c9ad6ddb7aa5f04f41f Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 09:12:59 +0200 Subject: [PATCH 105/236] handle new error codes --- www/file/main.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/www/file/main.js b/www/file/main.js index ba42f9afb..4ffcaa127 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -99,6 +99,12 @@ define([ Cryptpad.uploadStatus(estimate, function (e, pending) { if (e) { + if (e === 'TOO_LARGE') { + return void Cryptpad.alert(Messages.upload_tooLarge); + } + if (e === 'NOT_ENOUGH_SPACE') { + return void Cryptpad.alert(Messages.upload_notEnoughSpace); + } console.error(e); return void Cryptpad.alert(Messages.upload_serverError); } @@ -108,7 +114,9 @@ define([ return void Cryptpad.confirm(Messages.upload_uploadPending, function (yes) { if (!yes) { return; } Cryptpad.uploadCancel(function (e, res) { - if (e) { return void console.error(e); } + if (e) { + return void console.error(e); + } console.log(res); next(again); }); @@ -243,7 +251,7 @@ define([ e.stopPropagation(); counter--; if (counter <= 0) { - $label.removeClass('hovering'); // FIXME Can get stuck... + $label.removeClass('hovering'); } }); @@ -254,6 +262,8 @@ define([ }) .on('drop', function (e) { var dropped = e.originalEvent.dataTransfer.files; + counter = 0; + $label.removeClass('hovering'); handleFile(dropped[0]); }); From bcd03038215160e0a70c0826e1af05fab0312451 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 11:46:10 +0200 Subject: [PATCH 106/236] style /file/ with .less --- www/file/file.css | 70 ++++++++++++++++++++++++++++++++++++++ www/file/file.less | 82 +++++++++++++++++++++++++++++++++++++++++++++ www/file/inner.html | 79 +------------------------------------------ 3 files changed, 153 insertions(+), 78 deletions(-) create mode 100644 www/file/file.css create mode 100644 www/file/file.less diff --git a/www/file/file.css b/www/file/file.css new file mode 100644 index 000000000..08c95f730 --- /dev/null +++ b/www/file/file.css @@ -0,0 +1,70 @@ +html, +body { + margin: 0px; +} +.cryptpad-toolbar { + margin-bottom: 1px; + padding: 0px; + display: inline-block; +} +#file { + display: block; + height: 300px; + width: 300px; + border: 2px solid black; + margin: 50px; +} +.inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + z-index: -1; +} +#upload-form { + padding: 0px; + margin: 0px; + position: relative; + width: 50vh; + height: 50vh; + display: block; + margin: auto; +} +#upload-form label { + position: relative; +} +.hovering { + background-color: rgba(255, 0, 115, 0.5) !important; +} +.block { + display: block; + height: 50vh; + width: 50vh; +} +.hidden { + display: none; +} +.inputfile + label { + border: 2px solid black; + background-color: rgba(50, 50, 50, 0.1); + margin: 50px; + display: block; +} +.inputfile:focus + label, +.inputfile + label:hover { + background-color: rgba(50, 50, 50, 0.3); +} +#progress { + position: absolute; + top: 0px; + left: 0px; + height: 100%; + transition: width 500ms; + width: 0%; + max-width: 100%; + max-height: 100%; + background-color: rgba(255, 0, 115, 0.75); + z-index: 10000; + display: block; +} diff --git a/www/file/file.less b/www/file/file.less new file mode 100644 index 000000000..69432a539 --- /dev/null +++ b/www/file/file.less @@ -0,0 +1,82 @@ +@import "../../customize.dist/src/less/variables.less"; +@import "../../customize.dist/src/less/mixins.less"; + +html, body { + margin: 0px; +} +.cryptpad-toolbar { + margin-bottom: 1px; + padding: 0px; + display: inline-block; +} +#file { + display: block; + height: 300px; + width: 300px; + border: 2px solid black; + margin: 50px; +} + +.inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + z-index: -1; +} + +#upload-form { + padding: 0px; + margin: 0px; + + position: relative; + width: 50vh; + height: 50vh; + display: block; + margin: auto; +} +#upload-form label{ + position: relative; +} + +.hovering { + background-color: rgba(255, 0, 115, 0.5) !important; +} + +.block { + display: block; + height: 50vh; + width: 50vh; +} +.hidden { + display: none; +} +.inputfile + label { + border: 2px solid black; + background-color: rgba(50, 50, 50, .10); + margin: 50px; + display: block; +} + +.inputfile:focus + label, +.inputfile + label:hover { + background-color: rgba(50, 50, 50, 0.30); +} + +#progress { + position: absolute; + top: 0px; + left: 0px; + height: 100%; + + + transition: width 500ms; + width: 0%; + max-width: 100%; + max-height: 100%; + background-color: rgba(255, 0, 115, 0.75); + z-index: 10000; + display: block; +} + diff --git a/www/file/inner.html b/www/file/inner.html index 482fb4955..727e11498 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -5,84 +5,7 @@ <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css"> <script src="/bower_components/jquery/dist/jquery.min.js"></script> <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css"> - <style> - html, body { - margin: 0px; - } - .cryptpad-toolbar { - margin-bottom: 1px; - padding: 0px; - display: inline-block; - } - #file { - display: block; - height: 300px; - width: 300px; - border: 2px solid black; - margin: 50px; - } - - .inputfile { - width: 0.1px; - height: 0.1px; - opacity: 0; - overflow: hidden; - position: absolute; - z-index: -1; - } - - #upload-form { - padding: 0px; - margin: 0px; - - position: relative; - width: 50vh; - height: 50vh; - display: block; - margin: auto; - } - #upload-form label{ - position: relative; - } - - .hovering { - background-color: rgba(255, 0, 115, 0.5) !important; - } - - .block { - display: block; - height: 50vh; - width: 50vh; - } - .hidden { - display: none; - } - .inputfile + label { - border: 2px solid black; - background-color: rgba(50, 50, 50, .10); - margin: 50px; - display: block; - } - - .inputfile:focus + label, - .inputfile + label:hover { - background-color: rgba(50, 50, 50, 0.30); - } - - #progress { - position: absolute; - top: 0px; - left: 0px; - height: 100%; - width: 0%; - max-width: 100%; - max-height: 100%; - background-color: rgba(255, 0, 115, 0.75); - z-index: 10000; - display: block; - } - - </style> + <link rel="stylesheet" href="/file/file.css"> </head> <body> <div id="toolbar" class="toolbar-container"></div> From e78299aed6a913a461142b80c37f21f722b7a0d1 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 11:46:47 +0200 Subject: [PATCH 107/236] use async file decryption, listen for progress events. --- www/common/media-tag.js | 2 +- www/media/main.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/www/common/media-tag.js b/www/common/media-tag.js index cf8c78210..370b0e93d 100644 --- a/www/common/media-tag.js +++ b/www/common/media-tag.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,E=void 0;try{for(var k,_=y.any[Symbol.iterator]();!(m=(k=_.next()).done);m=!0){var j=k.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,E=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw E}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),E=n(41),k=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new E),m.FunctionStore.store("salsa20poly1305",k),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n,i=new Uint8Array(t);try{n=f.decrypt(i,r)}catch(e){var u=new Event("decryptionError");return u.message=e.message,void window.document.dispatchEvent(u)}var c=n.content,s=l.getBlobUrl(c,e.getMimeType()),p=new Event("decryption");p.blob=new Blob([c],{type:e.getMimeType()}),p.metadata=n.metadata,e.setAttribute("src",s),e.removeAttribute("data-crypto-key"),e.type=n.metadata.type,console.log(e),p.callback=function(){a.return(e)},window.document.dispatchEvent(p)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")};o();var i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,d=y.once[Symbol.iterator]();!(b=(w=d.next()).done);b=!0){var g=w.value;n.push(g),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&d.return&&d.return()}finally{if(h)throw v}}var m=!0,O=!1,E=void 0;try{for(var k,_=y.any[Symbol.iterator]();!(m=(k=_.next()).done);m=!0){var j=k.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,E=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw E}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),d=n(36),g=n(12),m=n(25),O=n(24),E=n(41),k=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new d),r.PluginStore.store(new g),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new E),m.FunctionStore.store("salsa20poly1305",k),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t);f.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var o=n.content,i=l.getBlobUrl(o,e.getMimeType()),u=new Event("decryption");u.blob=new Blob([o],{type:e.getMimeType()}),u.metadata=n.metadata,e.setAttribute("src",i),e.removeAttribute("data-crypto-key"),u.callback=function(){a.return(e)},window.document.dispatchEvent(u)})}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),f=e.decodePrefix(c),l={metadata:void 0},p=new Uint8Array(t.subarray(2,2+f)),y=o.secretbox.open(p,u,n);e.increment(u);try{l.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!l.metadata)return r("NO_METADATA");var b=function(r){var c=a*s+2+f,l=c+s;a++;var p=new Uint8Array(t.subarray(c,l)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(l,t.length)),r(void 0,y)},h=[];!function n(){b(function(o,i){return o?setTimeout(function(){r(o)}):i?a*s<t.length?(h.push(i),n()):(h.push(i),l.content=e.joinChunks(h),r(void 0,l)):void r("UNEXPECTED_ENDING")})}()}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file diff --git a/www/media/main.js b/www/media/main.js index 08efb7714..4b8f45ecf 100644 --- a/www/media/main.js +++ b/www/media/main.js @@ -80,6 +80,10 @@ define([ .on('decryptionError', function (e) { var error = e.originalEvent; Cryptpad.alert(error.message); + }) + .on('decryptionProgress', function (e) { + var progress = e.originalEvent; + console.log(progress.percent); }); require(['/common/media-tag.js'], function (MediaTag) { From 7d369fb5e04043858b903aa4da91b9ecd22040fa Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 14:37:00 +0200 Subject: [PATCH 108/236] move rpc warnings out of server and into rpc --- rpc.js | 45 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/rpc.js b/rpc.js index 2f2b96a4c..e7d3c1627 100644 --- a/rpc.js +++ b/rpc.js @@ -286,7 +286,10 @@ var getFileSize = function (Env, channel, cb) { } return void Env.msgStore.getChannelSize(channel, function (e, size) { - if (e) { return void cb(e.code); } + if (e) { + if (e === 'ENOENT') { return void cb(void 0, 0); } + return void cb(e.code); + } cb(void 0, size); }); } @@ -331,7 +334,7 @@ var getTotalSize = function (Env, publicKey, cb) { //var msgStore = Env.msgStore; return void getChannelList(Env, publicKey, function (channels) { - if (!channels) { cb('NO_ARRAY'); } // unexpected + if (!channels) { return cb('NO_ARRAY'); } // unexpected var count = channels.length; if (!count) { cb(void 0, 0); } @@ -755,6 +758,12 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) // load pin-store... console.log('loading rpc module...'); + var warn = function (e, output) { + if (e && !config.suppressRPCErrors) { + console.error('[' + e + ']', output); + } + }; + var keyOrDefaultString = function (key, def) { return typeof(config[key]) === 'string'? config[key]: def; }; @@ -848,40 +857,59 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) case 'COOKIE': return void Respond(void 0); case 'RESET': return resetUserPins(Env, safeKey, msg[1], function (e, hash) { + //warn(e, hash); return void Respond(e, hash); }); case 'PIN': return pinChannel(Env, safeKey, msg[1], function (e, hash) { + warn(e, hash); Respond(e, hash); }); case 'UNPIN': return unpinChannel(Env, safeKey, msg[1], function (e, hash) { + warn(e, hash); Respond(e, hash); }); case 'GET_HASH': return void getHash(Env, safeKey, function (e, hash) { + warn(e, hash); Respond(e, hash); }); case 'GET_TOTAL_SIZE': // TODO cache this, since it will get called quite a bit return getTotalSize(Env, safeKey, function (e, size) { - if (e) { return void Respond(e); } + if (e) { + warn(e, safeKey); + return void Respond(e); + } Respond(e, size); }); case 'GET_FILE_SIZE': - return void getFileSize(Env, msg[1], Respond); + return void getFileSize(Env, msg[2], function (e, size) { + warn(e, msg[2]); + Respond(e, size); + }); case 'UPDATE_LIMITS': return void updateLimits(config, safeKey, function (e, limit) { - if (e) { return void Respond(e); } + if (e) { + warn(e, limit); + return void Respond(e); + } Respond(void 0, limit); }); case 'GET_LIMIT': return void getLimit(Env, safeKey, function (e, limit) { - if (e) { return void Respond(e); } + if (e) { + warn(e, limit); + return void Respond(e); + } Respond(void 0, limit); }); case 'GET_MULTIPLE_FILE_SIZE': return void getMultipleFileSize(Env, msg[1], function (e, dict) { - if (e) { return void Respond(e); } + if (e) { + warn(e, dict); + return void Respond(e); + } Respond(void 0, dict); }); @@ -889,6 +917,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) case 'UPLOAD': if (!privileged) { return deny(); } return void upload(Env, safeKey, msg[1], function (e, len) { + warn(e, len); Respond(e, len); }); case 'UPLOAD_STATUS': @@ -906,11 +935,13 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) case 'UPLOAD_COMPLETE': if (!privileged) { return deny(); } return void upload_complete(Env, safeKey, function (e, hash) { + warn(e, hash); Respond(e, hash); }); case 'UPLOAD_CANCEL': if (!privileged) { return deny(); } return void upload_cancel(Env, safeKey, function (e) { + warn(e); Respond(e); }); default: From 0d265f543ea1f46e9b69665f817dc17c0b610544 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 14:41:55 +0200 Subject: [PATCH 109/236] add file.css to npm style command --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dd089605c..e75ec7b32 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "scripts": { "lint": "jshint --config .jshintrc --exclude-path .jshintignore .", "test": "node TestSelenium.js", - "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css", + "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css && lessc ./www/file/file.less > ./www/file/file.css", "template": "cd customize.dist/src && node build.js" } } From 0a54f0cf2d332c010d8819f1883fb6007c856bf8 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 16:21:26 +0200 Subject: [PATCH 110/236] better alignment of preview and code entry --- www/code/inner.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/code/inner.html b/www/code/inner.html index 36d5911ee..0ef693f1c 100644 --- a/www/code/inner.html +++ b/www/code/inner.html @@ -78,7 +78,7 @@ overflow: auto; display: inline-block; height: 100%; - border: 1px solid black; + border-left: 1px solid black; box-sizing: border-box; font-family: Calibri,Ubuntu,sans-serif; } From 1378a0c1f62f678e115168a94d13db5fdec3568e Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 16:56:45 +0200 Subject: [PATCH 111/236] serve blobs from configured location --- server.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server.js b/server.js index d7f5b90fc..037a8adeb 100644 --- a/server.js +++ b/server.js @@ -8,6 +8,7 @@ var Fs = require('fs'); var WebSocketServer = require('ws').Server; var NetfluxSrv = require('./node_modules/chainpad-server/NetfluxWebsocketSrv'); var Package = require('./package.json'); +var Path = require("path"); var config = require('./config'); var websocketPort = config.websocketPort || config.httpPort; @@ -82,7 +83,7 @@ var mainPages = config.mainPages || ['index', 'privacy', 'terms', 'about', 'cont var mainPagePattern = new RegExp('^\/(' + mainPages.join('|') + ').html$'); app.get(mainPagePattern, Express.static(__dirname + '/customize.dist')); -app.use("/blob", Express.static(__dirname + '/blob')); +app.use("/blob", Express.static(Path.join(__dirname, (config.blobPath || './blob')))); app.use("/customize", Express.static(__dirname + '/customize')); app.use("/customize", Express.static(__dirname + '/customize.dist')); From ba5ef5157e93c85d92f02fc4a5cb4527b46b5c51 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 18:37:31 +0200 Subject: [PATCH 112/236] show pretty representations of storage usage --- customize.dist/translations/messages.es.js | 4 +++ customize.dist/translations/messages.fr.js | 3 ++ customize.dist/translations/messages.js | 4 +++ www/common/common-util.js | 17 ++++++++++-- www/common/cryptpad-common.js | 32 ++++++++++++++++------ 5 files changed, 49 insertions(+), 11 deletions(-) diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js index 2346579fb..d2359c44b 100644 --- a/customize.dist/translations/messages.es.js +++ b/customize.dist/translations/messages.es.js @@ -410,6 +410,10 @@ define(function () { out.upgrade = "Mejorar"; out.upgradeTitle = "Mejora tu cuenta para obtener más espacio"; out.MB = "MB"; + out.GB = "GB"; + out.formattedMB = "{0} MB"; + out.formattedGB = "{0} GB"; + out.pinLimitReached = "Has llegado al limite de espacio"; out.pinLimitReachedAlert = "Has llegado al limite de espacio. Nuevos pads no serán movidos a tu CryptDrive.<br>Para resolver este problema, puedes quitar pads de tu CryptDrive (incluso en la papelera) o mejorar tu cuenta para obtener más espacio."; out.pinLimitNotPinned = "Has llegado al limite de espacio.<br>Este pad no estará presente en tu CryptDrive."; diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index e8cc86ce2..5dfd383b0 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -61,6 +61,9 @@ define(function () { out.upgrade = "Améliorer"; out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage"; out.MB = "Mo"; + out.GB = "Go"; + out.formattedMB = "{0} Mo"; + out.formattedGB = "{0} Go"; out.greenLight = "Tout fonctionne bien"; out.orangeLight = "Votre connexion est lente, ce qui réduit la qualité de l'éditeur"; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index f0ce247fc..6cbff3d7f 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -63,6 +63,10 @@ define(function () { out.upgrade = "Upgrade"; out.upgradeTitle = "Upgrade your account to increase the storage limit"; out.MB = "MB"; + out.GB = "GB"; + + out.formattedMB = "{0} MB"; + out.formattedGB = "{0} GB"; out.greenLight = "Everything is working fine"; out.orangeLight = "Your slow connection may impact your experience"; diff --git a/www/common/common-util.js b/www/common/common-util.js index a5822c743..f04b85199 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -81,12 +81,25 @@ define([], function () { .replace(/_+/g, '_'); }; + var oneKilobyte = 1024; + var oneMegabyte = 1024 * oneKilobyte; + var oneGigabyte = 1024 * oneMegabyte; + + Util.bytesToGigabytes = function (bytes) { + return Math.ceil(bytes / oneGigabyte * 100) / 100; + }; + Util.bytesToMegabytes = function (bytes) { - return Math.floor((bytes / (1024 * 1024) * 100)) / 100; + return Math.ceil(bytes / oneMegabyte * 100) / 100; }; Util.bytesToKilobytes = function (bytes) { - return Math.floor(bytes / 1024 * 100) / 100; + return Math.ceil(bytes / oneKilobyte * 100) / 100; + }; + + Util.magnitudeOfBytes = function (bytes) { + if (bytes >= oneGigabyte) { return 'GB'; } + else if (bytes >= oneMegabyte) { return 'MB'; } }; Util.fetch = function (src, cb) { diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 6f0a5e256..9bbebbed3 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -745,8 +745,7 @@ define([ if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } rpc.updatePinLimits(function (e, limit, plan) { if (e) { return cb(e); } - var MB = common.bytesToMegabytes(limit); - cb(e, MB, plan); + cb(e, limit, plan); }); }; @@ -754,8 +753,7 @@ define([ if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } rpc.getLimit(function (e, limit, plan) { if (e) { return cb(e); } - var MB = common.bytesToMegabytes(limit); - cb(void 0, MB, plan); + cb(void 0, limit, plan); }); }; @@ -771,7 +769,7 @@ define([ return void cb (null, false, data); }; var todo = function (e, used) { - usage = common.bytesToMegabytes(used); + usage = used; //common.bytesToMegabytes(used); if (e) { return void cb(e); } common.getPinLimit(andThen); }; @@ -802,9 +800,14 @@ define([ common.isOverPinLimit(todo); }, LIMIT_REFRESH_RATE); } - var usage = data.usage; - var limit = data.limit; - var unit = Messages.MB; + + var unit = Util.magnitudeOfBytes(data.limit); + + var usage = unit === 'GB'? Util.bytesToGigabytes(data.usage): + Util.bytesToMegabytes(data.usage); + var limit = unit === 'GB'? Util.bytesToGigabytes(data.limit): + Util.bytesToMegabytes(data.limit); + var $limit = $('<span>', {'class': 'cryptpad-limit-bar'}).appendTo($container); var quota = usage/limit; var width = Math.floor(Math.min(quota, 1)*200); // the bar is 200px width @@ -823,11 +826,22 @@ define([ }).text(Messages.upgrade).appendTo($upgradeLink); } + var prettyUsage; + var prettyLimit; + + if (unit === 'GB') { + prettyUsage = usage; //Messages._getKey('formattedGB', [usage]); + prettyLimit = Messages._getKey('formattedGB', [limit]); + } else { + prettyUsage = usage; //Messages._getKey('formattedMB', [usage]); + prettyLimit = Messages._getKey('formattedMB', [limit]); + } + if (quota < 0.8) { $usage.addClass('normal'); } else if (quota < 1) { $usage.addClass('warning'); } else { $usage.addClass('above'); } var $text = $('<span>', {'class': 'usageText'}); - $text.text(usage + ' / ' + limit + ' ' + unit); + $text.text(prettyUsage + ' / ' + prettyLimit); $limit.append($usage).append($text); window.setTimeout(function () { common.isOverPinLimit(todo); From 1ab6eb3c5df892d72eb56a45699db99a5beadf68 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Fri, 19 May 2017 18:41:34 +0200 Subject: [PATCH 113/236] Add a queue for multiple uploads in the file app --- customize.dist/translations/messages.fr.js | 16 ++++ customize.dist/translations/messages.js | 9 ++- rpc.js | 2 +- www/file/inner.html | 46 ++++++++++- www/file/main.js | 91 +++++++++++++++++++--- 5 files changed, 150 insertions(+), 14 deletions(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index e8cc86ce2..5db44bf2d 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -61,6 +61,7 @@ define(function () { out.upgrade = "Améliorer"; out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage"; out.MB = "Mo"; + out.KB = "Ko"; out.greenLight = "Tout fonctionne bien"; out.orangeLight = "Votre connexion est lente, ce qui réduit la qualité de l'éditeur"; @@ -348,6 +349,21 @@ define(function () { out.settings_logoutEverywhere = "Se déconnecter de toutes les autres sessions."; out.settings_logoutEverywhereConfirm = "Êtes-vous sûr ? Vous devrez vous reconnecter sur tous vos autres appareils."; + out.upload_serverError = "Erreur interne: impossible d'uploader le fichier pour l'instant."; + out.upload_uploadPending = "Vous avez déjà un fichier en cours d'upload. Souhaitez-vous l'annuler et uploader ce nouveau fichier ?"; + out.upload_success = "Votre fichier ({0}) a été uploadé avec succès et ajouté à votre CryptDrive."; + out.upload_notEnoughSpace = "Il n'y a pas assez d'espace libre dans votre CryptDrive pour ce fichier."; + out.upload_tooLarge = "Ce fichier dépasse la taille maximale autorisée."; + out.upload_choose = "Choisir un fichier"; + out.upload_pending = "En attente"; + out.upload_cancelled = "Annulé"; + out.upload_name = "Nom du fichier"; + out.upload_size = "Taille"; + out.upload_progress = "État"; + + // general warnings + out.warn_notPinned = "Ce pad n'est stocké dans aucun CryptDrive. Il va expirer après 3 mois d'inactivité. <a href='/about.html#pinning'>En savoir plus...</a>"; + // index.html //about.html diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index f0ce247fc..8a1de05a5 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -63,6 +63,7 @@ define(function () { out.upgrade = "Upgrade"; out.upgradeTitle = "Upgrade your account to increase the storage limit"; out.MB = "MB"; + out.KB = "KB"; out.greenLight = "Everything is working fine"; out.orangeLight = "Your slow connection may impact your experience"; @@ -236,8 +237,6 @@ define(function () { out.fm_info_template = 'Contains all the pads stored as templates and that you can re-use when you create a new pad.'; out.fm_info_trash = 'Files deleted from the trash are also removed from "All files" and it is impossible to recover them from the file manager.'; // Same here for "All files" and "out.fm_filesDataName" out.fm_info_allFiles = 'Contains all the files from "Documents", "Unsorted" and "Trash". You can\'t move or remove files from here.'; // Same here - out.fm_info_login = "Log in"; - out.fm_info_register = "Sign up"; out.fm_info_anonymous = 'You are not logged in so these pads may be deleted (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">find out why</a>). ' + '<a href="/register/">Sign up</a> or <a href="/login/">Log in</a> to keep them alive.'; out.fm_alert_backupUrl = "Backup link for this drive.<br>" + @@ -360,6 +359,12 @@ define(function () { out.upload_success = "Your file ({0}) has been successfully uploaded and added to your drive."; out.upload_notEnoughSpace = "There is not enough space for this file in your CryptDrive."; out.upload_tooLarge = "This file exceeds the maximum upload size."; + out.upload_choose = "Choose a file"; + out.upload_pending = "Pending"; + out.upload_cancelled = "Cancelled"; + out.upload_name = "File name"; + out.upload_size = "Size"; + out.upload_progress = "Progress"; // general warnings out.warn_notPinned = "This pad is not in anyone's CryptDrive. It will expire after 3 months. <a href='/about.html#pinning'>Learn more...</a>"; diff --git a/rpc.js b/rpc.js index 2f2b96a4c..ef2e547c3 100644 --- a/rpc.js +++ b/rpc.js @@ -13,7 +13,7 @@ var RPC = module.exports; var Store = require("./storage/file"); -var DEFAULT_LIMIT = 50 * 1024 * 1024; +var DEFAULT_LIMIT = 150 * 1024 * 1024; var isValidId = function (chan) { return /^[a-fA-F0-9]/.test(chan) || diff --git a/www/file/inner.html b/www/file/inner.html index 482fb4955..9b982b648 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -42,6 +42,8 @@ margin: auto; } #upload-form label{ + text-align: center; + line-height: 50vh; position: relative; } @@ -82,14 +84,56 @@ display: block; } + #status { + display: none; + width: 80vw; + margin-top: 50px; + margin-left: 10vw; + border: 1px solid black; + border-collapse: collapse; + } + #status tr:nth-child(1) { + background-color: #ccc; + border: 1px solid #999; + } + #status tr:nth-child(1) td { text-align: center; } + #status td { + border-left: 1px solid #BBB; + border-right: 1px solid #BBB; + padding: 0 10px; + } + #status .upProgress { + width: 200px; + position: relative; + text-align: center; + } + #status .progressContainer { + position: absolute; + width: 0px; + left: 5px; + top: 1px; bottom: 1px; + background-color: rgba(0,0,255,0.3); + } + #status .upCancel { text-align: center; } + #status .fa.cancel { + color: rgb(255, 0, 115); + } </style> </head> <body> <div id="toolbar" class="toolbar-container"></div> <div id="upload-form" style="display: none;"> <input type="file" name="file" id="file" class="inputfile" /> - <label for="file" class="block">Choose a file<span class="block" id="progress"> </span></label> + <label for="file" class="block" data-localization="upload_choose">Choose a file<span class="block" id="progress"> </span></label> </div> + <table id="status"> + <tr> + <td data-localization="upload_name">File name</td> + <td data-localization="upload_size">Size</td> + <td data-localization="upload_progress">Progress</td> + <td data-localization="cancel">Cancel</td> + </tr> + </table> <div id="feedback" class="block hidden"> </div> </body> diff --git a/www/file/main.js b/www/file/main.js index 4ffcaa127..eb53cca47 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -21,8 +21,9 @@ define([ var ifrw = $('#pad-iframe')[0].contentWindow; var $iframe = $('#pad-iframe').contents(); var $form = $iframe.find('#upload-form'); - var $progress = $form.find('#progress'); + //var $progress = $form.find('#progress'); var $label = $form.find('label'); + var $table = $iframe.find('#status'); Cryptpad.addLoadingScreen(); @@ -31,8 +32,23 @@ define([ var myFile; var myDataType; - var upload = function (blob, metadata) { + var queue = { + queue: [], + inProgress: false + }; + + var uid = function () { + return 'file-' + String(Math.random()).substring(2); + }; + + var upload = function (blob, metadata, id) { console.log(metadata); + if (queue.inProgress) { return; } + queue.inProgress = true; + + var $cancelCell = $table.find('tr[id="'+id+'"]').find('.upCancel'); + $cancelCell.html('-'); + var u8 = new Uint8Array(blob); var key = Nacl.randomBytes(32); @@ -56,13 +72,19 @@ define([ if (err) { throw new Error(err); } if (box) { actual += box.length; - var progress = (actual / estimate * 100) + '%'; - console.log(progress); + var progressValue = (actual / estimate * 100); + var progress = progressValue + '%'; return void sendChunk(box, function (e) { if (e) { return console.error(e); } - $progress.css({ + /*$progress.css({ width: progress, + });*/ + var $pv = $table.find('tr[id="'+id+'"]').find('.progressValue'); + $pv.text(Math.round(progressValue*100)/100 + '%'); + var $pb = $table.find('tr[id="'+id+'"]').find('.progressContainer'); + $pb.css({ + width: (progressValue/100)*188+'px' }); next(again); @@ -82,7 +104,7 @@ define([ var b64Key = Nacl.util.encodeBase64(key); Cryptpad.replaceHash(Cryptpad.getFileHashFromKeys(id, b64Key)); - $form.hide(); + //$form.hide(); APP.toolbar.addElement(['fileshare'], {}); @@ -94,11 +116,15 @@ define([ APP.toolbar.title.show(); console.log(title); Cryptpad.alert(Messages._getKey('upload_success', [title])); + queue.inProgress = false; + queue.next(); }); }; Cryptpad.uploadStatus(estimate, function (e, pending) { if (e) { + queue.inProgress = false; + queue.next(); if (e === 'TOO_LARGE') { return void Cryptpad.alert(Messages.upload_tooLarge); } @@ -110,7 +136,7 @@ define([ } if (pending) { - // TODO queue uploads... ? + // TODO keep this message in case of pending files in another window? return void Cryptpad.confirm(Messages.upload_uploadPending, function (yes) { if (!yes) { return; } Cryptpad.uploadCancel(function (e, res) { @@ -126,6 +152,48 @@ define([ }); }; + var prettySize = function (bytes) { + var kB = Cryptpad.bytesToKilobytes(bytes); + if (kB < 1024) { return kB + Messages.KB; } + var mB = Cryptpad.bytesToMegabytes(bytes); + return mB + Messages.MB; + }; + + queue.next = function () { + if (queue.queue.length === 0) { return; } + if (queue.inProgress) { return; } + var file = queue.queue.shift(); + upload(file.blob, file.metadata, file.id); + }; + queue.push = function (obj) { + var id = uid(); + obj.id = id; + queue.queue.push(obj); + + $table.show(); + var estimate = FileCrypto.computeEncryptedSize(obj.blob.byteLength, obj.metadata); + + var $progressBar = $('<div>', {'class':'progressContainer'}); + var $progressValue = $('<span>', {'class':'progressValue'}).text(Messages.upload_pending); + + var $tr = $('<tr>', {id: id}).appendTo($table); + + var $cancel = $('<span>', {'class': 'cancel fa fa-times'}).click(function () { + queue.queue = queue.queue.filter(function (el) { return el.id !== id }); + $cancel.remove(); + $tr.find('.upCancel').text('-'); + $tr.find('.progressValue').text(Messages.upload_cancelled); + }); + + var $tr = $('<tr>', {id: id}).appendTo($table); + $('<td>').text(obj.metadata.name).appendTo($tr); + $('<td>').text(prettySize(estimate)).appendTo($tr); + $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr); + $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr); + + queue.next(); + }; + var uploadMode = false; var andThen = function () { @@ -225,9 +293,12 @@ define([ console.log(file); var reader = new FileReader(); reader.onloadend = function () { - upload(this.result, { - name: file.name, - type: file.type, + queue.push({ + blob: this.result, + metadata: { + name: file.name, + type: file.type, + } }); }; reader.readAsArrayBuffer(file); From 03da870a7a4a3188496aa12f9ec7f6ec0e31496b Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 19 May 2017 19:38:57 +0200 Subject: [PATCH 114/236] jshint compliance --- www/file/main.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/www/file/main.js b/www/file/main.js index eb53cca47..ada0b50d2 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -73,13 +73,9 @@ define([ if (box) { actual += box.length; var progressValue = (actual / estimate * 100); - var progress = progressValue + '%'; return void sendChunk(box, function (e) { if (e) { return console.error(e); } - /*$progress.css({ - width: progress, - });*/ var $pv = $table.find('tr[id="'+id+'"]').find('.progressValue'); $pv.text(Math.round(progressValue*100)/100 + '%'); var $pb = $table.find('tr[id="'+id+'"]').find('.progressContainer'); @@ -179,17 +175,17 @@ define([ var $tr = $('<tr>', {id: id}).appendTo($table); var $cancel = $('<span>', {'class': 'cancel fa fa-times'}).click(function () { - queue.queue = queue.queue.filter(function (el) { return el.id !== id }); + queue.queue = queue.queue.filter(function (el) { return el.id !== id; }); $cancel.remove(); $tr.find('.upCancel').text('-'); $tr.find('.progressValue').text(Messages.upload_cancelled); }); - var $tr = $('<tr>', {id: id}).appendTo($table); - $('<td>').text(obj.metadata.name).appendTo($tr); - $('<td>').text(prettySize(estimate)).appendTo($tr); - $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr); - $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr); + var $tr2 = $('<tr>', {id: id}).appendTo($table); + $('<td>').text(obj.metadata.name).appendTo($tr2); + $('<td>').text(prettySize(estimate)).appendTo($tr2); + $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr2); + $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr2); queue.next(); }; From 538aec6ef5639f583a7ed9ce9b5cbf085c846537 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 22 May 2017 10:41:47 +0200 Subject: [PATCH 115/236] Display a message when pinPads returns an error --- customize.dist/translations/messages.fr.js | 1 + customize.dist/translations/messages.js | 1 + www/common/userObject.js | 5 ++++- www/drive/main.js | 9 ++++++--- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 5db44bf2d..2302a1d62 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -247,6 +247,7 @@ define(function () { 'nos raisons pour ces changements et pourquoi vous devriez vraiment <a href="/register/">vous enregistrer</a> et <a href="/login/">vous connecter</a>.'; out.fm_backup_title = 'Lien de secours'; out.fm_nameFile = 'Comment souhaitez-vous nommer ce fichier ?'; + out.fm_error_cantPin = "Erreur interne du serveur. Veuillez recharger la page et essayer de nouveau."; // File - Context menu out.fc_newfolder = "Nouveau dossier"; out.fc_rename = "Renommer"; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 8a1de05a5..69e9cc3c2 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -249,6 +249,7 @@ define(function () { 'why we are doing this and why you really should <a href="/register/">Sign up</a> and <a href="/login/">Log in</a>.'; out.fm_backup_title = 'Backup link'; out.fm_nameFile = 'How would you like to name that file?'; + out.fm_error_cantPin = "Internal server error. Please reload the page and try again."; // File - Context menu out.fc_newfolder = "New folder"; out.fc_rename = "Rename"; diff --git a/www/common/userObject.js b/www/common/userObject.js index 51840dca5..1559397d0 100644 --- a/www/common/userObject.js +++ b/www/common/userObject.js @@ -575,7 +575,10 @@ define([ atime: +new Date(), ctime: +new Date() }, function (err) { - if (err) { return void cb(err); } + if (err) { + logError(err); + return void cb(err); + } parentEl[fileName] = href; var newPath = filePath.slice(); newPath.push(fileName); diff --git a/www/drive/main.js b/www/drive/main.js index a85c86e47..861136454 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -1397,8 +1397,11 @@ define([ // Handlers if (isInRoot) { var onCreated = function (err, info) { - if (err && err === E_OVER_LIMIT) { - return void Cryptpad.alert(Messages.pinLimitDrive, null, true); + if (err) { + if (err === E_OVER_LIMIT) { + return void Cryptpad.alert(Messages.pinLimitDrive, null, true); + } + return void Cryptpad.alert(Messages.fm_error_cantPin); } module.newFolder = info.newPath; refresh(); @@ -2361,7 +2364,7 @@ define([ return void Cryptpad.alert(Messages.pinLimitDrive, null, true); } if (err) { - return void console.error("Unable to create the file", err); + return void Cryptpad.alert(Messages.fm_error_cantPin); } module.newFolder = info.newPath; refresh(); From 0c2f84058b1c857a593d159c951eb86fe42dfeef Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 22 May 2017 11:16:01 +0200 Subject: [PATCH 116/236] Improve css for the file app --- customize.dist/src/less/cryptpad.less | 9 +++++++++ rpc.js | 2 +- www/file/file.css | 17 ++++++++++------- www/file/file.less | 19 +++++++++++-------- www/file/inner.html | 4 +++- www/file/main.js | 9 ++++----- 6 files changed, 38 insertions(+), 22 deletions(-) diff --git a/customize.dist/src/less/cryptpad.less b/customize.dist/src/less/cryptpad.less index 883e62ce4..0ee8785e6 100644 --- a/customize.dist/src/less/cryptpad.less +++ b/customize.dist/src/less/cryptpad.less @@ -43,6 +43,15 @@ a.github-corner > svg { font-size: 1.02em; } +.unselectable { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + h1,h2,h3,h4,h5,h6 { color: @fore; diff --git a/rpc.js b/rpc.js index a155c8272..e7d3c1627 100644 --- a/rpc.js +++ b/rpc.js @@ -13,7 +13,7 @@ var RPC = module.exports; var Store = require("./storage/file"); -var DEFAULT_LIMIT = 150 * 1024 * 1024; +var DEFAULT_LIMIT = 50 * 1024 * 1024; var isValidId = function (chan) { return /^[a-fA-F0-9]/.test(chan) || diff --git a/www/file/file.css b/www/file/file.css index 375a356cc..f2fd8e6d5 100644 --- a/www/file/file.css +++ b/www/file/file.css @@ -9,10 +9,9 @@ body { } #file { display: block; - height: 300px; - width: 300px; + height: 100%; + width: 100%; border: 2px solid black; - margin: 50px; } .inputfile { width: 0.1px; @@ -29,18 +28,23 @@ body { width: 50vh; height: 50vh; display: block; - margin: auto; + margin: 50px auto; + max-width: 80vw; } #upload-form label { + line-height: 50vh; + text-align: center; position: relative; + padding: 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .hovering { background-color: rgba(255, 0, 115, 0.5) !important; } .block { display: block; - height: 50vh; - width: 50vh; } .hidden { display: none; @@ -48,7 +52,6 @@ body { .inputfile + label { border: 2px solid black; background-color: rgba(50, 50, 50, 0.1); - margin: 50px; display: block; } .inputfile:focus + label, diff --git a/www/file/file.less b/www/file/file.less index b3074e33c..db6942596 100644 --- a/www/file/file.less +++ b/www/file/file.less @@ -11,10 +11,9 @@ html, body { } #file { display: block; - height: 300px; - width: 300px; + height: 100%; + width: 100%; border: 2px solid black; - margin: 50px; } .inputfile { @@ -34,10 +33,17 @@ html, body { width: 50vh; height: 50vh; display: block; - margin: auto; + margin: 50px auto; + max-width: 80vw; } -#upload-form label{ +#upload-form label { + line-height: 50vh; + text-align: center; position: relative; + padding: 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .hovering { @@ -46,8 +52,6 @@ html, body { .block { display: block; - height: 50vh; - width: 50vh; } .hidden { display: none; @@ -55,7 +59,6 @@ html, body { .inputfile + label { border: 2px solid black; background-color: rgba(50, 50, 50, .10); - margin: 50px; display: block; } diff --git a/www/file/inner.html b/www/file/inner.html index c6fe5fb32..548ac6a47 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -6,12 +6,14 @@ <script src="/bower_components/jquery/dist/jquery.min.js"></script> <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css"> <link rel="stylesheet" href="/file/file.css"> + <link rel="stylesheet" href="/customize/main.css"> </head> <body> <div id="toolbar" class="toolbar-container"></div> <div id="upload-form" style="display: none;"> <input type="file" name="file" id="file" class="inputfile" /> - <label for="file" class="block" data-localization="upload_choose">Choose a file<span class="block" id="progress"> </span></label> + <label for="file" class="block unselectable" data-localization-title="upload_choose" + data-localization="upload_choose"><span class="block" id="progress"> </span></label> </div> <table id="status"> <tr> diff --git a/www/file/main.js b/www/file/main.js index ada0b50d2..56b46b1dd 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -181,11 +181,10 @@ define([ $tr.find('.progressValue').text(Messages.upload_cancelled); }); - var $tr2 = $('<tr>', {id: id}).appendTo($table); - $('<td>').text(obj.metadata.name).appendTo($tr2); - $('<td>').text(prettySize(estimate)).appendTo($tr2); - $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr2); - $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr2); + $('<td>').text(obj.metadata.name).appendTo($tr); + $('<td>').text(prettySize(estimate)).appendTo($tr); + $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr); + $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr); queue.next(); }; From c45f08f14755ba3ec79e4c87c129f1d5c001b746 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 22 May 2017 11:43:45 +0200 Subject: [PATCH 117/236] Use a download button instead of downloading a file automatically --- customize.dist/main.css | 8 ++++ customize.dist/translations/messages.fr.js | 1 + customize.dist/translations/messages.js | 1 + www/file/file.css | 9 ++-- www/file/file.less | 23 +++++----- www/file/inner.html | 9 +++- www/file/main.js | 51 ++++++++++++---------- 7 files changed, 63 insertions(+), 39 deletions(-) diff --git a/customize.dist/main.css b/customize.dist/main.css index 6ec0172ea..063324504 100644 --- a/customize.dist/main.css +++ b/customize.dist/main.css @@ -603,6 +603,14 @@ html.cp, font-family: lato, Helvetica, sans-serif; font-size: 1.02em; } +.cp .unselectable { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .cp h1, .cp h2, .cp h3, diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index a475dba00..6499258e0 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -366,6 +366,7 @@ define(function () { out.upload_name = "Nom du fichier"; out.upload_size = "Taille"; out.upload_progress = "État"; + out.download_button = "Déchiffrer et télécharger"; // general warnings out.warn_notPinned = "Ce pad n'est stocké dans aucun CryptDrive. Il va expirer après 3 mois d'inactivité. <a href='/about.html#pinning'>En savoir plus...</a>"; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index fd99ba7b7..737b271c9 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -371,6 +371,7 @@ define(function () { out.upload_name = "File name"; out.upload_size = "Size"; out.upload_progress = "Progress"; + out.download_button = "Decrypt & Download"; // general warnings out.warn_notPinned = "This pad is not in anyone's CryptDrive. It will expire after 3 months. <a href='/about.html#pinning'>Learn more...</a>"; diff --git a/www/file/file.css b/www/file/file.css index f2fd8e6d5..6554a77f0 100644 --- a/www/file/file.css +++ b/www/file/file.css @@ -7,7 +7,8 @@ body { padding: 0px; display: inline-block; } -#file { +#file, +#dl { display: block; height: 100%; width: 100%; @@ -21,7 +22,8 @@ body { position: absolute; z-index: -1; } -#upload-form { +#upload-form, +#download-form { padding: 0px; margin: 0px; position: relative; @@ -31,7 +33,8 @@ body { margin: 50px auto; max-width: 80vw; } -#upload-form label { +#upload-form label, +#download-form label { line-height: 50vh; text-align: center; position: relative; diff --git a/www/file/file.less b/www/file/file.less index db6942596..a7da1bb3e 100644 --- a/www/file/file.less +++ b/www/file/file.less @@ -9,7 +9,7 @@ html, body { padding: 0px; display: inline-block; } -#file { +#file, #dl { display: block; height: 100%; width: 100%; @@ -25,7 +25,7 @@ html, body { z-index: -1; } -#upload-form { +#upload-form, #download-form { padding: 0px; margin: 0px; @@ -35,17 +35,16 @@ html, body { display: block; margin: 50px auto; max-width: 80vw; + label { + line-height: 50vh; + text-align: center; + position: relative; + padding: 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } } -#upload-form label { - line-height: 50vh; - text-align: center; - position: relative; - padding: 10px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - .hovering { background-color: rgba(255, 0, 115, 0.5) !important; } diff --git a/www/file/inner.html b/www/file/inner.html index 548ac6a47..a9660b2d3 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -13,9 +13,14 @@ <div id="upload-form" style="display: none;"> <input type="file" name="file" id="file" class="inputfile" /> <label for="file" class="block unselectable" data-localization-title="upload_choose" - data-localization="upload_choose"><span class="block" id="progress"> </span></label> + data-localization="upload_choose"></label> </div> - <table id="status"> + <div id="download-form" style="display: none;"> + <input type="button" name="dl" id="dl" class="inputfile" /> + <label for="dl" class="block unselectable" data-localization-title="download_button" + data-localization="download_button"></label> + </div> + <table id="status" style="display: none;"> <tr> <td data-localization="upload_name">File name</td> <td data-localization="upload_size">Size</td> diff --git a/www/file/main.js b/www/file/main.js index 56b46b1dd..3c25ec070 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -21,8 +21,9 @@ define([ var ifrw = $('#pad-iframe')[0].contentWindow; var $iframe = $('#pad-iframe').contents(); var $form = $iframe.find('#upload-form'); - //var $progress = $form.find('#progress'); + var $dlform = $iframe.find('#download-form'); var $label = $form.find('label'); + var $dllabel = $dlform.find('label'); var $table = $iframe.find('#status'); Cryptpad.addLoadingScreen(); @@ -100,8 +101,6 @@ define([ var b64Key = Nacl.util.encodeBase64(key); Cryptpad.replaceHash(Cryptpad.getFileHashFromKeys(id, b64Key)); - //$form.hide(); - APP.toolbar.addElement(['fileshare'], {}); var title = document.title = metadata.name; @@ -250,30 +249,38 @@ define([ Title.updateTitle(Cryptpad.initialName || getTitle() || Title.defaultTitle); if (!uploadMode) { - var src = Cryptpad.getBlobPathFromHex(hexFileName); - return Cryptpad.fetch(src, function (e, u8) { - if (e) { return void Cryptpad.alert(e); } - // now decrypt the u8 - var cryptKey = secret.keys && secret.keys.fileKeyStr; - var key = Nacl.util.decodeBase64(cryptKey); + $dlform.show(); + Cryptpad.removeLoadingScreen(); + $dlform.find('#dl').click(function (e) { - if (!u8 || !u8.length) { - return void Cryptpad.errorLoadingScreen(e); - } + if (myFile) { exportFile(); } - FileCrypto.decrypt(u8, key, function (e, data) { - if (e) { - Cryptpad.removeLoadingScreen(); - return console.error(e); + var src = Cryptpad.getBlobPathFromHex(hexFileName); + return Cryptpad.fetch(src, function (e, u8) { + if (e) { return void Cryptpad.alert(e); } + // now decrypt the u8 + var cryptKey = secret.keys && secret.keys.fileKeyStr; + var key = Nacl.util.decodeBase64(cryptKey); + + if (!u8 || !u8.length) { + return void Cryptpad.errorLoadingScreen(e); } - console.log(data); - var title = document.title = data.metadata.name; - myFile = data.content; - myDataType = data.metadata.type; - Title.updateTitle(title || Title.defaultTitle); - Cryptpad.removeLoadingScreen(); + + FileCrypto.decrypt(u8, key, function (e, data) { + if (e) { + return console.error(e); + } + console.log(data); + var title = document.title = data.metadata.name; + myFile = data.content; + myDataType = data.metadata.type; + Title.updateTitle(title || Title.defaultTitle); + exportFile(); + }); }); + }); + return; } if (!Cryptpad.isLoggedIn()) { From 4ee42b87d47ce1d4189ea88e54749d15681bfa6f Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 12:04:47 +0200 Subject: [PATCH 118/236] make file crypto great again --- www/file/file-crypto.js | 58 +++++++++++++++++++++++++---------------- www/file/main.js | 2 ++ 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js index cde49759c..c7bd74ea3 100644 --- a/www/file/file-crypto.js +++ b/www/file/file-crypto.js @@ -58,14 +58,14 @@ define([ }; var joinChunks = function (chunks) { - return new Uint8Array(chunks.reduce(function (A, B) { - return slice(A).concat(slice(B)); - }, [])); + return new Blob(chunks); }; - var decrypt = function (u8, key, cb) { - var fail = function (e) { - cb(e || "DECRYPTION_ERROR"); + var decrypt = function (u8, key, done, progress) { + var MAX = u8.length; + var _progress = function (offset) { + if (typeof(progress) !== 'function') { return; } + progress(Math.min(1, offset / MAX)); }; var nonce = createNonce(); @@ -86,16 +86,18 @@ define([ try { res.metadata = JSON.parse(Nacl.util.encodeUTF8(metaChunk)); } catch (e) { - return fail('E_METADATA_DECRYPTION'); + return window.setTimeout(function () { + done('E_METADATA_DECRYPTION'); + }); } if (!res.metadata) { return void setTimeout(function () { - cb('NO_METADATA'); + done('NO_METADATA'); }); } - var takeChunk = function () { + var takeChunk = function (cb) { var start = i * cypherChunkLength + 2 + metadataLength; var end = start + cypherChunkLength; i++; @@ -104,24 +106,36 @@ define([ // decrypt the chunk var plaintext = Nacl.secretbox.open(box, nonce, key); increment(nonce); - return plaintext; + + if (!plaintext) { return cb('DECRYPTION_ERROR'); } + + _progress(end); + cb(void 0, plaintext); }; var chunks = []; - // decrypt file contents - var chunk; - for (;i * cypherChunkLength < u8.length;) { - chunk = takeChunk(); - if (!chunk) { - return window.setTimeout(fail); - } - chunks.push(chunk); - } - // send chunks - res.content = joinChunks(chunks); + var again = function () { + takeChunk(function (e, plaintext) { + if (e) { + return setTimeout(function () { + done(e); + }); + } + if (plaintext) { + if (i * cypherChunkLength < u8.length) { // not done + chunks.push(plaintext); + return setTimeout(again); + } + chunks.push(plaintext); + res.content = joinChunks(chunks); + return done(void 0, res); + } + done('UNEXPECTED_ENDING'); + }); + }; - cb(void 0, res); + again(); }; // metadata diff --git a/www/file/main.js b/www/file/main.js index ada0b50d2..0ce6ecefa 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -273,6 +273,8 @@ define([ myDataType = data.metadata.type; Title.updateTitle(title || Title.defaultTitle); Cryptpad.removeLoadingScreen(); + }, function (progress) { + console.error(progress); }); }); } From 6e7fe879745e4c63dbc9f2eda54d0350bb50a09e Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 12:06:29 +0200 Subject: [PATCH 119/236] WIP debug file upload errors. use better error strings --- rpc.js | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/rpc.js b/rpc.js index a155c8272..b0c5dbb12 100644 --- a/rpc.js +++ b/rpc.js @@ -303,7 +303,7 @@ var getFileSize = function (Env, channel, cb) { var getMultipleFileSize = function (Env, channels, cb) { var msgStore = Env.msgStore; - if (!Array.isArray(channels)) { return cb('INVALID_LIST'); } + if (!Array.isArray(channels)) { return cb('INVALID_PIN_LIST'); } if (typeof(msgStore.getChannelSize) !== 'function') { return cb('GET_CHANNEL_SIZE_UNSUPPORTED'); } @@ -331,10 +331,8 @@ var getMultipleFileSize = function (Env, channels, cb) { var getTotalSize = function (Env, publicKey, cb) { var bytes = 0; - //var msgStore = Env.msgStore; - return void getChannelList(Env, publicKey, function (channels) { - if (!channels) { return cb('NO_ARRAY'); } // unexpected + if (!channels) { return cb('INVALID_PIN_LIST'); } // unexpected var count = channels.length; if (!count) { cb(void 0, 0); } @@ -464,7 +462,7 @@ var sumChannelSizes = function (sizes) { var pinChannel = function (Env, publicKey, channels, cb) { if (!channels && channels.filter) { - return void cb('[TYPE_ERROR] pin expects channel list argument'); + return void cb('INVALID_PIN_LIST'); } // get channel list ensures your session has a cached channel list @@ -508,7 +506,7 @@ var unpinChannel = function (Env, publicKey, channels, cb) { var pinStore = Env.pinStore; if (!channels && channels.filter) { // expected array - return void cb('[TYPE_ERROR] unpin expects channel list argument'); + return void cb('INVALID_PIN_LIST'); } getChannelList(Env, publicKey, function (pinned) { @@ -700,7 +698,9 @@ var upload_complete = function (Env, publicKey, cb) { safeMkdir(Path.join(paths.blob, prefix), function (e) { if (e) { + console.error('[safeMkdir]'); console.error(e); + console.log(); return void cb('RENAME_ERR'); } isFile(newPath, function (e, yes) { @@ -717,20 +717,39 @@ var upload_complete = function (Env, publicKey, cb) { }); }; - tryRandomLocation(function (e, newPath, id) { + var retries = 3; + + var handleMove = function (e, newPath, id) { + if (e) { + if (retries--) { + setTimeout(function () { + return tryRandomLocation(handleMove); + }, 750); + } + } + + // lol wut handle ur errors Fs.rename(oldPath, newPath, function (e) { if (e) { console.error(e); + + if (retries--) { + return setTimeout(function () { + tryRandomLocation(handleMove); + }, 750); + } + return cb(e); } cb(void 0, id); }); - }); + }; + + tryRandomLocation(handleMove); }; var upload_status = function (Env, publicKey, filesize, cb) { var paths = Env.paths; - //var msgStore = Env.msgStore; // validate that the provided size is actually a positive number if (typeof(filesize) !== 'number' && From dd73ad2dd5096bc37bd825c11384ee43bb452119 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 12:26:44 +0200 Subject: [PATCH 120/236] add decryptMetadata function --- www/file/main.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/www/file/main.js b/www/file/main.js index 7fb0d0e88..66c749b89 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -257,6 +257,8 @@ define([ var src = Cryptpad.getBlobPathFromHex(hexFileName); return Cryptpad.fetch(src, function (e, u8) { if (e) { return void Cryptpad.alert(e); } + + // now decrypt the u8 var cryptKey = secret.keys && secret.keys.fileKeyStr; var key = Nacl.util.decodeBase64(cryptKey); @@ -265,6 +267,7 @@ define([ return void Cryptpad.errorLoadingScreen(e); } + return console.error(FileCrypto.decryptMetadata(u8, key)); FileCrypto.decrypt(u8, key, function (e, data) { if (e) { return console.error(e); From 3964f4feee598e38f02b7bb1a95b92bde219ace8 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 22 May 2017 12:30:00 +0200 Subject: [PATCH 121/236] Display the progress when downloading a file --- www/file/file.css | 8 +++++--- www/file/file.less | 12 ++++++++---- www/file/inner.html | 1 + www/file/main.js | 3 +++ 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/www/file/file.css b/www/file/file.css index 6554a77f0..d4248fa80 100644 --- a/www/file/file.css +++ b/www/file/file.css @@ -35,13 +35,15 @@ body { } #upload-form label, #download-form label { - line-height: 50vh; + line-height: calc(50vh - 20px); text-align: center; position: relative; padding: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + height: 50vh; + box-sizing: border-box; } .hovering { background-color: rgba(255, 0, 115, 0.5) !important; @@ -63,8 +65,8 @@ body { } #progress { position: absolute; - top: 0px; - left: 0px; + top: 0; + left: 0; height: 100%; transition: width 500ms; width: 0%; diff --git a/www/file/file.less b/www/file/file.less index a7da1bb3e..ebf800584 100644 --- a/www/file/file.less +++ b/www/file/file.less @@ -1,6 +1,8 @@ @import "../../customize.dist/src/less/variables.less"; @import "../../customize.dist/src/less/mixins.less"; +@button-border: 2px; + html, body { margin: 0px; } @@ -13,7 +15,7 @@ html, body { display: block; height: 100%; width: 100%; - border: 2px solid black; + border: @button-border solid black; } .inputfile { @@ -36,13 +38,15 @@ html, body { margin: 50px auto; max-width: 80vw; label { - line-height: 50vh; + line-height: ~"calc(50vh - 20px)"; text-align: center; position: relative; padding: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + height: 50vh; + box-sizing: border-box; } } .hovering { @@ -68,8 +72,8 @@ html, body { #progress { position: absolute; - top: 0px; - left: 0px; + top: 0; + left: 0; height: 100%; diff --git a/www/file/inner.html b/www/file/inner.html index a9660b2d3..c56aa80bf 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -19,6 +19,7 @@ <input type="button" name="dl" id="dl" class="inputfile" /> <label for="dl" class="block unselectable" data-localization-title="download_button" data-localization="download_button"></label> + <span class="block" id="progress"> </span> </div> <table id="status" style="display: none;"> <tr> diff --git a/www/file/main.js b/www/file/main.js index 7fb0d0e88..a80e571c9 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -25,6 +25,7 @@ define([ var $label = $form.find('label'); var $dllabel = $dlform.find('label'); var $table = $iframe.find('#status'); + var $progress = $iframe.find('#progress'); Cryptpad.addLoadingScreen(); @@ -276,6 +277,8 @@ define([ Title.updateTitle(title || Title.defaultTitle); exportFile(); }, function (progress) { + var p = progress * 100 +'%'; + $progress.width(p); console.error(progress); }); }); From a99080fb74ffd875d9d975ef08d45add1ae0112a Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 12:31:00 +0200 Subject: [PATCH 122/236] push the rest of the code --- www/file/file-crypto.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js index c7bd74ea3..a36a3fc19 100644 --- a/www/file/file-crypto.js +++ b/www/file/file-crypto.js @@ -61,6 +61,19 @@ define([ return new Blob(chunks); }; + var decryptMetadata = function (u8, key) { + var prefix = u8.subarray(0, 2); + var metadataLength = decodePrefix(prefix); + + var metaBox = new Uint8Array(u8.subarray(2, 2 + metadataLength)); + var metaChunk = Nacl.secretbox.open(metaBox, createNonce(), key); + + try { + return JSON.parse(Nacl.util.encodeUTF8(metaChunk)); + } + catch (e) { return null; } + }; + var decrypt = function (u8, key, done, progress) { var MAX = u8.length; var _progress = function (offset) { @@ -198,5 +211,6 @@ define([ encrypt: encrypt, joinChunks: joinChunks, computeEncryptedSize: computeEncryptedSize, + decryptMetadata: decryptMetadata, }; }); From 0b6c587e2bce9739f38e9d0e7a8ce95fcd24505c Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 14:37:38 +0200 Subject: [PATCH 123/236] fetch and decrypt metadata with range requests --- www/file/file-crypto.js | 46 +++++++++++++++++++++++++++++++++++++++++ www/file/main.js | 12 ++++++----- 2 files changed, 53 insertions(+), 5 deletions(-) diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js index a36a3fc19..61e11ecdc 100644 --- a/www/file/file-crypto.js +++ b/www/file/file-crypto.js @@ -61,6 +61,43 @@ define([ return new Blob(chunks); }; + var concatBuffer = function (a, b) { // TODO make this not so ugly + return new Uint8Array(slice(a).concat(slice(b))); + }; + + var fetchMetadata = function (src, cb) { + var done = false; + var CB = function (err, res) { + if (done) { return; } + done = true; + cb(err, res); + }; + + var xhr = new XMLHttpRequest(); + xhr.open("GET", src, true); + xhr.setRequestHeader('Range', 'bytes=0-1'); + xhr.responseType = 'arraybuffer'; + + xhr.onload = function () { + if (/^4/.test('' + this.status)) { return CB('XHR_ERROR'); } + var res = new Uint8Array(xhr.response); + var size = decodePrefix(res); + var xhr2 = new XMLHttpRequest(); + + xhr2.open("GET", src, true); + xhr2.setRequestHeader('Range', 'bytes=2-' + (size + 2)); + xhr2.responseType = 'arraybuffer'; + xhr2.onload = function () { + if (/^4/.test('' + this.status)) { return CB('XHR_ERROR'); } + var res2 = new Uint8Array(xhr2.response); + var all = concatBuffer(res, res2); + CB(void 0, all); + }; + xhr2.send(null); + }; + xhr.send(null); + }; + var decryptMetadata = function (u8, key) { var prefix = u8.subarray(0, 2); var metadataLength = decodePrefix(prefix); @@ -74,6 +111,13 @@ define([ catch (e) { return null; } }; + var fetchDecryptedMetadata = function (src, key, cb) { + fetchMetadata(src, function (e, buffer) { + if (e) { return cb(e); } + cb(void 0, decryptMetadata(buffer, key)); + }); + }; + var decrypt = function (u8, key, done, progress) { var MAX = u8.length; var _progress = function (offset) { @@ -212,5 +256,7 @@ define([ joinChunks: joinChunks, computeEncryptedSize: computeEncryptedSize, decryptMetadata: decryptMetadata, + fetchMetadata: fetchMetadata, + fetchDecryptedMetadata: fetchDecryptedMetadata, }; }); diff --git a/www/file/main.js b/www/file/main.js index 66c749b89..04bf80259 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -255,19 +255,21 @@ define([ if (myFile) { return void exportFile(); } var src = Cryptpad.getBlobPathFromHex(hexFileName); + var cryptKey = secret.keys && secret.keys.fileKeyStr; + var key = Nacl.util.decodeBase64(cryptKey); + +/* return FileCrypto.fetchDecryptedMetadata(src, key, function (e, metadata) { + if (e) { return console.error(e); } + console.log(metadata); + });*/ return Cryptpad.fetch(src, function (e, u8) { if (e) { return void Cryptpad.alert(e); } - // now decrypt the u8 - var cryptKey = secret.keys && secret.keys.fileKeyStr; - var key = Nacl.util.decodeBase64(cryptKey); - if (!u8 || !u8.length) { return void Cryptpad.errorLoadingScreen(e); } - return console.error(FileCrypto.decryptMetadata(u8, key)); FileCrypto.decrypt(u8, key, function (e, data) { if (e) { return console.error(e); From 71dc0af6c76a4ab04040070a11e44fc41cb5611d Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 14:37:57 +0200 Subject: [PATCH 124/236] better test for success error codes --- www/common/common-util.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/common-util.js b/www/common/common-util.js index f04b85199..6fb2ad7bb 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -114,7 +114,7 @@ define([], function () { xhr.open("GET", src, true); xhr.responseType = "arraybuffer"; xhr.onload = function () { - if ([200, 304].indexOf(this.status) === -1) { + if (/^4/.test(''+this.status)) { return CB('XHR_ERROR'); } return void CB(void 0, new Uint8Array(xhr.response)); From 346c289204d1f2612764ed2589cf95bd6dbeab4a Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 22 May 2017 14:39:58 +0200 Subject: [PATCH 125/236] Fix lint errors --- www/file/main.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/www/file/main.js b/www/file/main.js index 7ceb40885..36f3aea7d 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -23,7 +23,6 @@ define([ var $form = $iframe.find('#upload-form'); var $dlform = $iframe.find('#download-form'); var $label = $form.find('label'); - var $dllabel = $dlform.find('label'); var $table = $iframe.find('#status'); var $progress = $iframe.find('#progress'); @@ -252,7 +251,7 @@ define([ if (!uploadMode) { $dlform.show(); Cryptpad.removeLoadingScreen(); - $dlform.find('#dl').click(function (e) { + $dlform.find('#dl').click(function () { if (myFile) { return void exportFile(); } var src = Cryptpad.getBlobPathFromHex(hexFileName); @@ -268,7 +267,7 @@ define([ return void Cryptpad.errorLoadingScreen(e); } - return console.error(FileCrypto.decryptMetadata(u8, key)); +// return console.error(FileCrypto.decryptMetadata(u8, key)); FileCrypto.decrypt(u8, key, function (e, data) { if (e) { return console.error(e); From a6cf761172dcae7c654f3cb70e9d7489b4a8ce2d Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 14:45:14 +0200 Subject: [PATCH 126/236] don't store media tag pages in the drive --- www/media/main.js | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/www/media/main.js b/www/media/main.js index 4b8f45ecf..bd1764f9c 100644 --- a/www/media/main.js +++ b/www/media/main.js @@ -41,16 +41,9 @@ define([ }; var updateTitle = function (newTitle) { - Cryptpad.renamePad(newTitle, function (err, data) { - if (err) { - console.log("Couldn't set pad title"); - console.error(err); - return; - } - document.title = newTitle; - $bar.find('.' + Toolbar.constants.title).find('span.title').text(data); - $bar.find('.' + Toolbar.constants.title).find('input').val(data); - }); + document.title = newTitle; + $bar.find('.' + Toolbar.constants.title).find('span.title').text(data); + $bar.find('.' + Toolbar.constants.title).find('input').val(data); }; var suggestName = function () { From 6dc3c62ba46fed98386368509d0ce071ebc118b3 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 15:12:39 +0200 Subject: [PATCH 127/236] check for src before trying to ajax --- www/file/file-crypto.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js index 61e11ecdc..49ced7553 100644 --- a/www/file/file-crypto.js +++ b/www/file/file-crypto.js @@ -112,6 +112,11 @@ define([ }; var fetchDecryptedMetadata = function (src, key, cb) { + if (typeof(src) !== 'string') { + return window.setTimeout(function () { + cb('NO_SOURCE'); + }); + } fetchMetadata(src, function (e, buffer) { if (e) { return cb(e); } cb(void 0, decryptMetadata(buffer, key)); From 40b99e7bbfbfd175a39c5714a861c32eb1f70ad3 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 22 May 2017 15:30:59 +0200 Subject: [PATCH 128/236] Get the file name before downloading the entire file --- www/file/file.css | 1 + www/file/file.less | 1 + www/file/inner.html | 2 +- www/file/main.js | 83 +++++++++++++++++++++++++-------------------- 4 files changed, 50 insertions(+), 37 deletions(-) diff --git a/www/file/file.css b/www/file/file.css index d4248fa80..f1e78d72a 100644 --- a/www/file/file.css +++ b/www/file/file.css @@ -1,6 +1,7 @@ html, body { margin: 0px; + height: 100%; } .cryptpad-toolbar { margin-bottom: 1px; diff --git a/www/file/file.less b/www/file/file.less index ebf800584..04407f8e5 100644 --- a/www/file/file.less +++ b/www/file/file.less @@ -5,6 +5,7 @@ html, body { margin: 0px; + height: 100%; } .cryptpad-toolbar { margin-bottom: 1px; diff --git a/www/file/inner.html b/www/file/inner.html index c56aa80bf..f5946c099 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -19,7 +19,7 @@ <input type="button" name="dl" id="dl" class="inputfile" /> <label for="dl" class="block unselectable" data-localization-title="download_button" data-localization="download_button"></label> - <span class="block" id="progress"> </span> + <span class="block" id="progress"></span> </div> <table id="status" style="display: none;"> <tr> diff --git a/www/file/main.js b/www/file/main.js index 0e8a39294..ff0d52ec4 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -26,6 +26,9 @@ define([ var $table = $iframe.find('#status'); var $progress = $iframe.find('#progress'); + $iframe.find('body').on('dragover', function (e) { e.preventDefault(); }); + $iframe.find('body').on('drop', function (e) { e.preventDefault(); }); + Cryptpad.addLoadingScreen(); var Title; @@ -211,13 +214,10 @@ define([ }; var exportFile = function () { - var suggestion = document.title; - Cryptpad.prompt(Messages.exportPrompt, - Cryptpad.fixFileName(suggestion), function (filename) { - if (!(typeof(filename) === 'string' && filename)) { return; } - var blob = new Blob([myFile], {type: myDataType}); - saveAs(blob, filename); - }); + var filename = Cryptpad.fixFileName(document.title); + if (!(typeof(filename) === 'string' && filename)) { return; } + var blob = new Blob([myFile], {type: myDataType}); + saveAs(blob, filename); }; Title = Cryptpad.createTitle({}, function(){}, Cryptpad); @@ -250,40 +250,50 @@ define([ if (!uploadMode) { $dlform.show(); - Cryptpad.removeLoadingScreen(); - $dlform.find('#dl').click(function () { - if (myFile) { return void exportFile(); } + var src = Cryptpad.getBlobPathFromHex(hexFileName); + var cryptKey = secret.keys && secret.keys.fileKeyStr; + var key = Nacl.util.decodeBase64(cryptKey); - var src = Cryptpad.getBlobPathFromHex(hexFileName); - var cryptKey = secret.keys && secret.keys.fileKeyStr; - var key = Nacl.util.decodeBase64(cryptKey); + FileCrypto.fetchDecryptedMetadata(src, key, function (e, metadata) { + if (e) { return void console.error(e); } + var title = document.title = metadata.name; + Title.updateTitle(title || Title.defaultTitle); -/* return FileCrypto.fetchDecryptedMetadata(src, key, function (e, metadata) { - if (e) { return console.error(e); } - console.log(metadata); - });*/ - return Cryptpad.fetch(src, function (e, u8) { - if (e) { return void Cryptpad.alert(e); } + Cryptpad.removeLoadingScreen(); + var decrypting = false; + $dlform.find('#dl, #progress').click(function () { + if (decrypting) { return; } + if (myFile) { return void exportFile(); } + decrypting = true; - // now decrypt the u8 - if (!u8 || !u8.length) { - return void Cryptpad.errorLoadingScreen(e); - } - - FileCrypto.decrypt(u8, key, function (e, data) { + return Cryptpad.fetch(src, function (e, u8) { if (e) { - return console.error(e); + decrypting = false; + return void Cryptpad.alert(e); } - console.log(data); - var title = document.title = data.metadata.name; - myFile = data.content; - myDataType = data.metadata.type; - Title.updateTitle(title || Title.defaultTitle); - exportFile(); - }, function (progress) { - var p = progress * 100 +'%'; - $progress.width(p); - console.error(progress); + + // now decrypt the u8 + if (!u8 || !u8.length) { + return void Cryptpad.errorLoadingScreen(e); + } + + FileCrypto.decrypt(u8, key, function (e, data) { + if (e) { + decrypting = false; + return console.error(e); + } + console.log(data); + var title = document.title = data.metadata.name; + myFile = data.content; + myDataType = data.metadata.type; + Title.updateTitle(title || Title.defaultTitle); + exportFile(); + decrypting = false; + }, function (progress) { + var p = progress * 100 +'%'; + $progress.width(p); + console.error(progress); + }); }); }); }); @@ -341,6 +351,7 @@ define([ e.stopPropagation(); }) .on('drop', function (e) { + e.stopPropagation(); var dropped = e.originalEvent.dataTransfer.files; counter = 0; $label.removeClass('hovering'); From ff8701b6ba753ea2647a0067b08b3804fa12ad91 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 15:56:24 +0200 Subject: [PATCH 129/236] send note along with limit --- rpc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpc.js b/rpc.js index 3442a4c96..489f8b725 100644 --- a/rpc.js +++ b/rpc.js @@ -407,7 +407,7 @@ var updateLimits = function (config, publicKey, cb) { if (publicKey) { var limit = limits[publicKey]; l = limit && typeof limit.limit === "number" ? - [limit.limit, limit.plan] : [defaultLimit, '']; + [limit.limit, limit.plan, limit.note] : [defaultLimit, '', '']; } cb(void 0, l); } catch (e) { @@ -431,7 +431,7 @@ var getLimit = function (Env, publicKey, cb) { Env.defaultStorageLimit: DEFAULT_LIMIT; var toSend = limit && typeof(limit.limit) === "number"? - [limit.limit, limit.plan] : [defaultLimit, '']; + [limit.limit, limit.plan, limit.note] : [defaultLimit, '', '']; cb(void 0, toSend); }; From 259d34b7c8128e5500e6a3c2fd04e68685ad4c32 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 16:34:22 +0200 Subject: [PATCH 130/236] jshint compliance --- www/media/main.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/www/media/main.js b/www/media/main.js index bd1764f9c..81820f8c0 100644 --- a/www/media/main.js +++ b/www/media/main.js @@ -41,9 +41,9 @@ define([ }; var updateTitle = function (newTitle) { - document.title = newTitle; - $bar.find('.' + Toolbar.constants.title).find('span.title').text(data); - $bar.find('.' + Toolbar.constants.title).find('input').val(data); + var title = document.title = newTitle; + $bar.find('.' + Toolbar.constants.title).find('span.title').text(title); + $bar.find('.' + Toolbar.constants.title).find('input').val(title); }; var suggestName = function () { From 6d38a5abc1523706a2b2b04380243f910a0c7794 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 16:49:50 +0200 Subject: [PATCH 131/236] add new variables to example config --- config.example.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/config.example.js b/config.example.js index a91c384bd..fe3f2fb91 100644 --- a/config.example.js +++ b/config.example.js @@ -197,7 +197,7 @@ module.exports = { /* Setting this value to anything other than true will cause file upload * attempts to be rejected outright. */ - enableUploads: true, + enableUploads: false, /* If you have enabled file upload, you have the option of restricting it * to a list of users identified by their public keys. If this value is set @@ -209,7 +209,19 @@ module.exports = { * This is a temporary measure until a better quota system is in place. * registered users' public keys can be found on the settings page. */ - restrictUploads: true, + //restrictUploads: false, + + /* Default user storage limit (bytes) + * if you don't want to limit users, + * you can set this to the size of your hard disk + */ + defaultStorageLimit: 50 * 1024 * 1024, + + /* Max Upload Size (bytes) + * this sets the maximum size of any one file uploaded to the server. + * anything larger than this size will be rejected + */ + maxUploadSize: 20 * 1024 * 1024, /* clients can use the /settings/ app to opt out of usage feedback * which informs the server of things like how much each app is being From 2ca62776601b6da066b6d47c71a9145ae4d13824 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 16:50:32 +0200 Subject: [PATCH 132/236] enable pin limits by default --- customize.dist/application_config.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/customize.dist/application_config.js b/customize.dist/application_config.js index 949c612ee..24ed2c740 100644 --- a/customize.dist/application_config.js +++ b/customize.dist/application_config.js @@ -37,8 +37,7 @@ define(function() { config.enableHistory = true; - //config.enablePinLimit = true; - //config.pinLimit = 1000; + config.enablePinLimit = true; /* user passwords are hashed with scrypt, and salted with their username. this value will be appended to the username, causing the resulting hash From d55b7e411cf92457d8b9b8747c3a3ec446c951b4 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Mon, 22 May 2017 17:55:10 +0200 Subject: [PATCH 133/236] Display an alert in the drive when the limit is reached --- customize.dist/translations/messages.fr.js | 9 ++++++--- customize.dist/translations/messages.js | 9 ++++++--- www/common/cryptpad-common.js | 15 +++++++++++---- www/common/toolbar2.js | 2 +- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 6499258e0..da69e49f2 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -73,8 +73,10 @@ define(function () { out.redLight = "Vous êtes déconnectés de la session"; out.pinLimitReached = "Vous avez atteint votre limite de stockage"; - out.pinLimitReachedAlert = "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CrypDrive.<br>" + - "Pour résoudre ce problème, vous pouvez soit supprimer des pads de votre CryptDrive (y compris la corbeille), soit vous abonner à une offre premium pour augmenter la limite maximale."; + out.updated_0_pinLimitReachedAlert = "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CryptDrive.<br>" + + 'Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">abonner à une offre premium</a> pour augmenter la limite maximale.'; + out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert; + out.pinAboveLimitAlert = 'Depuis la dernière version, nous imposons désormais une limite de 50 Mo de stockage gratuit et vous utilisez actuellement {0}. You devriez soit supprimer certains pads ou soit vous abonner sur <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Votre contribution nous aidera à améliorer CryptPad et à répandre le Zero Knowledge. Vous pouvez contacter le <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> pour tout problème ou question concernant ces changements.'; out.pinLimitNotPinned = "Vous avez atteint votre limite de stockage.<br>"+ "Ce pad n'est pas enregistré dans votre CryptDrive."; out.pinLimitDrive = out.pinLimitReached+ ".<br>" + @@ -238,7 +240,8 @@ define(function () { out.fm_info_root = "Créez ici autant de dossiers que vous le souhaitez pour trier vos fichiers."; out.fm_info_unsorted = 'Contient tous les pads que vous avez ouvert et qui ne sont pas triés dans "Documents" ou déplacés vers la "Corbeille".'; // "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName" out.fm_info_template = "Contient tous les fichiers que vous avez sauvés en tant que modèle afin de les réutiliser lors de la création d'un nouveau pad."; - out.fm_info_trash = 'Les fichiers supprimés dans la corbeille sont également enlevés de "Tous les fichiers" et il est impossible de les récupérer depuis l\'explorateur de fichiers.'; // Same here for "All files" and "out.fm_filesDataName" + out.updated_0_fm_info_trash = "Vider la corbeille permet de libérer de l'espace dans votre CryptDrive"; + out.fm_info_trash = out.updated_0_fm_info_trash; out.fm_info_allFiles = 'Contient tous les fichiers de "Documents", "Fichiers non triés" et "Corbeille". Vous ne pouvez pas supprimer ou déplacer des fichiers depuis cet endroit.'; // Same here out.fm_info_anonymous = 'Vous n\'êtes pas connectés, ces pads risquent donc d\'être supprimés (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">découvrez pourquoi</a>). ' + '<a href="/register/">Inscrivez-vous</a> ou <a href="/login/">connectez-vous</a> pour les maintenir en vie.'; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 737b271c9..186bb3684 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -75,8 +75,10 @@ define(function () { out.redLight = "You are disconnected from the session"; out.pinLimitReached = "You've reached your storage limit"; - out.pinLimitReachedAlert = "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>" + - "To fix this problem, you can either remove pads from your CryptDrive (including the trash) or subscribe to a premium offer to increase your limit."; + out.updated_0_pinLimitReachedAlert = "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>" + + 'You can either remove pads from your CryptDrive or <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">subscribe to a premium offer</a> to increase your limit.'; + out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert; + out.pinAboveLimitAlert = 'As of this release, we are imposing a 50MB limit on free data storage and you are currently using {0}. You will need to either delete some pads or subscribe on <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Your contribution will help us improve CryptPad and spread Zero Knowledge. Please contact <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> if you have any other questions.'; out.pinLimitNotPinned = "You've reached your storage limit.<br>"+ "This pad is not stored in your CryptDrive."; out.pinLimitDrive = "You've reached your storage limit.<br>" + @@ -240,7 +242,8 @@ define(function () { out.fm_info_root = "Create as many nested folders here as you want to sort your files."; out.fm_info_unsorted = 'Contains all the files you\'ve visited that are not yet sorted in "Documents" or moved to the "Trash".'; // "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName" out.fm_info_template = 'Contains all the pads stored as templates and that you can re-use when you create a new pad.'; - out.fm_info_trash = 'Files deleted from the trash are also removed from "All files" and it is impossible to recover them from the file manager.'; // Same here for "All files" and "out.fm_filesDataName" + out.updated_0_fm_info_trash = 'Empty your trash to free space in your CryptDrive.'; + out.fm_info_trash = out.updated_0_fm_info_trash; out.fm_info_allFiles = 'Contains all the files from "Documents", "Unsorted" and "Trash". You can\'t move or remove files from here.'; // Same here out.fm_info_anonymous = 'You are not logged in so these pads may be deleted (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">find out why</a>). ' + '<a href="/register/">Sign up</a> or <a href="/login/">Log in</a> to keep them alive.'; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 9bbebbed3..7a2264864 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -792,6 +792,7 @@ define([ }; var LIMIT_REFRESH_RATE = 30000; // milliseconds + var limitReachedDisplayed = false; common.createUsageBar = function (cb, alwaysDisplayUpgrade) { var todo = function (err, state, data) { var $container = $('<span>', {'class':'limit-container'}); @@ -830,18 +831,24 @@ define([ var prettyLimit; if (unit === 'GB') { - prettyUsage = usage; //Messages._getKey('formattedGB', [usage]); + prettyUsage = Messages._getKey('formattedGB', [usage]); prettyLimit = Messages._getKey('formattedGB', [limit]); } else { - prettyUsage = usage; //Messages._getKey('formattedMB', [usage]); + prettyUsage = Messages._getKey('formattedMB', [usage]); prettyLimit = Messages._getKey('formattedMB', [limit]); } if (quota < 0.8) { $usage.addClass('normal'); } else if (quota < 1) { $usage.addClass('warning'); } - else { $usage.addClass('above'); } + else { + $usage.addClass('above'); + if (!limitReachedDisplayed) { + limitReachedDisplayed = true; + common.alert(Messages._getKey('pinAboveLimitAlert', [prettyUsage, encodeURIComponent(window.location.hostname)]), null, true); + } + } var $text = $('<span>', {'class': 'usageText'}); - $text.text(prettyUsage + ' / ' + prettyLimit); + $text.text(usage + ' / ' + prettyLimit); $limit.append($usage).append($text); window.setTimeout(function () { common.isOverPinLimit(todo); diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index 49e2376e8..57d113a48 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -617,7 +617,7 @@ define([ if (e) { return void console.error("Unable to get the pinned usage"); } if (overLimit) { $limit.show().click(function () { - Cryptpad.alert(Messages.pinLimitReachedAlert, null, true); + Cryptpad.alert(Messages._getKey('pinLimitReachedAlert', [encodeURIComponent(window.location.hostname)]), null, true); }); } }; From 70cae0d2c3ec62496cff97d573f925ad6d236790 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 22 May 2017 18:43:06 +0200 Subject: [PATCH 134/236] safely access pin reset response --- www/common/pinpad.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/www/common/pinpad.js b/www/common/pinpad.js index b14a5bac0..dbd7c8b22 100644 --- a/www/common/pinpad.js +++ b/www/common/pinpad.js @@ -77,6 +77,13 @@ define([ return; } rpc.send('RESET', channels, function (e, response) { + if (e) { + return void cb(e); + } + if (!response.length) { + console.log(response); + return void cb('INVALID_RESPONSE'); + } cb(e, response[0]); }); }; From c3437382fb7b0683da3a68def7e4898fd513d15f Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 23 May 2017 11:22:32 +0200 Subject: [PATCH 135/236] Fix the release version in the what's new popup --- www/common/cryptpad-common.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 7a2264864..18ea8678e 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -1325,14 +1325,16 @@ define([ var ver = arr[1]; if (!ver) { return; } var verArr = ver.split('.'); + verArr[2] = 0; if (verArr.length !== 3) { return; } var stored = localStorage[CRYPTPAD_VERSION] || '0.0.0'; var storedArr = stored.split('.'); + storedArr[2] = 0; var shouldUpdate = parseInt(verArr[0]) > parseInt(storedArr[0]) || (parseInt(verArr[0]) === parseInt(storedArr[0]) && parseInt(verArr[1]) > parseInt(storedArr[1])); if (!shouldUpdate) { return; } - common.alert(Messages._getKey('newVersion', [ver]), null, true); + common.alert(Messages._getKey('newVersion', [verArr.join('.')]), null, true); localStorage[CRYPTPAD_VERSION] = ver; }; From 91ba41b8e8a7f75eee8dc42773e65ebe1c673ebc Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 23 May 2017 11:46:59 +0200 Subject: [PATCH 136/236] hotfix for account ids --- rpc.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rpc.js b/rpc.js index 489f8b725..0257c498f 100644 --- a/rpc.js +++ b/rpc.js @@ -376,6 +376,11 @@ var updateLimits = function (config, publicKey, cb) { var defaultLimit = typeof(config.defaultStorageLimit) === 'number'? config.defaultStorageLimit: DEFAULT_LIMIT; + var userId; + if (publicKey) { + userId = unescapeKeyCharacters(publicKey); + } + var body = JSON.stringify({ domain: config.domain, subdomain: config.subdomain @@ -404,8 +409,8 @@ var updateLimits = function (config, publicKey, cb) { var json = JSON.parse(str); limits = json; var l; - if (publicKey) { - var limit = limits[publicKey]; + if (userId) { + var limit = limits[userId]; l = limit && typeof limit.limit === "number" ? [limit.limit, limit.plan, limit.note] : [defaultLimit, '', '']; } From 6ddfe0e901f7484d7f6a6b04ccb8407d9a3e170e Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 23 May 2017 12:14:31 +0200 Subject: [PATCH 137/236] Fix new lines in /pad userlist --- customize.dist/src/less/toolbar.less | 2 ++ customize.dist/toolbar.css | 2 ++ 2 files changed, 4 insertions(+) diff --git a/customize.dist/src/less/toolbar.less b/customize.dist/src/less/toolbar.less index c216e2835..df68bc8c4 100644 --- a/customize.dist/src/less/toolbar.less +++ b/customize.dist/src/less/toolbar.less @@ -414,6 +414,8 @@ margin-bottom: -1px; .cryptpad-dropdown-users { pre { + /* needed for ckeditor */ + white-space: pre; margin: 5px 0px; } } diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css index 2b80dc69c..ba7d7ea35 100644 --- a/customize.dist/toolbar.css +++ b/customize.dist/toolbar.css @@ -489,6 +489,8 @@ margin-bottom: -1px; } .cryptpad-toolbar-leftside .cryptpad-dropdown-users pre { + /* needed for ckeditor */ + white-space: pre; margin: 5px 0px; } .cryptpad-toolbar-leftside button { From 0a646a9534538ec874b69784cfcb8404fee67d88 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 23 May 2017 12:35:49 +0200 Subject: [PATCH 138/236] remove unnecessary space --- customize.dist/translations/messages.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 186bb3684..751cf3633 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -481,7 +481,7 @@ define(function () { '# CryptPad\'s Zero Knowledge collaborative code editor\n', '\n', '* What you type here is encrypted so only people who have the link can access it.\n', - '* You can choose the programming language to highlight and the UI color scheme in the upper right.' + '* You can choose the programming language to highlight and the UI color scheme in the upper right.' ].join(''); out.slideInitialState = [ From 964d0461549097155c66b86b767792cc1659e3ef Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 23 May 2017 14:50:28 +0200 Subject: [PATCH 139/236] Update a french translation key --- customize.dist/translations/messages.fr.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index da69e49f2..576e0d403 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -58,7 +58,7 @@ define(function () { 'Découvrez les nouveautés de la dernière version :<br>'+ '<a href="https://github.com/xwiki-labs/cryptpad/releases/tag/{0}" target="_blank">Notes de version pour CryptPad {0}</a>'; - out.upgrade = "Améliorer"; + out.upgrade = "Augmenter votre limite"; out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage"; out.MB = "Mo"; out.GB = "Go"; From 6324d9bbb0026d922e6039d6fd477ffc379d2410 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 23 May 2017 14:54:40 +0200 Subject: [PATCH 140/236] feedback on template feature usage --- www/common/cryptpad-common.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 18ea8678e..0559c1ce9 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -445,6 +445,7 @@ define([ Crypt.put(p.hash, val, function () { common.findOKButton().click(); common.removeLoadingScreen(); + common.feedback('TEMPLATE_USED'); }); }); }).appendTo($p); @@ -923,6 +924,7 @@ define([ common.addTemplate(makePad(href, title)); whenRealtimeSyncs(getStore().getProxy().info.realtime, function () { common.alert(Messages.templateSaved); + common.feedback('TEMPLATE_CREATED'); }); }); }; From b281d51d90774a2280bb9b3a135cf55d6d044937 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 23 May 2017 15:04:18 +0200 Subject: [PATCH 141/236] Fix typos in the french translation --- customize.dist/translations/messages.fr.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 576e0d403..a112d397e 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -389,15 +389,15 @@ define(function () { out.main_zeroKnowledge_p = "Vous n'avez pas besoin de croire que nous n'<em>allons</em> pas regarder vos pads. Avec la technologie Zero Knowledge de CryptPad, nous ne <em>pouvons</em> pas le faire. Apprenez-en plus sur notre manière de <a href=\"privacy.html\" title='Protection des données'>protéger vos données</a>."; out.main_writeItDown = 'Prenez-en note'; out.main_writeItDown_p = "Les plus grands projets naissent des plus petites idées. Prenez note de vos moments d'inspiration et de vos idées inattendues car vous ne savez pas lesquels seront des découvertes capitales."; - out.main_share = 'Partager le lien, partager le pad'; - out.main_share_p = "Faites croître vos idées à plusieurs : réalisez des réunions efficaes, collaborez sur vos listes de tâches et réalisez des présentations rapide avec tous vos amis sur tous vos appareils."; - out.main_organize = 'Soyez organisés'; - out.main_organize_p = "Avec le CryptPad Drive, vous pouvez garder vos vues sur ce qui est important. Les dossiers vous permettent de garder la trace de vos projets et d'avoir une vision globale du travail effectué."; + out.main_share = 'Partagez le lien, partagez le pad'; + out.main_share_p = "Faites croître vos idées à plusieurs : réalisez des réunions efficaces, collaborez sur vos listes de tâches et réalisez des présentations rapides avec tous vos amis sur tous vos appareils."; + out.main_organize = 'Soyez organisé'; + out.main_organize_p = "Avec CryptDrive, vous pouvez garder vos vues sur ce qui est important. Les dossiers vous permettent de garder la trace de vos projets et d'avoir une vision globale du travail effectué."; out.tryIt = 'Essayez-le !'; out.main_richText = 'Éditeur de texte'; out.main_richText_p = 'Éditez des documents texte collaborativement avec notre application <a href="http://ckeditor.com" target="_blank">CkEditor</a> temps-réel et Zero Knowledge.'; out.main_code = 'Éditeur de code'; - out.main_code_p = 'Modifier votre code collaborativement grâce à notre application <a href="https://www.codemirror.net" target="_blank">CodeMirror</a> temps-réel et Zero Knowledge.'; + out.main_code_p = 'Modifiez votre code collaborativement grâce à notre application <a href="https://www.codemirror.net" target="_blank">CodeMirror</a> temps-réel et Zero Knowledge.'; out.main_slide = 'Présentations'; out.main_slide_p = 'Créez vos présentations en syntaxe Markdown collaborativement de manière sécurisée et affichez les dans votre navigateur.'; out.main_poll = 'Sondages'; From 6faca87e73f55d00dd3e16b58065e40e6ec1ec30 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 23 May 2017 15:54:04 +0200 Subject: [PATCH 142/236] set preview content in read only mode --- www/code/main.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/www/code/main.js b/www/code/main.js index 6c9fbd0e1..fa6ecf12b 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -304,7 +304,10 @@ define([ onLocal(); // push local state to avoid parse errors later. - if (readOnly) { return; } + if (readOnly) { + config.onRemote(); + return; + } UserList.getLastName(toolbar.$userNameButton, isNew); }; From e6c04ccb49f1ab0aa52265a5ea391c0af066966f Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 23 May 2017 16:11:07 +0200 Subject: [PATCH 143/236] bump server after paying for an account --- www/auth/main.js | 5 +++++ www/common/cryptpad-common.js | 8 ++++---- www/common/pinpad.js | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/www/auth/main.js b/www/auth/main.js index 032f406ba..488165911 100644 --- a/www/auth/main.js +++ b/www/auth/main.js @@ -42,6 +42,11 @@ define([ sig: sig }; } + } else if (data.cmd === 'UPDATE_LIMIT') { + return Cryptpad.updatePinLimit(function (e, limit, plan, note) { + ret.res = [limit, plan, note]; + srcWindow.postMessage(JSON.stringify(ret), domain); + }); } else { ret.error = "UNKNOWN_CMD"; } diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 0559c1ce9..730a7984f 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -744,17 +744,17 @@ define([ common.updatePinLimit = function (cb) { if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } - rpc.updatePinLimits(function (e, limit, plan) { + rpc.updatePinLimits(function (e, limit, plan, note) { if (e) { return cb(e); } - cb(e, limit, plan); + cb(e, limit, plan, note); }); }; common.getPinLimit = function (cb) { if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); } - rpc.getLimit(function (e, limit, plan) { + rpc.getLimit(function (e, limit, plan, note) { if (e) { return cb(e); } - cb(void 0, limit, plan); + cb(void 0, limit, plan, note); }); }; diff --git a/www/common/pinpad.js b/www/common/pinpad.js index dbd7c8b22..ff1a37c44 100644 --- a/www/common/pinpad.js +++ b/www/common/pinpad.js @@ -133,7 +133,7 @@ define([ rpc.send('UPDATE_LIMITS', undefined, function (e, response) { if (e) { return void cb(e); } if (response && response.length && typeof(response[0]) === "number") { - cb (void 0, response[0], response[1]); + cb (void 0, response[0], response[1], response[2]); } else { cb('INVALID_RESPONSE'); } @@ -144,7 +144,7 @@ define([ rpc.send('GET_LIMIT', undefined, function (e, response) { if (e) { return void cb(e); } if (response && response.length && typeof(response[0]) === "number") { - cb (void 0, response[0], response[1]); + cb (void 0, response[0], response[1], response[2]); } else { cb('INVALID_RESPONSE'); } From 97cc4a6d54539b5d799cfd698f056b29b1b6f9b1 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 23 May 2017 18:03:35 +0200 Subject: [PATCH 144/236] add styling for tables in markdown preview --- www/code/inner.html | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/www/code/inner.html b/www/code/inner.html index 0ef693f1c..f27544238 100644 --- a/www/code/inner.html +++ b/www/code/inner.html @@ -86,6 +86,13 @@ max-width: 40vw; margin: auto; } + #preview table tr td, #preview table tr th { + border: 1px solid black; + padding: 15px; + } + #preview table tr th { + border: 3px solid black; + } </style> </head> <body> From 90f5713d4a053c634e6c76912b188dc5508a14b1 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 23 May 2017 18:09:30 +0200 Subject: [PATCH 145/236] Fix an issue with the search bar redirecting to incorrect location --- www/drive/main.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/www/drive/main.js b/www/drive/main.js index 861136454..5343bd829 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -1771,7 +1771,8 @@ define([ if (parentPath) { $a = $('<a>').text(Messages.fm_openParent).click(function (e) { e.preventDefault(); - parentPath.pop(); + if (filesOp.isInTrashRoot(parentPath)) { parentPath = [TRASH]; } + else { parentPath.pop(); } module.displayDirectory(parentPath); }); } @@ -1823,6 +1824,7 @@ define([ displayDirectory(parentPath, true); return; } + if (!isSearch) { delete APP.Search.oldLocation; } module.resetTree(); From dc80b6b11f102611cb48d6d792ee551f24bba165 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 11:27:16 +0200 Subject: [PATCH 146/236] throttle markdown preview --- www/code/main.js | 9 ++++++--- www/common/common-util.js | 9 +++++++++ www/common/cryptpad-common.js | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/www/code/main.js b/www/code/main.js index fa6ecf12b..660473ffd 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -110,6 +110,10 @@ define([ return stringify(obj); }; + var drawPreview = Cryptpad.throttle(function () { + DiffMd.apply(DiffMd.render(editor.getValue()), $preview); + }, 150); + var onLocal = config.onLocal = function () { if (initializing) { return; } if (isHistoryMode) { return; } @@ -117,7 +121,7 @@ define([ editor.save(); - DiffMd.apply(DiffMd.render(editor.getValue()), $preview); + drawPreview(); var textValue = canonicalize(CodeMirror.$textarea.val()); var shjson = stringifyInner(textValue); @@ -324,14 +328,13 @@ define([ var hjson = JSON.parse(shjson); var remoteDoc = hjson.content; - DiffMd.apply(DiffMd.render(remoteDoc), $preview); - var highlightMode = hjson.highlightMode; if (highlightMode && highlightMode !== APP.highlightMode) { CodeMirror.setMode(highlightMode, onModeChanged); } CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher); + drawPreview(); if (!readOnly) { var textValue = canonicalize(CodeMirror.$textarea.val()); diff --git a/www/common/common-util.js b/www/common/common-util.js index 6fb2ad7bb..debbd8e2d 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -122,5 +122,14 @@ define([], function () { xhr.send(null); }; + Util.throttle = function (f, ms) { + var to; + var g = function () { + window.clearTimeout(to); + to = window.setTimeout(f, ms); + }; + return g; + }; + return Util; }); diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 730a7984f..20927dc04 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -71,6 +71,7 @@ define([ common.bytesToMegabytes = Util.bytesToMegabytes; common.bytesToKilobytes = Util.bytesToKilobytes; common.fetch = Util.fetch; + common.throttle = Util.throttle; // import hash utilities for export var createRandomHash = common.createRandomHash = Hash.createRandomHash; From 378bf2aa943994b488c0a91008e94fdcf80259c3 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 11:27:31 +0200 Subject: [PATCH 147/236] yflory's word wrap fix --- www/code/inner.html | 1 + 1 file changed, 1 insertion(+) diff --git a/www/code/inner.html b/www/code/inner.html index f27544238..12f4c8cac 100644 --- a/www/code/inner.html +++ b/www/code/inner.html @@ -81,6 +81,7 @@ border-left: 1px solid black; box-sizing: border-box; font-family: Calibri,Ubuntu,sans-serif; + word-wrap: break-word; } #preview { max-width: 40vw; From fd83ae3e61d92f614361c52973c1b0464821eb96 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 11:34:40 +0200 Subject: [PATCH 148/236] implement createRandomInteger --- www/common/common-util.js | 4 ++++ www/common/cryptpad-common.js | 1 + 2 files changed, 5 insertions(+) diff --git a/www/common/common-util.js b/www/common/common-util.js index debbd8e2d..0d0d4c776 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -131,5 +131,9 @@ define([], function () { return g; }; + Util.createRandomInteger = function () { + return Math.floor(Math.random() * Number.MAX_SAFE_INTEGER); + }; + return Util; }); diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 20927dc04..5214fcc3b 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -72,6 +72,7 @@ define([ common.bytesToKilobytes = Util.bytesToKilobytes; common.fetch = Util.fetch; common.throttle = Util.throttle; + common.createRandomInteger = Util.createRandomInteger; // import hash utilities for export var createRandomHash = common.createRandomHash = Hash.createRandomHash; From c5bb8307573152c558756ebb78ec53ca3c435527 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 14:21:31 +0200 Subject: [PATCH 149/236] don't preview if hightlight mode is not markdown --- www/code/main.js | 1 + 1 file changed, 1 insertion(+) diff --git a/www/code/main.js b/www/code/main.js index 660473ffd..9cb3cae10 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -111,6 +111,7 @@ define([ }; var drawPreview = Cryptpad.throttle(function () { + if (CodeMirror.highlightMode !== 'markdown') { return; } DiffMd.apply(DiffMd.render(editor.getValue()), $preview); }, 150); From 83c0a6d37d348d80a4a3bfca781634c29e80c76a Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 24 May 2017 14:37:13 +0200 Subject: [PATCH 150/236] Romanian translation --- customize.dist/translations/messages.ro.js | 706 +++++++++++---------- 1 file changed, 357 insertions(+), 349 deletions(-) diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js index 4e2134c7c..162603908 100644 --- a/customize.dist/translations/messages.ro.js +++ b/customize.dist/translations/messages.ro.js @@ -1,357 +1,365 @@ define(function () { var out = {}; - /* - * - * ro - * - */ + out.main_title = "CryptPad: Zero Knowledge, Colaborare n timp real"; + out.main_slogan = "Puterea stă n cooperare - Colaborarea este cheia"; - out.main_title = ""; // "CryptPad: Zero Knowledge, Collaborative Real Time Editing" - out.main_slogan = ""; // "Unity is Strength - Collaboration is Key" - out.type = ""; // {"pad":"Rich text","code":"Code","poll":"Poll","slide":"Presentation","drive":"Drive","whiteboard":"Whiteboard","file":"File","media":"Media"} - out.button_newpad = ""; // "New Rich Text pad" - out.button_newcode = ""; // "New Code pad" - out.button_newpoll = ""; // "New Poll" - out.button_newslide = ""; // "New Presentation" - out.button_newwhiteboard = ""; // "New Whiteboard" - out.updated_0_common_connectionLost = ""; // "<b>Server Connection Lost</b><br>You're now in read-only mode until the connection is back." - out.common_connectionLost = out.updated_0_common_connectionLost; // TODO: Key updated --> make sure the updated key "out.updated_0_common_connectionLost" exists and is translated before that one. - out.websocketError = ""; // "Unable to connect to the websocket server..." - out.typeError = ""; // "This pad is not compatible with the selected application" - out.onLogout = ""; // "You are logged out, <a href=\"/\" target=\"_blank\">click here</a> to log in<br>or press <em>Escape</em> to access your pad in read-only mode." - out.wrongApp = ""; // "Unable to display the content of that realtime session in your browser. Please try to reload that page." - out.loading = ""; // "Loading..." - out.error = ""; // "Error" - out.saved = ""; // "Saved" - out.synced = ""; // "Everything is saved" - out.deleted = ""; // "Pad deleted from your CryptDrive" - out.disconnected = ""; // "Disconnected" - out.synchronizing = ""; // "Synchronizing" - out.reconnecting = ""; // "Reconnecting..." - out.lag = ""; // "Lag" - out.readonly = ""; // "Read only" - out.anonymous = ""; // "Anonymous" - out.yourself = ""; // "Yourself" - out.anonymousUsers = ""; // "anonymous editors" - out.anonymousUser = ""; // "anonymous editor" - out.users = ""; // "Users" - out.and = ""; // "And" - out.viewer = ""; // "viewer" - out.viewers = ""; // "viewers" - out.editor = ""; // "editor" - out.editors = ""; // "editors" - out.language = ""; // "Language" - out.upgrade = ""; // "Upgrade" - out.upgradeTitle = ""; // "Upgrade your account to increase the storage limit" - out.MB = ""; // "MB" - out.greenLight = ""; // "Everything is working fine" - out.orangeLight = ""; // "Your slow connection may impact your experience" - out.redLight = ""; // "You are disconnected from the session" - out.pinLimitReached = ""; // "You've reached your storage limit" - out.pinLimitReachedAlert = ""; // "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>To fix this problem, you can either remove pads from your CryptDrive (including the trash) or subscribe to a premium offer to increase your limit." - out.pinLimitNotPinned = ""; // "You've reached your storage limit.<br>This pad is not stored in your CryptDrive." - out.pinLimitDrive = ""; // "You've reached your storage limit.<br>You can't create new pads." - out.importButtonTitle = ""; // "Import a pad from a local file" - out.exportButtonTitle = ""; // "Export this pad to a local file" - out.exportPrompt = ""; // "What would you like to name your file?" - out.changeNamePrompt = ""; // "Change your name (leave empty to be anonymous): " - out.user_rename = ""; // "Change display name" - out.user_displayName = ""; // "Display name" - out.user_accountName = ""; // "Account name" - out.clickToEdit = ""; // "Click to edit" - out.forgetButtonTitle = ""; // "Move this pad to the trash" - out.forgetPrompt = ""; // "Clicking OK will move this pad to your trash. Are you sure?" - out.movedToTrash = ""; // "That pad has been moved to the trash.<br><a href=\"/drive/\">Access my Drive</a>" - out.shareButton = ""; // "Share" - out.shareSuccess = ""; // "Copied link to clipboard" - out.newButton = ""; // "New" - out.newButtonTitle = ""; // "Create a new pad" - out.saveTemplateButton = ""; // "Save as template" - out.saveTemplatePrompt = ""; // "Choose a title for the template" - out.templateSaved = ""; // "Template saved!" - out.selectTemplate = ""; // "Select a template or press escape" - out.presentButtonTitle = ""; // "Enter presentation mode" - out.presentSuccess = ""; // "Hit ESC to exit presentation mode" - out.backgroundButtonTitle = ""; // "Change the background color in the presentation" - out.colorButtonTitle = ""; // "Change the text color in presentation mode" - out.printButton = ""; // "Print (enter)" - out.printButtonTitle = ""; // "Print your slides or export them as a PDF file" - out.printOptions = ""; // "Layout options" - out.printSlideNumber = ""; // "Display the slide number" - out.printDate = ""; // "Display the date" - out.printTitle = ""; // "Display the pad title" - out.printCSS = ""; // "Custom style rules (CSS):" - out.printTransition = ""; // "Enable transition animations" - out.slideOptionsTitle = ""; // "Customize your slides" - out.slideOptionsButton = ""; // "Save (enter)" - out.editShare = ""; // "Editing link" - out.editShareTitle = ""; // "Copy the editing link to clipboard" - out.editOpen = ""; // "Open editing link in a new tab" - out.editOpenTitle = ""; // "Open this pad in editing mode in a new tab" - out.viewShare = ""; // "Read-only link" - out.viewShareTitle = ""; // "Copy the read-only link to clipboard" - out.viewOpen = ""; // "Open read-only link in a new tab" - out.viewOpenTitle = ""; // "Open this pad in read-only mode in a new tab" - out.notifyJoined = ""; // "{0} has joined the collaborative session" - out.notifyRenamed = ""; // "{0} is now known as {1}" - out.notifyLeft = ""; // "{0} has left the collaborative session" - out.okButton = ""; // "OK (enter)" - out.cancel = ""; // "Cancel" - out.cancelButton = ""; // "Cancel (esc)" - out.historyButton = ""; // "Display the document history" - out.history_next = ""; // "Go to the next version" - out.history_prev = ""; // "Go to the previous version" - out.history_goTo = ""; // "Go to the selected version" - out.history_close = ""; // "Back" - out.history_closeTitle = ""; // "Close the history" - out.history_restore = ""; // "Restore" - out.history_restoreTitle = ""; // "Restore the selected version of the document" - out.history_restorePrompt = ""; // "Are you sure you want to replace the current version of the document by the displayed one?" - out.history_restoreDone = ""; // "Document restored" - out.history_version = ""; // "Version:" - out.poll_title = ""; // "Zero Knowledge Date Picker" - out.poll_subtitle = ""; // "Zero Knowledge, <em>realtime</em> scheduling" - out.poll_p_save = ""; // "Your settings are updated instantly, so you never need to save." - out.poll_p_encryption = ""; // "All your input is encrypted so only people who have the link can access it. Even the server cannot see what you change." - out.wizardLog = ""; // "Click the button in the top left to return to your poll" - out.wizardTitle = ""; // "Use the wizard to create your poll" - out.wizardConfirm = ""; // "Are you really ready to add these options to your poll?" - out.poll_publish_button = ""; // "Publish" - out.poll_admin_button = ""; // "Admin" - out.poll_create_user = ""; // "Add a new user" - out.poll_create_option = ""; // "Add a new option" - out.poll_commit = ""; // "Commit" - out.poll_closeWizardButton = ""; // "Close wizard" - out.poll_closeWizardButtonTitle = ""; // "Close wizard" - out.poll_wizardComputeButton = ""; // "Compute Options" - out.poll_wizardClearButton = ""; // "Clear Table" - out.poll_wizardDescription = ""; // "Automatically create a number of options by entering any number of dates and times segments" - out.poll_wizardAddDateButton = ""; // "+ Dates" - out.poll_wizardAddTimeButton = ""; // "+ Times" - out.poll_optionPlaceholder = ""; // "Option" - out.poll_userPlaceholder = ""; // "Your name" - out.poll_removeOption = ""; // "Are you sure you'd like to remove this option?" - out.poll_removeUser = ""; // "Are you sure you'd like to remove this user?" - out.poll_titleHint = ""; // "Title" - out.poll_descriptionHint = ""; // "Describe your poll, and use the 'publish' button when you're done. Anyone with the link can change the description, but this is discouraged." - out.canvas_clear = ""; // "Clear" - out.canvas_delete = ""; // "Delete selection" - out.canvas_disable = ""; // "Disable draw" - out.canvas_enable = ""; // "Enable draw" - out.canvas_width = ""; // "Width" - out.canvas_opacity = ""; // "Opacity" - out.fm_rootName = ""; // "Documents" - out.fm_trashName = ""; // "Trash" - out.fm_unsortedName = ""; // "Unsorted files" - out.fm_filesDataName = ""; // "All files" - out.fm_templateName = ""; // "Templates" - out.fm_searchName = ""; // "Search" - out.fm_searchPlaceholder = ""; // "Search..." - out.fm_newButton = ""; // "New" - out.fm_newButtonTitle = ""; // "Create a new pad or folder" - out.fm_newFolder = ""; // "New folder" - out.fm_newFile = ""; // "New pad" - out.fm_folder = ""; // "Folder" - out.fm_folderName = ""; // "Folder name" - out.fm_numberOfFolders = ""; // "# of folders" - out.fm_numberOfFiles = ""; // "# of files" - out.fm_fileName = ""; // "File name" - out.fm_title = ""; // "Title" - out.fm_type = ""; // "Type" - out.fm_lastAccess = ""; // "Last access" - out.fm_creation = ""; // "Creation" - out.fm_forbidden = ""; // "Forbidden action" - out.fm_originalPath = ""; // "Original path" - out.fm_openParent = ""; // "Show in folder" - out.fm_noname = ""; // "Untitled Document" - out.fm_emptyTrashDialog = ""; // "Are you sure you want to empty the trash?" - out.fm_removeSeveralPermanentlyDialog = ""; // "Are you sure you want to remove these {0} elements from the trash permanently?" - out.fm_removePermanentlyDialog = ""; // "Are you sure you want to remove that element permanently?" - out.fm_removeSeveralDialog = ""; // "Are you sure you want to move these {0} elements to the trash?" - out.fm_removeDialog = ""; // "Are you sure you want to move {0} to the trash?" - out.fm_restoreDialog = ""; // "Are you sure you want to restore {0} to its previous location?" - out.fm_unknownFolderError = ""; // "The selected or last visited directory no longer exist. Opening the parent folder..." - out.fm_contextMenuError = ""; // "Unable to open the context menu for that element. If the problem persist, try to reload the page." - out.fm_selectError = ""; // "Unable to select the targetted element. If the problem persist, try to reload the page." - out.fm_categoryError = ""; // "Unable to open the selected category, displaying root." - out.fm_info_root = ""; // "Create as many nested folders here as you want to sort your files." - out.fm_info_unsorted = ""; // "Contains all the files you've visited that are not yet sorted in \"Documents\" or moved to the \"Trash\"." - out.fm_info_template = ""; // "Contains all the pads stored as templates and that you can re-use when you create a new pad." - out.fm_info_trash = ""; // "Files deleted from the trash are also removed from \"All files\" and it is impossible to recover them from the file manager." - out.fm_info_allFiles = ""; // "Contains all the files from \"Documents\", \"Unsorted\" and \"Trash\". You can't move or remove files from here." - out.fm_info_login = ""; // "Log in" - out.fm_info_register = ""; // "Sign up" - out.fm_info_anonymous = ""; // "You are not logged in so these pads may be deleted (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">find out why</a>). <a href=\"/register/\">Sign up</a> or <a href=\"/login/\">Log in</a> to keep them alive." - out.fm_alert_backupUrl = ""; // "Backup link for this drive.<br>It is <strong>highly recommended</strong> that you keep ip for yourself only.<br>You can use it to retrieve all your files in case your browser memory got erased.<br>Anybody with that link can edit or remove all the files in your file manager.<br>" - out.fm_alert_anonymous = ""; // "Hello there, you are currently using CryptPad anonymously, that's ok but your pads may be deleted after a period of inactivity. We have disabled advanced features of the drive for anonymous users because we want to be clear that it is not a safe place to store things. You can <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">read more</a> about why we are doing this and why you really should <a href=\"/register/\">Sign up</a> and <a href=\"/login/\">Log in</a>." - out.fm_backup_title = ""; // "Backup link" - out.fm_nameFile = ""; // "How would you like to name that file?" - out.fc_newfolder = ""; // "New folder" - out.fc_rename = ""; // "Rename" - out.fc_open = ""; // "Open" - out.fc_open_ro = ""; // "Open (read-only)" - out.fc_delete = ""; // "Delete" - out.fc_restore = ""; // "Restore" - out.fc_remove = ""; // "Delete permanently" - out.fc_empty = ""; // "Empty the trash" - out.fc_prop = ""; // "Properties" - out.fc_sizeInKilobytes = ""; // "Size in Kilobytes" - out.fo_moveUnsortedError = ""; // "You can't move a folder to the list of unsorted pads" - out.fo_existingNameError = ""; // "Name already used in that directory. Please choose another one." - out.fo_moveFolderToChildError = ""; // "You can't move a folder into one of its descendants" - out.fo_unableToRestore = ""; // "Unable to restore that file to its original location. You can try to move it to a new location." - out.fo_unavailableName = ""; // "A file or a folder with the same name already exist at the new location. Rename the element and try again." - out.login_login = ""; // "Log in" - out.login_makeAPad = ""; // "Create a pad anonymously" - out.login_nologin = ""; // "Browse local pads" - out.login_register = ""; // "Sign up" - out.logoutButton = ""; // "Log out" - out.settingsButton = ""; // "Settings" - out.login_username = ""; // "Username" - out.login_password = ""; // "Password" - out.login_confirm = ""; // "Confirm your password" - out.login_remember = ""; // "Remember me" - out.login_hashing = ""; // "Hashing your password, this might take some time." - out.login_hello = ""; // "Hello {0}," - out.login_helloNoName = ""; // "Hello," - out.login_accessDrive = ""; // "Access your drive" - out.login_orNoLogin = ""; // "or" - out.login_noSuchUser = ""; // "Invalid username or password. Try again, or sign up" - out.login_invalUser = ""; // "Username required" - out.login_invalPass = ""; // "Password required" - out.login_unhandledError = ""; // "An unexpected error occurred :(" - out.register_importRecent = ""; // "Import pad history (Recommended)" - out.register_acceptTerms = ""; // "I accept <a href='/terms.html'>the terms of service</a>" - out.register_passwordsDontMatch = ""; // "Passwords do not match!" - out.register_mustAcceptTerms = ""; // "You must accept the terms of service." - out.register_mustRememberPass = ""; // "We cannot reset your password if you forget it. It's very important that you remember it! Please check the checkbox to confirm." - out.register_header = ""; // "Welcome to CryptPad" - out.register_explanation = ""; // "<p>Lets go over a couple things first</p><ul><li>Your password is your secret key which encrypts all of your pads. If you lose it there is no way we can recover your data.</li><li>You can import pads which were recently viewed in your browser so you have them in your account.</li><li>If you are using a shared computer, you need to log out when you are done, closing the tab is not enough.</li></ul>" - out.register_writtenPassword = ""; // "I have written down my username and password, proceed" - out.register_cancel = ""; // "Go back" - out.register_warning = ""; // "Zero Knowledge means that we can't recover your data if you lose your password." - out.register_alreadyRegistered = ""; // "This user already exists, do you want to log in?" - out.settings_title = ""; // "Settings" - out.settings_save = ""; // "Save" - out.settings_backupTitle = ""; // "Backup or restore all your data" - out.settings_backup = ""; // "Backup" - out.settings_restore = ""; // "Restore" - out.settings_resetTitle = ""; // "Clean your drive" - out.settings_reset = ""; // "Remove all the files and folders from your CryptDrive" - out.settings_resetPrompt = ""; // "This action will remove all the pads from your drive.<br>Are you sure you want to continue?<br>Type “<em>I love CryptPad</em>” to confirm." - out.settings_resetDone = ""; // "Your drive is now empty!" - out.settings_resetError = ""; // "Incorrect verification text. Your CryptDrive has not been changed." - out.settings_resetTips = ""; // "Tips in CryptDrive" - out.settings_resetTipsButton = ""; // "Reset the available tips in CryptDrive" - out.settings_resetTipsDone = ""; // "All the tips are now visible again." - out.settings_importTitle = ""; // "Import this browser's recent pads in my CryptDrive" - out.settings_import = ""; // "Import" - out.settings_importConfirm = ""; // "Are you sure you want to import recent pads from this browser to your user account's CryptDrive?" - out.settings_importDone = ""; // "Import completed" - out.settings_userFeedbackHint1 = ""; // "CryptPad provides some very basic feedback to the server, to let us know how to improve your experience." - out.settings_userFeedbackHint2 = ""; // "Your pad's content will never be shared with the server." - out.settings_userFeedback = ""; // "Enable user feedback" - out.settings_anonymous = ""; // "You are not logged in. Settings here are specific to this browser." - out.settings_publicSigningKey = ""; // "Public Signing Key" - out.settings_usage = ""; // "Usage" - out.settings_usageTitle = ""; // "See the total size of your pinned pads in MB" - out.settings_pinningNotAvailable = ""; // "Pinned pads are only available to registered users." - out.settings_pinningError = ""; // "Something went wrong" - out.settings_usageAmount = ""; // "Your pinned pads occupy {0}MB" - out.settings_logoutEverywhereTitle = ""; // "Log out everywhere" - out.settings_logoutEverywhere = ""; // "Log out of all other web sessions" - out.settings_logoutEverywhereConfirm = ""; // "Are you sure? You will need to log in with all your devices." - out.upload_serverError = ""; // "Server Error: unable to upload your file at this time." - out.upload_uploadPending = ""; // "You already have an upload in progress. Cancel it and upload your new file?" - out.upload_success = ""; // "Your file ({0}) has been successfully uploaded and added to your drive" - out.main_p2 = ""; // "This project uses the <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, and the <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> realtime engine." - out.main_howitworks_p1 = ""; // "CryptPad uses a variant of the <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> algorithm which is able to find distributed consensus using a <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, a construct popularized by <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. This way the algorithm can avoid the need for a central server to resolve Operational Transform Edit Conflicts and without the need for resolving conflicts, the server can be kept unaware of the content which is being edited on the pad." - out.main_about_p2 = ""; // "If you have any questions or comments, you can <a href=\"https://twitter.com/cryptpad\">tweet us</a>, open an issue <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"our issue tracker\">on github</a>, come say hi on irc (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), or <a href=\"mailto:research@xwiki.com\">send us an email</a>." - out.main_info = ""; // "<h1>Collaborate in Confidence</h1><br> Grow your ideas together with shared documents while <strong>Zero Knowledge</strong> technology secures your privacy; even from us." - out.main_howitworks = ""; // "How It Works" - out.main_zeroKnowledge = ""; // "Zero Knowledge" - out.main_zeroKnowledge_p = ""; // "You don't have to trust that we <em>won't</em> look at your pads, with CryptPad's revolutionary Zero Knowledge Technology we <em>can't</em>. Learn more about how we protect your <a href=\"/privacy.html\" title='Privacy'>Privacy and Security</a>." - out.main_writeItDown = ""; // "Write it down" - out.main_writeItDown_p = ""; // "The greatest projects come from the smallest ideas. Take down the moments of inspiration and unexpected ideas because you never know which one might be a breakthrough." - out.main_share = ""; // "Share the link, share the pad" - out.main_share_p = ""; // "Grow your ideas together: conduct efficient meetings, collaborate on TODO lists and make quick presentations with all your friends and all your devices." - out.main_organize = ""; // "Get organized" - out.main_organize_p = ""; // "With CryptPad Drive, you can keep your sights on what's important. Folders allow you to keep track of your projects and have a global vision of where things are going." - out.tryIt = ""; // "Try it out!" - out.main_richText = ""; // "Rich Text editor" - out.main_richText_p = ""; // "Edit rich text pads collaboratively with our realtime Zero Knowledge <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application." - out.main_code = ""; // "Code editor" - out.main_code_p = ""; // "Edit code from your software collaboratively with our realtime Zero Knowledge <a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application." - out.main_slide = ""; // "Slide editor" - out.main_slide_p = ""; // "Create your presentations using the Markdown syntax, and display them in your browser." - out.main_poll = ""; // "Polls" - out.main_poll_p = ""; // "Plan your meeting or your event, or vote for the best solution regarding your problem." - out.main_drive = ""; // "CryptDrive" - out.footer_applications = ""; // "Applications" - out.footer_contact = ""; // "Contact" - out.footer_aboutUs = ""; // "About us" - out.about = ""; // "About" - out.privacy = ""; // "Privacy" - out.contact = ""; // "Contact" - out.terms = ""; // "ToS" - out.blog = ""; // "Blog" - out.policy_title = ""; // "CryptPad Privacy Policy" - out.policy_whatweknow = ""; // "What we know about you" - out.policy_whatweknow_p1 = ""; // "As an application that is hosted on the web, CryptPad has access to metadata exposed by the HTTP protocol. This includes your IP address, and various other HTTP headers that can be used to identify your particular browser. You can see what information your browser is sharing by visiting <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>." - out.policy_whatweknow_p2 = ""; // "We use <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"open source analytics platform\">Kibana</a>, an open source analytics platform, to learn more about our users. Kibana tells us about how you found CryptPad, via direct entry, through a search engine, or via a referral from another web service like Reddit or Twitter." - out.policy_howweuse = ""; // "How we use what we learn" - out.policy_howweuse_p1 = ""; // "We use this information to make better decisions about promoting CryptPad, by evaluating which of our past efforts were successful. Information about your location lets us know whether we should consider providing better support for languages other than English." - out.policy_howweuse_p2 = ""; // "Information about your browser (whether it's a desktop or mobile operating system) helps us make decisions when prioritizing feature improvements. Our development team is small, and we try to make choices that will improve as many users' experience as possible." - out.policy_whatwetell = ""; // "What we tell others about you" - out.policy_whatwetell_p1 = ""; // "We do not furnish to third parties the information that we gather or that you provide to us unless we are legally required to do so." - out.policy_links = ""; // "Links to other sites" - out.policy_links_p1 = ""; // "This site contains links to other sites, including those produced by other organizations. We are not responsible for the privacy practices or the contents of any outside sites. As a general rule, links to outside sites are launched in a new browser window, to make clear that you are leaving CryptPad.fr." - out.policy_ads = ""; // "Advertisement" - out.policy_ads_p1 = ""; // "We do not display any online advertising, though we may link to the bodies which are financing our research." - out.policy_choices = ""; // "Choices you have" - out.policy_choices_open = ""; // "Our code is open source, so you always have the option of hosting your own instance of CryptPad." - out.policy_choices_vpn = ""; // "If you want to use our hosted instance, but don't want to expose your IP address, you can protect your IP using the <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, or a <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>." - out.policy_choices_ads = ""; // "If you just want to block our analytics platform, you can use adblocking tools like <a href=\"https://www.eff.org/privacybadger\" title=\"download privacy badger\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Badger</a>." - out.tos_title = ""; // "CryptPad Terms of Service" - out.tos_legal = ""; // "Please don't be malicious, abusive, or do anything illegal." - out.tos_availability = ""; // "We hope you find this service useful, but availability or performance cannot be guaranteed. Please export your data regularly." - out.tos_e2ee = ""; // "CryptPad contents can be read or modified by anyone who can guess or otherwise obtain the pad's fragment identifier. We recommend that you use end-to-end-encrypted (e2ee) messaging technology to share links, and assume no liability in the event that such a link is leaked." - out.tos_logs = ""; // "Metadata provided by your browser to the server may be logged for the purpose of maintaining the service." - out.tos_3rdparties = ""; // "We do not provide individualized data to third parties unless required to by law." - out.bottom_france = ""; // "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Made with <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> in <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" alt=\"France\" /></a>" - out.bottom_support = ""; // "<a href=\"http://labs.xwiki.com/\" title=\"XWiki Labs\" target=\"_blank\" rel=\"noopener noreferrer\">An <img src=\"/customize/logo-xwiki2.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/> Labs Project </a> with the support of <a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>" - out.header_france = ""; // "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">With <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> from <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" title=\"France\" alt=\"France\"/> by <img src=\"/customize/logo-xwiki.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/></a>" - out.header_support = ""; // "<a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>" - out.header_logoTitle = ""; // "Go to the main page" - out.initialState = ""; // "<span style=\"font-size:16px;\"><p>This is <strong>CryptPad</strong>, the Zero Knowledge realtime collaborative editor. Everything is saved as you type.<br>Share the link to this pad to edit with friends or use the <span style=\"background-color:#5cb85c;color:#ffffff;\"> Share </span> button to share a <em>read-only link</em> which allows viewing but not editing.</p><p><span style=\"color:#808080;\"><em>Go ahead, just start typing...</em></span></p></span><p> <br></p>" - out.codeInitialState = ""; // "/*\n This is the CryptPad Zero Knowledge collaborative code editor.\n What you type here is encrypted so only people who have the link can access it.\n You can choose the programming language to highlight and the UI color scheme in the upper right.\n*/" - out.slideInitialState = ""; // "# CryptSlide\n* This is a zero knowledge realtime collaborative editor.\n* What you type here is encrypted so only people who have the link can access it.\n* Even the server cannot see what you type.\n* What you see here, what you hear here, when you leave here, let it stay here.\n\n---\n# How to use\n1. Write your slides content using markdown syntax\n - Learn more about markdown syntax [here](http://www.markdowntutorial.com/)\n2. Separate your slides with ---\n3. Click on the \"Play\" button to see the result - Your slides are updated in realtime" - out.driveReadmeTitle = ""; // "What is CryptDrive?" - out.readme_welcome = ""; // "Welcome to CryptPad !" - out.readme_p1 = ""; // "Welcome to CryptPad, this is where you can take note of things alone and with friends." - out.readme_p2 = ""; // "This pad will give you a quick walk through of how you can use CryptPad to take notes, keep them organized and work together on them." - out.readme_cat1 = ""; // "Get to know your CryptDrive" - out.readme_cat1_l1 = ""; // "Make a pad: In your CryptDrive, click {0} then {1} and you can make a pad." - out.readme_cat1_l2 = ""; // "Open Pads from your CryptDrive: double-click on a pad icon to open it." - out.readme_cat1_l3 = ""; // "Organize your pads: When you are logged in, every pad you access will be shown as in the {0} section of your drive." - out.readme_cat1_l3_l1 = ""; // "You can click and drag files into folders in the {0} section of your drive and make new folders." - out.readme_cat1_l3_l2 = ""; // "Remember to try right clicking on icons because there are often additional menus." - out.readme_cat1_l4 = ""; // "Put old pads in the trash: You can click and drag your pads into the {0} the same way you drag them into folders." - out.readme_cat2 = ""; // "Make pads like a pro" - out.edit = ""; // "edit" - out.view = ""; // "view" - out.readme_cat2_l1 = ""; // "The {0} button in your pad allows you to give access to collaborators to either {1} or to {2} the pad." - out.readme_cat2_l2 = ""; // "Change the title of the pad by clicking on the pencil" - out.readme_cat3 = ""; // "Discover CryptPad apps" - out.readme_cat3_l1 = ""; // "With CryptPad code editor, you can collaborate on code like Javascript and markdown like HTML and Markdown" - out.readme_cat3_l2 = ""; // "With CryptPad slide editor, you can make quick presentations using Markdown" - out.readme_cat3_l3 = ""; // "With CryptPoll you can take quick votes, especially for scheduling meetings which fit with everybody's calendar" - out.tips = ""; // {"lag":"The green icon in the upper right shows the quality of your internet connection to the CryptPad server.","shortcuts":"`ctrl+b`, `ctrl+i` and `ctrl+u` are quick shortcuts for bold, italic and underline.","indent":"In numbered and bulleted lists, you can use tab or shift+tab to quickly increase or decrease indentation.","title":"You can set the title of your pad by clicking the top center.","store":"Every time you visit a pad, if you're logged in it will be saved to your CryptDrive.","marker":"You can highlight text in a pad using the \"marker\" item in the styles dropdown menu."} - out.feedback_about = ""; // "If you're reading this, you were probably curious why CryptPad is requesting web pages when you perform certain actions" - out.feedback_privacy = ""; // "We care about your privacy, and at the same time we want CryptPad to be very easy to use. We use this file to figure out which UI features matter to our users, by requesting it along with a parameter specifying which action was taken." - out.feedback_optout = ""; // "If you would like to opt out, visit <a href='/settings/'>your user settings page</a>, where you'll find a checkbox to enable or disable user feedback" + out.type = {}; + out.pad = "Rich text"; + out.code = "Code"; + out.poll = "Poll"; + out.slide = "Presentation"; + out.drive = "Drive"; + out.whiteboard = "Whiteboard"; + out.file = "File"; + out.media = "Media"; + out.button_newpad = "Filă Text Nouă"; + out.button_newcode = "Filă Cod Nouă"; + out.button_newpoll = "Sondaj Nou"; + out.button_newslide = "Prezentare Noua"; + out.button_newwhiteboard = "Fila Desen Noua"; + out.updated_0_common_connectionLost = "<b>Conexiunea la server este pierdută</b><br>Până la revenirea conexiunii, vei fi n modul citire"; + out.common_connectionLost = out.updated_0_common_connectionLost; + out.websocketError = "Conexiune inexistentă către serverul websocket..."; + out.typeError = "Această filă nu este compatibilă cu aplicația aleasă"; + out.onLogout = "Nu mai ești autentificat, <a href=\"/\" target=\"_blank\">apasă aici</a> să te autentifici<br>sau apasă <em>Escape</em>să accesezi fila n modul citire."; + out.wrongApp = "Momentan nu putem arăta conținutul sesiunii n timp real n fereastra ta. Te rugăm rencarcă pagina."; + out.loading = "Încarcă..." + out.error = "Eroare"; + + out.saved = "Salvat"; + out.synced = "Totul a fost salvat"; + out.deleted = "Pad șters din CryptDrive-ul tău"; + out.disconnected = "Deconectat"; + out.synchronizing = "Se sincronizează"; + out.reconnecting = "Reconectare..."; + out.lag = "Decalaj"; + out.readonly = "Mod citire"; + out.anonymous = "Anonim"; + out.yourself = "Tu"; + out.anonymousUsers = "editori anonimi"; + out.anonymousUser = "editor anonim"; + out.users = "Utilizatori"; + out.and = "Și"; + out.viewer = "privitor"; + out.viewers = "privitori"; + out.editor = "editor"; + out.editors = "editori"; + out.language = "Limba"; + out.upgrade = "Actualizare"; + out.upgradeTitle = "Actualizează-ți contul pentru a mări limita de stocare"; + out.MB = "MB"; + out.greenLight = "Totul funcționează corespunzător"; + out.orangeLight = "Conexiunea lentă la internet ți poate afecta experiența"; + out.redLight = "Ai fost deconectat de la sesiune"; + out.pinLimitReached = "Ai atins limita de stocare"; + out.pinLimitReachedAlert = "Ai atins limita de stocare. Noile pad-uri nu vor mai fi stocate n CryptDrive.<br>Pentru a rezolva această problemă, poți să nlături pad-uri din CryptDrive-ul tău (incluzând gunoiul) sau să subscrii la un pachet premium pentru a ți extinde spațiul de stocare."; + out.pinLimitNotPinned = "Ai atins limita de stocare.<br>Acest pad nu va fi stocat n CryptDrive-ul tău."; + out.pinLimitDrive = "Ai atins limita de stocare.<br>Nu poți să creezi alte pad-uri."; + out.importButtonTitle = "Importă un pad dintr-un fișier local"; + out.exportButtonTitle = "Exportă pad-ul acesta către un fișier local"; + out.exportPrompt = "Cum ai vrea să ți denumești fișierul?"; + out.changeNamePrompt = "Schimbă-ți numele (lasă necompletat dacă vrei să fii anonim): "; + out.user_rename = "Schimbă numele afișat"; + out.user_displayName = "Nume afișat"; + out.user_accountName = "Nume cont"; + out.clickToEdit = "Click pentru editare"; + out.forgetButtonTitle = "Mută acest pad la gunoi"; + out.forgetPrompt = "Click-ul pe OK va muta acest pad la gunoi. Ești sigur?"; + out.movedToTrash = "Acest pad a fost mutat la gunoi.<br><a href=\"/drive/\">Acesează-mi Drive-ul</a>"; + out.shareButton = "Distribuie"; + out.shareSuccess = "Link copiat n clipboard"; + out.newButton = "Nou"; + out.newButtonTitle = "Crează un nou pad"; + out.saveTemplateButton = "Salvează ca șablon"; + out.saveTemplatePrompt = "Alege un titlu pentru șablon"; + out.templateSaved = "Șablon salvat!"; + out.selectTemplate = "Selectează un șablon sau apasă escape"; + out.presentButtonTitle = "Intră n modul de prezentare"; + out.presentSuccess = "Apasă ESC pentru a ieși din modul de prezentare"; + out.backgroundButtonTitle = "Schimbă culoarea de fundal din prezentare"; + out.colorButtonTitle = "Schimbă culoarea textului n modul de prezentare"; + out.printButton = "Printează (enter)"; + out.printButtonTitle = "Printează-ți slide-urile sau exportă-le ca fișier PDF"; + out.printOptions = "Opțiuni schemă"; + out.printSlideNumber = "Afișează numărul slide-ului"; + out.printDate = "Afișează data"; + out.printTitle = "Afișează titlul pad-ului"; + out.printCSS = "Reguli de stil personalizate (CSS):"; + out.printTransition = "Permite tranziția animațiilor"; + out.slideOptionsTitle = "Personalizează-ți slide-urile"; + out.slideOptionsButton = "Salvează (enter)"; + out.editShare = "Editează link-ul"; + out.editShareTitle = "Copiază link-ul de editare n clipboard"; + out.editOpen = "Deschide link-ul de editare ntr-o nouă filă"; + out.editOpenTitle = "Deschide acest pad n modul de editare ntr-o nouă filă"; + out.viewShare = "Link n modul citire"; + out.viewShareTitle = "Copiază link-ul n modul de citire n clipboard"; + out.viewOpen = "Deschide link-ul n modul de citire ntr-o filă nouă"; + out.viewOpenTitle = "Deschide acest pad n modul de citire ntr-o nouă filă"; + out.notifyJoined = "{0} s-au alăturat sesiunii colaborative"; + out.notifyRenamed = "{0} e cunoscut ca {1}"; + out.notifyLeft = "{0} au părăsit sesiunea colaborativă"; + out.okButton = "OK (enter)"; + out.cancel = "Anulează"; + out.cancelButton = "Anulează (esc)"; + out.historyButton = "Afișează istoricul documentului"; + out.history_next = "Mergi la versiunea următoare"; + out.history_prev = "Mergi la versiunea trecută"; + out.history_goTo = "Mergi la sesiunea selectată"; + out.history_close = "Înapoi"; + out.history_closeTitle = "Închide istoricul"; + out.history_restore = "Restabilește"; + out.history_restoreTitle = "Restabilește versiunea selectată a documentului"; + out.history_restorePrompt = "Ești sigur că vrei să nlocuiești versiunea curentă a documentului cu cea afișată?"; + out.history_restoreDone = ""; "Document restabilit"; + out.history_version = "Versiune:"; + out.poll_title = "Zero Knowledge Selector Dată"; + out.poll_subtitle = "Zero Knowledge, <em>realtime</em> programare"; + out.poll_p_save = "Setările tale sunt actualizate instant, așa că tu nu trebuie să salvezi."; + out.poll_p_encryption = "Tot conținutul tău este criptat ca doar persoanele cărora tu le dai link-ul să aibă acces. Nici chiar serverul nu poate să vadă ce modifici."; + out.wizardLog = "Click pe butonul din dreapta sus pentru a te ntoarce la sondajul tău"; + out.wizardTitle = "Folosește wizard-ul pentru a crea sondajul tău"; + out.wizardConfirm = "Ești pregătit să adaugi aceste opțiuni la sondajul tău?"; + out.poll_publish_button = "Publică"; + out.poll_admin_button = "Admin"; + out.poll_create_user = "Adaugă un nou utilizator"; + out.poll_create_option = "Adaugă o nouă opțiune"; + out.poll_commit = "Comite"; + out.poll_closeWizardButton = "Închide wizard-ul"; + out.poll_closeWizardButtonTitle = "Închide wizard-ul"; + out.poll_wizardComputeButton = "Calculează Opțiunile"; + out.poll_wizardClearButton = "Curăță Tabelul"; + out.poll_wizardDescription = "Crează automat un număr de opțiuni introducând orice număr de zile sau intervale orare"; + + out.poll_wizardAddDateButton = "+ Zi"; + out.poll_wizardAddTimeButton = "+ Ore"; + out.poll_optionPlaceholder = "Opțiune"; + out.poll_userPlaceholder = "Numele tău"; + out.poll_removeOption = "Ești sigur că vrei să ndepărtezi această opțiune?"; + out.poll_removeUser = "Ești sigur că vrei să ndepărtezi aceast utilizator?"; + out.poll_titleHint = "Titlu"; + out.poll_descriptionHint = "Descrie sondajul, și apoi folosește butonul 'publică' când ai terminat. Orice utilizator care are link-ul poate modifica descrierea, dar descurajăm această practică."; + out.canvas_clear = "Curăță"; + out.canvas_delete = "Curăță selecția"; + out.canvas_disable = "Dezactivează modul desen"; + out.canvas_enable = "Activează modul desen"; + out.canvas_width = "Lățime"; + out.canvas_opacity = "Opacitate"; + out.fm_rootName = "Documente"; + out.fm_trashName = "Gunoi"; + out.fm_unsortedName = "Fișiere nesortate"; + out.fm_filesDataName = "Toate fișierele"; + out.fm_templateName = "Șabloane"; + out.fm_searchName = "Caută"; + out.fm_searchPlaceholder = "Caută..."; + out.fm_newButton = "Nou"; + out.fm_newButtonTitle = "Crează un nou pad sau folder"; + out.fm_newFolder = "Folder nou"; + out.fm_newFile = "Pad nou"; + out.fm_folder = "Folder"; + out.fm_folderName = "Numele folderului"; + out.fm_numberOfFolders = "# de foldere"; + out.fm_numberOfFiles = "# of files"; + out.fm_fileName = "File name"; + out.fm_title = "Titlu"; + out.fm_type = "Tip"; + out.fm_lastAccess = "Ultima accesare"; + out.fm_creation = "Creare"; + out.fm_forbidden = "Acțiune interzisă"; + out.fm_originalPath = "Ruta inițială"; + out.fm_openParent = "Arată n folder"; + out.fm_noname = "Document nedenumit"; + out.fm_emptyTrashDialog = "Ești sigur că vrei să golești coșul de gunoi?"; + out.fm_removeSeveralPermanentlyDialog = "Ești sigur că vrei să ștergi pentru totdeauna aceste {0} elements din coșul de gunoi?"; + out.fm_removePermanentlyDialog = "Ești sigur că vrei să ștergi acest element pentru totdeauna?"; + out.fm_removeSeveralDialog = "Ești sigur că vrei să muți aceste {0} elemente la coșul de gunoi?"; + out.fm_removeDialog = "Ești sigur că vrei să muți {0} la gunoi?"; + out.fm_restoreDialog = "Ești sigur că vrei să restabilești {0} n locația trecută?"; + out.fm_unknownFolderError = "Ultima locație vizitată sau cea selectată nu mai există. Deschidem fișierul părinte..."; + out.fm_contextMenuError = "Nu putem deschide meniul de context pentru acest element. Dacă problema persistă, rencarcă pagina."; + out.fm_selectError = "Nu putem selecta elementul vizat. Dacă Unable to select the targeted element. Dacă problema persistă, rencarcă pagina."; + out.fm_categoryError = "Nu putem deschide categoria selectată, afișează sursa."; + out.fm_info_root = "Crează câte foldere tip cuib ai nevoie pentru a ți sorta fișierele."; + out.fm_info_unsorted = "Conține toate fișierele pe care le-ai vizitat și nu sunt sortate n \"Documente\" sau mutate n \"Gunoi\"."; + out.fm_info_template = "Conține toate pad-urile stocate ca șabloane și pe care le poți refolosi atunci când creezi un nou pad."; + out.fm_info_trash = "Fișierele șterse din gunoi vor fi șterse și din \"Toate fișierele\", făcând imposibilă recuperarea fișierelor din managerul de fișiere."; + out.fm_info_allFiles = "Conține toate fișierele din \"Documente\", \"Nesortate\" și \"Gunoi\". Poți să muți sau să ștergi fișierele aici."; + out.fm_info_login = ""; "Loghează-te"; + out.fm_info_register = "Înscrie-te"; + out.fm_info_anonymous = "Nu ești logat cu un cont valid așa că aceste pad-uri vor fi șterse (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">află de ce</a>). <a href=\"/register/\">Înscrie-te</a> sau <a href=\"/login/\">Loghează-te</a> pentru a le salva."; + out.fm_alert_backupUrl = "Link copie de rezervă pentru acest drive.<br> Este <strong>foarte recomandat</strong> să o păstrezi pentru tine.<br>Poți să o folosești pentru a recupera toate fișierele n cazul n care memoria browserului tău este șterge..<br>Oricine are linkul poate să editeze sau să ndepărteze toate fișierele din managerul tău de documente.<br>"; + out.fm_alert_anonymous = "Salut, momentan folosești CryptPad n mod anonim. Este ok, doar că fișierele tale vor fi șterse după o perioadă de inactivitate. Am dezactivat caracteristicile avansate ale drive-ului pentru utilizatorii anonimi pentru a face clar faptul că stocare documentelor acolo nu este o metodă sigură. Poți să <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">citești mai multe</a> despre motivarea noastră și despre ce de trebuie să te <a href=\"/register/\">Înregistrezi</a> and <a href=\"/login/\">Loghezi</a>."; + out.fm_backup_title = "Link de backup"; + out.fm_nameFile = "Cum ai vrea să numești fișierul?"; + out.fc_newfolder = "Folder nou"; + out.fc_rename = "Redenumește"; + out.fc_open = "Deschide"; + out.fc_open_ro = "Deschide (modul citire)"; + out.fc_delete = "Șterge"; + out.fc_restore = "Restaurează"; + out.fc_remove = "Șterge permanent"; + out.fc_empty = "Curăță coșul"; + out.fc_prop = "Proprietăți"; + out.fc_sizeInKilobytes = "Dimensiune n Kilobytes"; + out.fo_moveUnsortedError = "Nu poți să muți un folder la lista de pad-uri nesortate"; + out.fo_existingNameError = "Numele ales este deja folosit n acest director. Te rugăm să alegi altul."; + out.fo_moveFolderToChildError = "Nu poți să muți un folder ntr-unul dintre descendenții săi"; + out.fo_unableToRestore = "Nu am reușit să restaurăm fișierul n locația de origine. Poți să ncerci să l muți ntr-o nouă locație."; + out.fo_unavailableName = "Un fișier sau un folder cu același nume există deja n locația nouă. Redenumește elementul și ncearcă din nou."; + out.login_login = ""; "Loghează-te"; + out.login_makeAPad = "Crează un pad n modul anonim"; + out.login_nologin = "Răsfoiește pad-urile locale"; + out.login_register = "Înscrie-te"; + out.logoutButton = "Deloghează-te"; + out.settingsButton = "Setări"; + out.login_username = "Nume utilizator"; + out.login_password = "Parolă"; + out.login_confirm = "Confirmă parola"; + out.login_remember = "Ține-mă minte"; + out.login_hashing = "Încriptăm parola, o să mai dureze."; + out.login_hello = "Salut {0},"; + out.login_helloNoName = "Salut,"; + out.login_accessDrive = "Acesează-ți drive-ul"; + out.login_orNoLogin = "sau"; + out.login_noSuchUser = "Nume de utilizator sau parolă invalide. Încearcă din nou sau nscrie-te."; + out.login_invalUser = "Nume utilizator cerut"; + out.login_invalPass = "Parolă cerută"; + out.login_unhandledError = "O eroare neașteptată a avut loc emoticon_unhappy"; + out.register_importRecent = "Importă istoricul pad-ului (Recomandat)"; + out.register_acceptTerms = "Accept <a href='/terms.html'>termenii serviciului</a>"; + out.register_passwordsDontMatch = "Parolele nu se potrivesc!"; + out.register_mustAcceptTerms = "Trebuie să accepți termenii serviciului"; + out.register_mustRememberPass = "Nu putem să ți resetăm parola dacă o uiți. Este foarte important să o ții minte! Bifează căsuța pentru a confirma."; + out.register_header = "Bine ai venit n CryptPad"; + out.register_explanation = "<p>Hai să stabilim câteva lucruri, mai ntâi</p><ul><li>Parola ta este cheia secretă care criptează toate pad-urile tale. Dacă pierzi/uiți parola nu există nici-o metodă prin care ți putem recupera datele.</li><li>Poți importa pad-uri care au fost vizionate recent n browser pentru a le avea n cont.</li><li>Dacă folosești un computer mpărțit, trebuie să te deloghezi, nchiderea taburilor nu este de ajuns.</li></ul>"; + out.register_writtenPassword = "Mi-am notat numele de utilizator și parola, naintează."; + out.register_cancel = "Întoarce-te"; + out.register_warning = "Zero Knowledge nseamnă că noi nu ți putem recupera datele dacă ți pierzi parola."; + out.register_alreadyRegistered = "Acest user există deja, vrei să te loghezi?"; + out.settings_title = "Setări"; + out.settings_save = "Salvează"; + out.settings_backupTitle = "Fă o copie de rezervă sau restaurează toate datele"; + out.settings_backup = "Copie de rezervă"; + out.settings_restore = "Restaurează"; + out.settings_resetTitle = "Curăță-ți drive-ul"; + out.settings_reset = "Îndepărtează toate fișierele și folderele din CryptPad-ul tău."; + out.settings_resetPrompt = "Această acțiune o să ndepărteze toate pad-urile din drive-ul tău.<br>Ești sigur că vrei să continui?<br>Type “<em>Iubesc CryptPad</em>” pentru a confirma."; + out.settings_resetDone = "Drive-ul tău este acum gol!"; + out.settings_resetError = "Text de verificare incorrect. CryptPad-ul tău nu a fost schimbat."; + out.settings_resetTips = "Sfaturi n CryptDrive"; + out.settings_resetTipsButton = "Resetează sfaturile disponibile n CryptDrive"; + out.settings_resetTipsDone = "Toate sfaturile sunt vizibile din nou."; + out.settings_importTitle = "Importă pad-urile recente ale acestui browser n CryptDrive-ul meu"; + out.settings_import = "Importă"; + out.settings_importConfirm = "Ești sigur că vrei să imporți pad-urile recente ale acestui browser n contul tău de CryptDrive?"; + out.settings_importDone = "Import complet"; + out.settings_userFeedbackHint1 = "CryptPad oferă niște feedback foarte simplu serverului, pentru a ne informa cum putem să ți mbunătățim experiența voastră."; + out.settings_userFeedbackHint2 = "Conținutul pad-ului tău nu va fi mpărțit cu serverele."; + out.settings_userFeedback = "Activează feedback"; + out.settings_anonymous = "Nu ești logat. Setările sunt specifice browser-ului."; + out.settings_publicSigningKey = "Cheia de semnătură publică"; + out.settings_usage = "Uzaj"; + out.settings_usageTitle = "Vezi dimensiunea totală a pad-urilor fixate n MB"; + out.settings_pinningNotAvailable = "Pad-urile fixate sunt disponibile doar utilizatorilor nregistrați."; + out.settings_pinningError = "Ceva nu a funcționat"; + out.settings_usageAmount = "Pad-urile tale fixate ocupă {0}MB"; + out.settings_logoutEverywhereTitle = "Deloghează-te peste tot"; + out.settings_logoutEverywhere = "Deloghează-te din toate sesiunile web"; + out.settings_logoutEverywhereConfirm = "Ești sigur? Va trebui să te loghezi, din nou, pe toate device-urile tale."; + out.upload_serverError = "Eroare de server: fișierele tale nu pot fi ncărcate la momentul acesta."; + out.upload_uploadPending = "Ai deja o ncărcare n desfășurare. Anulezi si ncarci noul fișier?"; + out.upload_success = "Fișierul tău ({0}) a fost ncărcat și adăugat la drive-ul tău cu succes."; + out.main_p2 = "Acest proiect folosește <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, și <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> un motor n timp real."; + out.main_howitworks_p1 = "CryptPad folosește o variantă a algoritmului de <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> care este capabil să găsescă consens distribuit folosind <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, o construcție popularizată de <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. Astfel algoritmul poate evita nevoia ca serverul central să rezove conflicte, iar serverul nu este interesat de conținutul care este editat n pad."; + out.main_about_p2 = "Dacă ai orice fel de ntrebare sau comentariu, poți să ne <a href=\"https://twitter.com/cryptpad\">dai un tweet</a>, semnalezi o problemă <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"index de probleme\">on github</a>, spui salut pe IRC (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), sau <a href=\"research@xwiki.com\">trimiți un email</a>."; + out.main_info = "<h1>Colaborează n siguranță</h1><br> Dezvoltă-ți ideile mpreună cu documente partajate n timp ce tehnologia <strong>Zero Knowledge</strong> ți păstrează securitatea; chiar și de noi."; + out.main_howitworks = "Cum funcționează"; + out.main_zeroKnowledge = "Zero Knowledge"; + out.main_zeroKnowledge_p = "Nu trebuie să ne crezi că <em>nu ne uităm</em> la pad-urile tale, cu tehnologia revoluționară Zero Knowledge a CryptPad <em>nu putem</em>. Învață mai multe despre cum ți protejăm Learn more about how we protect your <a href=\"/privacy.html\" title='Intimitatea'>Intimitate și Securitate</a>."; + out.main_writeItDown = "Notează"; + out.main_writeItDown_p = "Cele mai importante proiecte vin din idei mici. Notează-ți momentele de inspirație și ideile neașteptate pentru că nu știi niciodată care ar putea fi noua mare descoperire."; + out.main_share = "Partajează link-ul, partajează pad-ul"; + out.main_share_p = "Dezvoltă-ți ideile mpreună: organizează ntâlniri eficiente, colaborează pe liste TODO și fă prezentări scurte cu toți prietenii tăi și device-urile tale."; + out.main_organize = "Organizează-te"; + out.main_organize_p = "Cu CryptPad Drive, poți să stai cu ochii pe ce este important. Folderele ți permit să ții evidența proiectelor tale și să ai o viziune globală asupra evoluției lucrurilor."; + out.tryIt = "Testează!"; + out.main_richText = "Rich Text editor"; + out.main_richText_p = "Editează texte complexe n mod colaborativ cu Zero Knowledge n timp real. <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application."; + out.main_code = "Editor cod"; + out.main_code_p = "Editează cod din softul tău, n mod colaborativ, cu Zero Knowledge n timp real.<a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application."; + out.main_slide = "Editor slide-uri"; + out.main_slide_p = "Crează-ți prezentări folosind sintaxa Markdown, și afișează-le n browser-ul tău."; + out.main_poll = "Sondaj"; + out.main_poll_p = "Plănuiește ntâlniri sau evenimente, sau votează pentru cea mai bună soluție pentru problema ta."; + out.main_drive = "CryptDrive"; + out.footer_applications = "Aplicații"; + out.footer_contact = "Contact"; + out.footer_aboutUs = "Despre noi"; + out.about = "Despre"; + out.privacy = "Privacy"; + out.contact = "Contact"; + out.terms = "ToS"; + out.blog = "Blog"; + out.policy_title = "Politica de confidențialitate CryptPad"; + out.policy_whatweknow = "Ce știm despre tine"; + out.policy_whatweknow_p1 = "Ca o aplicație care este găzduită online, CryptPad are acces la metadatele expuse de protocolul HTTP. Asta include adresa IP-ului tău, și alte titluri HTTP care pot fi folosite ca să identifice un browser. Poți să vezi ce informații mpărtășește browser-ul tău vizitând <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>."; + out.policy_whatweknow_p2 = "Folosim <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"platforma de analiză open source\">Kibana</a>, o platformă open source, pentru a afla mai multe despre utilizatorii noștri. Kibana ne spune despre cum ai găsit CryptPad, căutare directă, printr-un motor de căutare, sau prin recomandare de la un alt serviciu online ca Reddit sau Twitter."; + out.policy_howweuse = "Cum folosim ce aflăm"; + out.policy_howweuse_p1 = "Folosim aceste informații pentru a lua decizii mai bune n promovarea CryptPad, prin evaluarea eforturilor trecute care au fost de succes. Informațiile despre locația ta ne ajută să aflăm dacă ar trebui să oferim suport pentru alte limbi, pe lângă engleză."; + out.policy_howweuse_p2 = ""; "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoare mbunătățiri. Echipa noastră de development este mică, și ncercăm să facem alegeri care să mbunătățească experiența câtor mai mulți utilizatori."; + + out.policy_whatwetell = "Ce le spunem altora despre tine"; + out.policy_whatwetell_p1 = "Nu furnizăm informațiile obținute terților, decât dacă ne este cerut n mod legal."; + out.policy_links = "Link-uri către alte site-uri"; + out.policy_links_p1 = "Acest site conține link-uri către alte site-uri, incluzându-le pe cele produse de alte organizații. Nu suntem responsabili pentru practicile de intimitate sau pentru conținutul site-urilor externe. Ca regulă generală, link-urile către site-uri externe sunt deschise ntr-o fereastră noup, pentru a face clar faptul că părăsiți CryptPad.fr."; + out.policy_ads = "Reclame"; + out.policy_ads_p1 = "Nu afișăm nici o formă de publicitate online, dar s-ar putea să atașăm link-uri către instituțiile care ne finanțează cerecetarea."; + out.policy_choices = "Ce alegeri ai"; + out.policy_choices_open = "Codul nostru este open source, așa că tu ai mereu posibilitatea de a-ți găzdui propria instanță de CryptPad."; + out.policy_choices_vpn = "Dacă vrei să folosești instanța găzduită de noi, dar nu vrei să ți expui IP-ul, poți să l protejezi folosind <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, sau <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>."; + out.policy_choices_ads = "Dacă vrei doar să blochezi platforma noastră de analiză, poți folosi soluții de adblocking ca <a href=\"https://www.eff.org/privacybadger\" title=\"download privacy badger\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Badger</a>."; + out.tos_title = "CryptPad Termeni de Utilizare"; + out.tos_legal = "Te rugăm să nu fii rău intenționat, abuziv, sau să faci orice ilegal."; + out.tos_availability = "Sperăm că o să găsești acest serviciu util, dar disponibilitatea sau performanța nu poate fi garantată. Te rugăm să ți exporți datele n mod regulat."; + out.tos_e2ee = "Conținutul CryptPad poate fi citit sau modificat de oricine care poate ghici sau obține fragmentul identificator al pad-ului. Recomandăm să folosești soluții de comunicare criptate end-to-end-encrypted (e2ee) pentru a partaja link-uri, evitând orice risc n cazul unei scurgeri de informații."; + out.tos_logs = "Metadatele oferite de browser-ul tău serverului ar putea fi nscrise n scopul de a menține serviciul."; + out.tos_3rdparties = "Nu oferim date personale terților, decât dacă ne sunt solicitate prin lege."; + out.bottom_france = "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Realizat cu <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> n <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" alt=\"Franța\" /></a>"; + out.bottom_support = "<a href=\"http://labs.xwiki.com/\" title=\"XWiki Labs\" target=\"_blank\" rel=\"noopener noreferrer\">Un proiect al <img src=\"/customize/logo-xwiki2.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/> Labs Project </a> cu susținerea <a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>"; + out.header_france = "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">With <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> from <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" title=\"Franța\" alt=\"Franța\"/> by <img src=\"/customize/logo-xwiki.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/></a>"; + out.header_support = "<a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>"; + out.header_logoTitle = "Mergi la pagina principală"; + out.initialState = "<span style=\"font-size:16px;\"><p>Acesta este <strong>CryptPad</strong>, editorul colaborativ bazat pe tehnologia Zero Knowledge n timp real. Totul este salvat pe măsură ce scrii.<br>Partajează link-ul către acest pad pentru a edita cu prieteni sau folosește <span style=\"background-color:#5cb85c;color:#ffffff;\"> Share </span> butonul pentru a partaja <em>read-only link</em> permițând vizualizarea dar nu și editarea.</p><p><span style=\"color:#808080;\"><em>Îndrăznește, ncepe să scrii...</em></span></p></span><p> <br></p>"; + out.codeInitialState = "/*\n Acesta este editorul colaborativ de cod bazat pe tehnologia Zero Knowledge CryptPad.\n Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n Poți să alegi ce limbaj de programare pus n evidență și schema de culori UI n dreapta sus.\n*/"; + out.slideInitialState = "# CryptSlide\n* Acesta este un editor colaborativ bazat pe tehnologia Zero Knowledge.\n* Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n* Nici măcar serverele nu au acces la ce scrii tu.\n* Ce vezi aici, ce auzi aici, atunci când pleci, lasă aici.\n\n-\n# Cum se folosește\n1. Scrie-ți conținutul slide-urilor folosind sintaxa markdown\n - Află mai multe despre sintaxa markdown [aici](http://www.markdowntutorial.com/)\n2. Separă-ți slide-urile cu -\n3. Click pe butonul \"Play\" pentru a vedea rezultatele - Slide-urile tale sunt actualizate n timp real."; + out.driveReadmeTitle = "Ce este CryptDrive?"; + out.readme_welcome = "Bine ai venit n CryptPad !"; + out.readme_p1 = "Bine ai venit n CryptPad, acesta este locul unde ți poți lua notițe, singur sau cu prietenii."; + out.readme_p2 = "Acest pad o să ți ofere un scurt ghid n cum poți să folosești CryptPad pentru a lua notițe, a le ține organizate și a colabora pe ele."; + out.readme_cat1 = "Descoperă-ți CryptDrive-ul"; + out.readme_cat1_l1 = "Crează un pad: În CryptDrive-ul tău, dă click {0} apoi {1} și poți să creezi un pad."; + out.readme_cat1_l2 = "Deschide pad-urile din CryptDrive-ul tău: doublu-click pe iconița unui pad pentru a-l deschide."; + out.readme_cat1_l3 = "Organizează-ți pad-urile: Când ești logat, orice pad accesezi va fi afișat ca n secțiunea {0} a drive-ului tău."; + out.readme_cat1_l3_l1 = "Poți să folosești funcția click and drag pentru a muta fișierele n folderele secțiunii {0} a drive-ului tău și pentru a crea noi foldere."; + out.readme_cat1_l3_l2 = ""; "Ține minte să ncerci click-dreapta pe iconițe pentru că există și meniuri adiționale."; + out.readme_cat1_l4 = "Pune pad-urile vechi n gunoi. Poți să folosești funcția click and drag pe pad-uri n categoria {0} la fel ca și n cazul folderelor."; + out.readme_cat2 = ""; "Crează pad-uri ca un profesionist"; + out.edit = "editează"; + out.view = "vezi"; + out.readme_cat2_l1 = "Butonul {0} din pad-ul tău dă accesul colaboratorilor tăi să {1} sau să {2} pad-ul."; + out.readme_cat2_l2 = "Schimbă titlul pad-ului dând click pe creion"; + out.readme_cat3 = "Descoperă aplicațiile CryptPad"; + out.readme_cat3_l1 = "Cu editorul de cod CryptPad, poți colabora pe cod ca Javascript și markdown ca HTML și Markdown"; + out.readme_cat3_l2 = "Cu editorul de slide-uri CryptPad, poți să faci prezentări scurte folosind Markdown"; + out.readme_cat3_l3 = "Cu CryptPoll poți să organizezi votări rapide, mai ales pentru a programa ntâlniri care se potrivesc calendarelor tuturor"; + out.tips = ""; {"lag":"Iconița verde din dreapta-sus arată calitatea conexiunii internetului tău la serverele CryptPad.","scurtături":"`ctrl+b`, `ctrl+i` and `ctrl+u` sunt scurtături pentru bold, italic și underline.","indentare":"În listele cu bulină sau cele numerotate, poți folosi tab sau shift+tab pentru a mări sau micșora indentarea.","titlu":"Poți seta titlul pad-urilor tale prin click pe centru sus.","stocare":"De fiecare dată când vizitezi un pad, dacă ești logat va fi salvat pe CryptDrive-ul tău.","marker":"Poți sublinia text ntr-un pad folosind itemul \"marker\" n meniul de stiluri."} out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când ntreprinzi anumite acțiuni"; + out.feedback_privacy = "Ne pasă de intimitatea ta, si n același timp vrem să păstrăm CryptPad ușor de folosit. Folosim acest fișier pentru a ne da seama care beneficii UI contează cel mai mult pentru utilizatori, cerându-l alături de un parametru specific atunci când acțiunea se desfășoară"; + out.feedback_optout = "Dacă vrei să ieși, vizitează <a href='/settings/'>setările de pe pagina ta de user</a>, unde vei găsi o căsuță pentru a activa sau dezactiva feedback-ul de la user"; + + return out; +}); return out; }); From 70c1061f4712825dc2b081e49c0b60f72b51e0b0 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 24 May 2017 14:49:00 +0200 Subject: [PATCH 151/236] Fix romanian translation --- customize.dist/translations/messages.ro.js | 30 +++++++++++++--------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js index 162603908..4f8579ba0 100644 --- a/customize.dist/translations/messages.ro.js +++ b/customize.dist/translations/messages.ro.js @@ -25,7 +25,7 @@ define(function () { out.typeError = "Această filă nu este compatibilă cu aplicația aleasă"; out.onLogout = "Nu mai ești autentificat, <a href=\"/\" target=\"_blank\">apasă aici</a> să te autentifici<br>sau apasă <em>Escape</em>să accesezi fila n modul citire."; out.wrongApp = "Momentan nu putem arăta conținutul sesiunii n timp real n fereastra ta. Te rugăm rencarcă pagina."; - out.loading = "Încarcă..." + out.loading = "Încarcă..."; out.error = "Eroare"; out.saved = "Salvat"; @@ -113,7 +113,7 @@ define(function () { out.history_restore = "Restabilește"; out.history_restoreTitle = "Restabilește versiunea selectată a documentului"; out.history_restorePrompt = "Ești sigur că vrei să nlocuiești versiunea curentă a documentului cu cea afișată?"; - out.history_restoreDone = ""; "Document restabilit"; + out.history_restoreDone = "Document restabilit"; out.history_version = "Versiune:"; out.poll_title = "Zero Knowledge Selector Dată"; out.poll_subtitle = "Zero Knowledge, <em>realtime</em> programare"; @@ -186,7 +186,7 @@ define(function () { out.fm_info_template = "Conține toate pad-urile stocate ca șabloane și pe care le poți refolosi atunci când creezi un nou pad."; out.fm_info_trash = "Fișierele șterse din gunoi vor fi șterse și din \"Toate fișierele\", făcând imposibilă recuperarea fișierelor din managerul de fișiere."; out.fm_info_allFiles = "Conține toate fișierele din \"Documente\", \"Nesortate\" și \"Gunoi\". Poți să muți sau să ștergi fișierele aici."; - out.fm_info_login = ""; "Loghează-te"; + out.fm_info_login = "Loghează-te"; out.fm_info_register = "Înscrie-te"; out.fm_info_anonymous = "Nu ești logat cu un cont valid așa că aceste pad-uri vor fi șterse (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">află de ce</a>). <a href=\"/register/\">Înscrie-te</a> sau <a href=\"/login/\">Loghează-te</a> pentru a le salva."; out.fm_alert_backupUrl = "Link copie de rezervă pentru acest drive.<br> Este <strong>foarte recomandat</strong> să o păstrezi pentru tine.<br>Poți să o folosești pentru a recupera toate fișierele n cazul n care memoria browserului tău este șterge..<br>Oricine are linkul poate să editeze sau să ndepărteze toate fișierele din managerul tău de documente.<br>"; @@ -208,7 +208,7 @@ define(function () { out.fo_moveFolderToChildError = "Nu poți să muți un folder ntr-unul dintre descendenții săi"; out.fo_unableToRestore = "Nu am reușit să restaurăm fișierul n locația de origine. Poți să ncerci să l muți ntr-o nouă locație."; out.fo_unavailableName = "Un fișier sau un folder cu același nume există deja n locația nouă. Redenumește elementul și ncearcă din nou."; - out.login_login = ""; "Loghează-te"; + out.login_login = "Loghează-te"; out.login_makeAPad = "Crează un pad n modul anonim"; out.login_nologin = "Răsfoiește pad-urile locale"; out.login_register = "Înscrie-te"; @@ -308,7 +308,7 @@ define(function () { out.policy_whatweknow_p2 = "Folosim <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"platforma de analiză open source\">Kibana</a>, o platformă open source, pentru a afla mai multe despre utilizatorii noștri. Kibana ne spune despre cum ai găsit CryptPad, căutare directă, printr-un motor de căutare, sau prin recomandare de la un alt serviciu online ca Reddit sau Twitter."; out.policy_howweuse = "Cum folosim ce aflăm"; out.policy_howweuse_p1 = "Folosim aceste informații pentru a lua decizii mai bune n promovarea CryptPad, prin evaluarea eforturilor trecute care au fost de succes. Informațiile despre locația ta ne ajută să aflăm dacă ar trebui să oferim suport pentru alte limbi, pe lângă engleză."; - out.policy_howweuse_p2 = ""; "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoare mbunătățiri. Echipa noastră de development este mică, și ncercăm să facem alegeri care să mbunătățească experiența câtor mai mulți utilizatori."; + out.policy_howweuse_p2 = "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoare mbunătățiri. Echipa noastră de development este mică, și ncercăm să facem alegeri care să mbunătățească experiența câtor mai mulți utilizatori."; out.policy_whatwetell = "Ce le spunem altora despre tine"; out.policy_whatwetell_p1 = "Nu furnizăm informațiile obținute terților, decât dacă ne este cerut n mod legal."; @@ -343,9 +343,9 @@ define(function () { out.readme_cat1_l2 = "Deschide pad-urile din CryptDrive-ul tău: doublu-click pe iconița unui pad pentru a-l deschide."; out.readme_cat1_l3 = "Organizează-ți pad-urile: Când ești logat, orice pad accesezi va fi afișat ca n secțiunea {0} a drive-ului tău."; out.readme_cat1_l3_l1 = "Poți să folosești funcția click and drag pentru a muta fișierele n folderele secțiunii {0} a drive-ului tău și pentru a crea noi foldere."; - out.readme_cat1_l3_l2 = ""; "Ține minte să ncerci click-dreapta pe iconițe pentru că există și meniuri adiționale."; + out.readme_cat1_l3_l2 = "Ține minte să ncerci click-dreapta pe iconițe pentru că există și meniuri adiționale."; out.readme_cat1_l4 = "Pune pad-urile vechi n gunoi. Poți să folosești funcția click and drag pe pad-uri n categoria {0} la fel ca și n cazul folderelor."; - out.readme_cat2 = ""; "Crează pad-uri ca un profesionist"; + out.readme_cat2 = "Crează pad-uri ca un profesionist"; out.edit = "editează"; out.view = "vezi"; out.readme_cat2_l1 = "Butonul {0} din pad-ul tău dă accesul colaboratorilor tăi să {1} sau să {2} pad-ul."; @@ -354,12 +354,18 @@ define(function () { out.readme_cat3_l1 = "Cu editorul de cod CryptPad, poți colabora pe cod ca Javascript și markdown ca HTML și Markdown"; out.readme_cat3_l2 = "Cu editorul de slide-uri CryptPad, poți să faci prezentări scurte folosind Markdown"; out.readme_cat3_l3 = "Cu CryptPoll poți să organizezi votări rapide, mai ales pentru a programa ntâlniri care se potrivesc calendarelor tuturor"; - out.tips = ""; {"lag":"Iconița verde din dreapta-sus arată calitatea conexiunii internetului tău la serverele CryptPad.","scurtături":"`ctrl+b`, `ctrl+i` and `ctrl+u` sunt scurtături pentru bold, italic și underline.","indentare":"În listele cu bulină sau cele numerotate, poți folosi tab sau shift+tab pentru a mări sau micșora indentarea.","titlu":"Poți seta titlul pad-urilor tale prin click pe centru sus.","stocare":"De fiecare dată când vizitezi un pad, dacă ești logat va fi salvat pe CryptDrive-ul tău.","marker":"Poți sublinia text ntr-un pad folosind itemul \"marker\" n meniul de stiluri."} out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când ntreprinzi anumite acțiuni"; + + out.tips = { }; + out.tips.lag = "Iconița verde din dreapta-sus arată calitatea conexiunii internetului tău la serverele CryptPad."; + out.tips.shortcuts = "`ctrl+b`, `ctrl+i` and `ctrl+u` sunt scurtături pentru bold, italic și underline."; + out.tips.indentare = "În listele cu bulină sau cele numerotate, poți folosi tab sau shift+tab pentru a mări sau micșora indentarea."; + out.tips.titlu = "Poți seta titlul pad-urilor tale prin click pe centru sus."; + out.tips.stocare = "De fiecare dată când vizitezi un pad, dacă ești logat va fi salvat pe CryptDrive-ul tău."; + out.tips.marker = "Poți sublinia text ntr-un pad folosind itemul \"marker\" n meniul de stiluri."; + + out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când ntreprinzi anumite acțiuni"; out.feedback_privacy = "Ne pasă de intimitatea ta, si n același timp vrem să păstrăm CryptPad ușor de folosit. Folosim acest fișier pentru a ne da seama care beneficii UI contează cel mai mult pentru utilizatori, cerându-l alături de un parametru specific atunci când acțiunea se desfășoară"; out.feedback_optout = "Dacă vrei să ieși, vizitează <a href='/settings/'>setările de pe pagina ta de user</a>, unde vei găsi o căsuță pentru a activa sau dezactiva feedback-ul de la user"; return out; -}); - - return out; -}); +}); \ No newline at end of file From 617e027f1273783f697331211aa6052baa5f6746 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 15:50:35 +0200 Subject: [PATCH 152/236] catch markdown preview errors --- www/code/main.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/www/code/main.js b/www/code/main.js index 9cb3cae10..788ddddcf 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -112,7 +112,9 @@ define([ var drawPreview = Cryptpad.throttle(function () { if (CodeMirror.highlightMode !== 'markdown') { return; } - DiffMd.apply(DiffMd.render(editor.getValue()), $preview); + try { + DiffMd.apply(DiffMd.render(editor.getValue()), $preview); + } catch (e) { console.error(e); } }, 150); var onLocal = config.onLocal = function () { From 3803f6a20f789603c2707c48094f815ac0dc0eee Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 17:25:33 +0200 Subject: [PATCH 153/236] only render preview if preview container is visible --- www/code/main.js | 1 + 1 file changed, 1 insertion(+) diff --git a/www/code/main.js b/www/code/main.js index 788ddddcf..44ecec76b 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -112,6 +112,7 @@ define([ var drawPreview = Cryptpad.throttle(function () { if (CodeMirror.highlightMode !== 'markdown') { return; } + if (!$previewContainer.is(':visible')) { return; } try { DiffMd.apply(DiffMd.render(editor.getValue()), $preview); } catch (e) { console.error(e); } From a5ffd278a770ac78a464960c187c1ee7980d2ed8 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 17:27:03 +0200 Subject: [PATCH 154/236] write styles for code in .less --- package.json | 2 +- www/code/code.css | 73 ++++++++++++++++++++++++++++++++++++++++ www/code/code.less | 81 +++++++++++++++++++++++++++++++++++++++++++++ www/code/inner.html | 65 +----------------------------------- 4 files changed, 156 insertions(+), 65 deletions(-) create mode 100644 www/code/code.css create mode 100644 www/code/code.less diff --git a/package.json b/package.json index e75ec7b32..3f8432ef5 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "scripts": { "lint": "jshint --config .jshintrc --exclude-path .jshintignore .", "test": "node TestSelenium.js", - "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css && lessc ./www/file/file.less > ./www/file/file.css", + "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css && lessc ./www/file/file.less > ./www/file/file.css && lessc ./www/code/code.less > ./www/code/code.css", "template": "cd customize.dist/src && node build.js" } } diff --git a/www/code/code.css b/www/code/code.css new file mode 100644 index 000000000..337a75fd9 --- /dev/null +++ b/www/code/code.css @@ -0,0 +1,73 @@ +html, +body { + height: 100%; + width: 100%; + padding: 0px; + margin: 0px; + overflow: hidden; + box-sizing: border-box; + position: relative; +} +body { + display: flex; + flex-flow: column; + max-height: 100%; + min-height: auto; +} +.CodeMirror { + display: inline-block; + height: 100%; + width: 50%; + min-width: 20%; + max-width: 80%; + resize: horizontal; +} +.CodeMirror.fullPage { + min-width: 100%; + max-width: 100%; + resize: none; +} +.CodeMirror-focused .cm-matchhighlight { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); + background-position: bottom; + background-repeat: repeat-x; +} +#editorContainer { + flex: 1; + display: flex; + flex-flow: row; + height: 100%; + overflow: hidden; +} +#previewContainer { + flex: 1; + padding: 5px 20px; + overflow: auto; + display: inline-block; + height: 100%; + border-left: 1px solid black; + box-sizing: border-box; + font-family: Calibri, Ubuntu, sans-serif; + word-wrap: break-word; +} +#preview { + max-width: 40vw; + margin: auto; +} +#preview table { + border-collapse: collapse; +} +#preview table tr th { + border: 3px solid black; + padding: 15px; +} +@media (max-width: 720px) { + .CodeMirror { + flex: 1; + max-width: 100%; + resize: none; + } + #previewContainer { + display: none !important; + } +} diff --git a/www/code/code.less b/www/code/code.less new file mode 100644 index 000000000..420371c93 --- /dev/null +++ b/www/code/code.less @@ -0,0 +1,81 @@ +@import "../../customize.dist/src/less/variables.less"; +@import "../../customize.dist/src/less/mixins.less"; + +html, body{ + height: 100%; + width: 100%; + padding: 0px; + margin: 0px; + overflow: hidden; + box-sizing: border-box; + position: relative; +} +body { + display: flex; + flex-flow: column; + max-height: 100%; + min-height: auto; +} +.CodeMirror { + display: inline-block; + height: 100%; + width: 50%; + min-width: 20%; + max-width: 80%; + resize: horizontal; +} +.CodeMirror.fullPage { + min-width: 100%; + max-width: 100%; + resize: none; +} +.CodeMirror-focused .cm-matchhighlight { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); + background-position: bottom; + background-repeat: repeat-x; +} +#editorContainer { + flex: 1; + display: flex; + flex-flow: row; + height: 100%; + overflow: hidden; +} +#previewContainer { + flex: 1; + padding: 5px 20px; + overflow: auto; + display: inline-block; + height: 100%; + border-left: 1px solid black; + box-sizing: border-box; + font-family: Calibri,Ubuntu,sans-serif; + word-wrap: break-word; +} + +#preview { + max-width: 40vw; + margin: auto; + + table { + border-collapse: collapse; + tr { + th { + border: 3px solid black; + padding: 15px; + } + } + } +} + +@media (max-width: 720px) { + .CodeMirror { + flex: 1; + max-width: 100%; + resize: none; + } + #previewContainer { + display: none !important; + } +} + diff --git a/www/code/inner.html b/www/code/inner.html index 12f4c8cac..b3ac7fed5 100644 --- a/www/code/inner.html +++ b/www/code/inner.html @@ -8,6 +8,7 @@ <link rel="stylesheet" href="/bower_components/codemirror/lib/codemirror.css"> <link rel="stylesheet" href="/bower_components/codemirror/addon/dialog/dialog.css"> <link rel="stylesheet" href="/bower_components/codemirror/addon/fold/foldgutter.css" /> + <link rel="stylesheet" href="/code/code.css" /> <script src="/bower_components/codemirror/mode/javascript/javascript.js"></script> <script src="/bower_components/codemirror/addon/mode/loadmode.js"></script> <script src="/bower_components/codemirror/mode/meta.js"></script> @@ -31,70 +32,6 @@ <script src="/bower_components/codemirror/addon/fold/markdown-fold.js"></script> <script src="/bower_components/codemirror/addon/fold/comment-fold.js"></script> <script src="/bower_components/codemirror/addon/display/placeholder.js"></script> - <style> - html, body{ - height: 100%; - width: 100%; - padding: 0px; - margin: 0px; - overflow: hidden; - box-sizing: border-box; - position: relative; - } - body { - display: flex; - flex-flow: column; - max-height: 100%; - min-height: auto; - } - .CodeMirror { - display: inline-block; - height: 100%; - width: 50%; - min-width: 20%; - max-width: 80%; - resize: horizontal; - } - .CodeMirror.fullPage { - min-width: 100%; - max-width: 100%; - resize: none; - } - .CodeMirror-focused .cm-matchhighlight { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); - background-position: bottom; - background-repeat: repeat-x; - } - #editorContainer { - flex: 1; - display: flex; - flex-flow: row; - height: 100%; - overflow: hidden; - } - #previewContainer { - flex: 1; - padding: 5px 20px; - overflow: auto; - display: inline-block; - height: 100%; - border-left: 1px solid black; - box-sizing: border-box; - font-family: Calibri,Ubuntu,sans-serif; - word-wrap: break-word; - } - #preview { - max-width: 40vw; - margin: auto; - } - #preview table tr td, #preview table tr th { - border: 1px solid black; - padding: 15px; - } - #preview table tr th { - border: 3px solid black; - } - </style> </head> <body> <div id="cme_toolbox" class="toolbar-container"></div> From d9f7470f065ce1a9c7f8ea939a7ee0274154b235 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 18:28:16 +0200 Subject: [PATCH 155/236] copy user details into sessionStorage for safari --- www/common/fsStore.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/www/common/fsStore.js b/www/common/fsStore.js index b20c38c48..726570574 100644 --- a/www/common/fsStore.js +++ b/www/common/fsStore.js @@ -173,6 +173,12 @@ define([ proxy[tokenKey] = Math.floor(Math.random()*Number.MAX_SAFE_INTEGER); } + // copy User_hash into sessionStorage because cross-domain iframes + // on safari replaces localStorage with sessionStorage or something + if (sessionStorage) { + sessionStorage.setItem('User_hash', localStorage.getItem('User_hash')); + } + var localToken = tryParsing(localStorage.getItem(tokenKey)); if (localToken === null) { // if that number hasn't been set to localStorage, do so. From b32c3292690067d2ae81ff58ef0a0dd1e6769d80 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 18:41:19 +0200 Subject: [PATCH 156/236] remember whether you were using preview mode for a pad --- www/code/main.js | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/www/code/main.js b/www/code/main.js index 44ecec76b..d5feaf22a 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -110,12 +110,16 @@ define([ return stringify(obj); }; - var drawPreview = Cryptpad.throttle(function () { - if (CodeMirror.highlightMode !== 'markdown') { return; } - if (!$previewContainer.is(':visible')) { return; } + var forceDrawPreview = function () { try { DiffMd.apply(DiffMd.render(editor.getValue()), $preview); } catch (e) { console.error(e); } + }; + + var drawPreview = Cryptpad.throttle(function () { + if (CodeMirror.highlightMode !== 'markdown') { return; } + if (!$previewContainer.is(':visible')) { return; } + forceDrawPreview(); }, 150); var onLocal = config.onLocal = function () { @@ -239,9 +243,16 @@ define([ } $previewContainer.toggle(); if ($previewContainer.is(':visible')) { + forceDrawPreview(); $codeMirror.removeClass('fullPage'); + Cryptpad.setPadAttribute('previewMode', true, function (e, data) { + if (e) { return console.log(e); } + }); } else { $codeMirror.addClass('fullPage'); + Cryptpad.setPadAttribute('previewMode', false, function (e, data) { + if (e) { return console.log(e); } + }); } }); $rightside.append($previewButton); @@ -255,6 +266,7 @@ define([ CodeMirror.configureTheme(); } + // set the hash if (!readOnly) { Cryptpad.replaceHash(editHash); } }; @@ -306,6 +318,14 @@ define([ Title.updateTitle(Cryptpad.initialName); } + Cryptpad.getPadAttribute('previewMode', function (e, data) { + if (e) { return void console.error(e); } + var $codeMirror = $iframe.find('.CodeMirror'); + if (data === false && APP.$previewButton) { + APP.$previewButton.click(); + } + }); + Cryptpad.removeLoadingScreen(); setEditable(true); initializing = false; From dc2b0ae6b4627f9d33a52cfa972c35978ad3d5f3 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 18:45:48 +0200 Subject: [PATCH 157/236] jshint compliance --- www/code/main.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/www/code/main.js b/www/code/main.js index d5feaf22a..38b5f2267 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -245,12 +245,12 @@ define([ if ($previewContainer.is(':visible')) { forceDrawPreview(); $codeMirror.removeClass('fullPage'); - Cryptpad.setPadAttribute('previewMode', true, function (e, data) { + Cryptpad.setPadAttribute('previewMode', true, function (e) { if (e) { return console.log(e); } }); } else { $codeMirror.addClass('fullPage'); - Cryptpad.setPadAttribute('previewMode', false, function (e, data) { + Cryptpad.setPadAttribute('previewMode', false, function (e) { if (e) { return console.log(e); } }); } @@ -320,7 +320,6 @@ define([ Cryptpad.getPadAttribute('previewMode', function (e, data) { if (e) { return void console.error(e); } - var $codeMirror = $iframe.find('.CodeMirror'); if (data === false && APP.$previewButton) { APP.$previewButton.click(); } From a04f179d8b9adb2860d27f6a0ac38d928699d5e9 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 24 May 2017 19:00:14 +0200 Subject: [PATCH 158/236] hide preview mode on phones --- www/code/code.css | 2 +- www/code/code.less | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/www/code/code.css b/www/code/code.css index 337a75fd9..78a4b7bf2 100644 --- a/www/code/code.css +++ b/www/code/code.css @@ -61,7 +61,7 @@ body { border: 3px solid black; padding: 15px; } -@media (max-width: 720px) { +@media (max-width: 600px) { .CodeMirror { flex: 1; max-width: 100%; diff --git a/www/code/code.less b/www/code/code.less index 420371c93..ef7cef32d 100644 --- a/www/code/code.less +++ b/www/code/code.less @@ -68,7 +68,7 @@ body { } } -@media (max-width: 720px) { +@media (max-width: @media-medium-screen) { .CodeMirror { flex: 1; max-width: 100%; From 70fbbe0078ce29a68c7312a9d599af9ac6f1ea92 Mon Sep 17 00:00:00 2001 From: superniko <ge.nikolic@gmail.com> Date: Thu, 25 May 2017 10:23:27 +0300 Subject: [PATCH 159/236] Update messages.ro.js --- customize.dist/translations/messages.ro.js | 180 ++++++++++----------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js index 4f8579ba0..2c09b9a76 100644 --- a/customize.dist/translations/messages.ro.js +++ b/customize.dist/translations/messages.ro.js @@ -1,8 +1,8 @@ define(function () { var out = {}; - out.main_title = "CryptPad: Zero Knowledge, Colaborare n timp real"; - out.main_slogan = "Puterea stă n cooperare - Colaborarea este cheia"; + out.main_title = "CryptPad: Zero Knowledge, Colaborare în timp real"; + out.main_slogan = "Puterea stă în cooperare - Colaborarea este cheia"; out.type = {}; out.pad = "Rich text"; @@ -17,14 +17,14 @@ define(function () { out.button_newpad = "Filă Text Nouă"; out.button_newcode = "Filă Cod Nouă"; out.button_newpoll = "Sondaj Nou"; - out.button_newslide = "Prezentare Noua"; - out.button_newwhiteboard = "Fila Desen Noua"; - out.updated_0_common_connectionLost = "<b>Conexiunea la server este pierdută</b><br>Până la revenirea conexiunii, vei fi n modul citire"; + out.button_newslide = "Prezentare Nouă"; + out.button_newwhiteboard = "Fila Desen Nouă"; + out.updated_0_common_connectionLost = "<b>Conexiunea la server este pierdută</b><br>Până la revenirea conexiunii, vei fi în modul citire"; out.common_connectionLost = out.updated_0_common_connectionLost; out.websocketError = "Conexiune inexistentă către serverul websocket..."; out.typeError = "Această filă nu este compatibilă cu aplicația aleasă"; - out.onLogout = "Nu mai ești autentificat, <a href=\"/\" target=\"_blank\">apasă aici</a> să te autentifici<br>sau apasă <em>Escape</em>să accesezi fila n modul citire."; - out.wrongApp = "Momentan nu putem arăta conținutul sesiunii n timp real n fereastra ta. Te rugăm rencarcă pagina."; + out.onLogout = "Nu mai ești autentificat, <a href=\"/\" target=\"_blank\">apasă aici</a> să te autentifici<br>sau apasă <em>Escape</em>să accesezi fila în modul citire."; + out.wrongApp = "Momentan nu putem arăta conținutul sesiunii în timp real în fereastra ta. Te rugăm reîncarcă pagina."; out.loading = "Încarcă..."; out.error = "Eroare"; @@ -46,20 +46,20 @@ define(function () { out.viewers = "privitori"; out.editor = "editor"; out.editors = "editori"; - out.language = "Limba"; + out.language = "Limbă"; out.upgrade = "Actualizare"; out.upgradeTitle = "Actualizează-ți contul pentru a mări limita de stocare"; out.MB = "MB"; out.greenLight = "Totul funcționează corespunzător"; - out.orangeLight = "Conexiunea lentă la internet ți poate afecta experiența"; + out.orangeLight = "Conexiunea lentă la internet îți poate afecta experiența"; out.redLight = "Ai fost deconectat de la sesiune"; out.pinLimitReached = "Ai atins limita de stocare"; - out.pinLimitReachedAlert = "Ai atins limita de stocare. Noile pad-uri nu vor mai fi stocate n CryptDrive.<br>Pentru a rezolva această problemă, poți să nlături pad-uri din CryptDrive-ul tău (incluzând gunoiul) sau să subscrii la un pachet premium pentru a ți extinde spațiul de stocare."; + out.pinLimitReachedAlert = "Ai atins limita de stocare. Noile pad-uri nu vor mai fi stocate în CryptDrive.<br>Pentru a rezolva această problemă, poți să nlături pad-uri din CryptDrive-ul tău (incluzând gunoiul) sau să subscrii la un pachet premium pentru a-ți extinde spațiul de stocare."; out.pinLimitNotPinned = "Ai atins limita de stocare.<br>Acest pad nu va fi stocat n CryptDrive-ul tău."; out.pinLimitDrive = "Ai atins limita de stocare.<br>Nu poți să creezi alte pad-uri."; out.importButtonTitle = "Importă un pad dintr-un fișier local"; out.exportButtonTitle = "Exportă pad-ul acesta către un fișier local"; - out.exportPrompt = "Cum ai vrea să ți denumești fișierul?"; + out.exportPrompt = "Cum ai vrea să îți denumești fișierul?"; out.changeNamePrompt = "Schimbă-ți numele (lasă necompletat dacă vrei să fii anonim): "; out.user_rename = "Schimbă numele afișat"; out.user_displayName = "Nume afișat"; @@ -69,19 +69,19 @@ define(function () { out.forgetPrompt = "Click-ul pe OK va muta acest pad la gunoi. Ești sigur?"; out.movedToTrash = "Acest pad a fost mutat la gunoi.<br><a href=\"/drive/\">Acesează-mi Drive-ul</a>"; out.shareButton = "Distribuie"; - out.shareSuccess = "Link copiat n clipboard"; + out.shareSuccess = "Link copiat în clipboard"; out.newButton = "Nou"; out.newButtonTitle = "Crează un nou pad"; out.saveTemplateButton = "Salvează ca șablon"; out.saveTemplatePrompt = "Alege un titlu pentru șablon"; out.templateSaved = "Șablon salvat!"; out.selectTemplate = "Selectează un șablon sau apasă escape"; - out.presentButtonTitle = "Intră n modul de prezentare"; + out.presentButtonTitle = "Intră în modul de prezentare"; out.presentSuccess = "Apasă ESC pentru a ieși din modul de prezentare"; out.backgroundButtonTitle = "Schimbă culoarea de fundal din prezentare"; - out.colorButtonTitle = "Schimbă culoarea textului n modul de prezentare"; + out.colorButtonTitle = "Schimbă culoarea textului în modul de prezentare"; out.printButton = "Printează (enter)"; - out.printButtonTitle = "Printează-ți slide-urile sau exportă-le ca fișier PDF"; + out.printButtonTitle = "Printează-ți slide-urile sau exportă-le ca fișier PDF"; out.printOptions = "Opțiuni schemă"; out.printSlideNumber = "Afișează numărul slide-ului"; out.printDate = "Afișează data"; @@ -91,13 +91,13 @@ define(function () { out.slideOptionsTitle = "Personalizează-ți slide-urile"; out.slideOptionsButton = "Salvează (enter)"; out.editShare = "Editează link-ul"; - out.editShareTitle = "Copiază link-ul de editare n clipboard"; - out.editOpen = "Deschide link-ul de editare ntr-o nouă filă"; - out.editOpenTitle = "Deschide acest pad n modul de editare ntr-o nouă filă"; - out.viewShare = "Link n modul citire"; - out.viewShareTitle = "Copiază link-ul n modul de citire n clipboard"; - out.viewOpen = "Deschide link-ul n modul de citire ntr-o filă nouă"; - out.viewOpenTitle = "Deschide acest pad n modul de citire ntr-o nouă filă"; + out.editShareTitle = "Copiază link-ul de editare în clipboard"; + out.editOpen = "Deschide link-ul de editare într-o nouă filă"; + out.editOpenTitle = "Deschide acest pad în modul de editare într-o nouă filă"; + out.viewShare = "Link în modul citire"; + out.viewShareTitle = "Copiază link-ul în modul de citire în clipboard"; + out.viewOpen = "Deschide link-ul în modul de citire într-o filă nouă"; + out.viewOpenTitle = "Deschide acest pad în modul de citire într-o nouă filă"; out.notifyJoined = "{0} s-au alăturat sesiunii colaborative"; out.notifyRenamed = "{0} e cunoscut ca {1}"; out.notifyLeft = "{0} au părăsit sesiunea colaborativă"; @@ -112,13 +112,13 @@ define(function () { out.history_closeTitle = "Închide istoricul"; out.history_restore = "Restabilește"; out.history_restoreTitle = "Restabilește versiunea selectată a documentului"; - out.history_restorePrompt = "Ești sigur că vrei să nlocuiești versiunea curentă a documentului cu cea afișată?"; + out.history_restorePrompt = "Ești sigur că vrei să înlocuiești versiunea curentă a documentului cu cea afișată?"; out.history_restoreDone = "Document restabilit"; out.history_version = "Versiune:"; out.poll_title = "Zero Knowledge Selector Dată"; out.poll_subtitle = "Zero Knowledge, <em>realtime</em> programare"; out.poll_p_save = "Setările tale sunt actualizate instant, așa că tu nu trebuie să salvezi."; - out.poll_p_encryption = "Tot conținutul tău este criptat ca doar persoanele cărora tu le dai link-ul să aibă acces. Nici chiar serverul nu poate să vadă ce modifici."; + out.poll_p_encryption = "Tot conținutul tău este criptat ca doar persoanele cărora tu le dai link-ul să aibă acces. Nici serverul nu poate să vadă ce modifici."; out.wizardLog = "Click pe butonul din dreapta sus pentru a te ntoarce la sondajul tău"; out.wizardTitle = "Folosește wizard-ul pentru a crea sondajul tău"; out.wizardConfirm = "Ești pregătit să adaugi aceste opțiuni la sondajul tău?"; @@ -131,14 +131,14 @@ define(function () { out.poll_closeWizardButtonTitle = "Închide wizard-ul"; out.poll_wizardComputeButton = "Calculează Opțiunile"; out.poll_wizardClearButton = "Curăță Tabelul"; - out.poll_wizardDescription = "Crează automat un număr de opțiuni introducând orice număr de zile sau intervale orare"; + out.poll_wizardDescription = "Crează automat un număr de opțiuni întroducând orice număr de zile sau intervale orare"; out.poll_wizardAddDateButton = "+ Zi"; out.poll_wizardAddTimeButton = "+ Ore"; out.poll_optionPlaceholder = "Opțiune"; out.poll_userPlaceholder = "Numele tău"; - out.poll_removeOption = "Ești sigur că vrei să ndepărtezi această opțiune?"; - out.poll_removeUser = "Ești sigur că vrei să ndepărtezi aceast utilizator?"; + out.poll_removeOption = "Ești sigur că vrei să îndepărtezi această opțiune?"; + out.poll_removeUser = "Ești sigur că vrei să îndepărtezi aceast utilizator?"; out.poll_titleHint = "Titlu"; out.poll_descriptionHint = "Descrie sondajul, și apoi folosește butonul 'publică' când ai terminat. Orice utilizator care are link-ul poate modifica descrierea, dar descurajăm această practică."; out.canvas_clear = "Curăță"; @@ -162,35 +162,35 @@ define(function () { out.fm_folderName = "Numele folderului"; out.fm_numberOfFolders = "# de foldere"; out.fm_numberOfFiles = "# of files"; - out.fm_fileName = "File name"; + out.fm_fileName = "Nume filă"; out.fm_title = "Titlu"; out.fm_type = "Tip"; out.fm_lastAccess = "Ultima accesare"; out.fm_creation = "Creare"; out.fm_forbidden = "Acțiune interzisă"; out.fm_originalPath = "Ruta inițială"; - out.fm_openParent = "Arată n folder"; + out.fm_openParent = "Arată în folder"; out.fm_noname = "Document nedenumit"; out.fm_emptyTrashDialog = "Ești sigur că vrei să golești coșul de gunoi?"; - out.fm_removeSeveralPermanentlyDialog = "Ești sigur că vrei să ștergi pentru totdeauna aceste {0} elements din coșul de gunoi?"; + out.fm_removeSeveralPermanentlyDialog = "Ești sigur că vrei să ștergi pentru totdeauna aceste {0} elemente din coșul de gunoi?"; out.fm_removePermanentlyDialog = "Ești sigur că vrei să ștergi acest element pentru totdeauna?"; out.fm_removeSeveralDialog = "Ești sigur că vrei să muți aceste {0} elemente la coșul de gunoi?"; out.fm_removeDialog = "Ești sigur că vrei să muți {0} la gunoi?"; - out.fm_restoreDialog = "Ești sigur că vrei să restabilești {0} n locația trecută?"; + out.fm_restoreDialog = "Ești sigur că vrei să restabilești {0} în locația trecută?"; out.fm_unknownFolderError = "Ultima locație vizitată sau cea selectată nu mai există. Deschidem fișierul părinte..."; - out.fm_contextMenuError = "Nu putem deschide meniul de context pentru acest element. Dacă problema persistă, rencarcă pagina."; - out.fm_selectError = "Nu putem selecta elementul vizat. Dacă Unable to select the targeted element. Dacă problema persistă, rencarcă pagina."; + out.fm_contextMenuError = "Nu putem deschide meniul de context pentru acest element. Dacă problema persistă, reîncarcă pagina."; + out.fm_selectError = "Nu putem selecta elementul vizat. Dacă problema persistă, reîncarcă pagina."; out.fm_categoryError = "Nu putem deschide categoria selectată, afișează sursa."; - out.fm_info_root = "Crează câte foldere tip cuib ai nevoie pentru a ți sorta fișierele."; - out.fm_info_unsorted = "Conține toate fișierele pe care le-ai vizitat și nu sunt sortate n \"Documente\" sau mutate n \"Gunoi\"."; + out.fm_info_root = "Crează câte foldere tip cuib ai nevoie pentru a-ți sorta fișierele."; + out.fm_info_unsorted = "Conține toate fișierele pe care le-ai vizitat și nu sunt sortate în \"Documente\" sau mutate în \"Gunoi\"."; out.fm_info_template = "Conține toate pad-urile stocate ca șabloane și pe care le poți refolosi atunci când creezi un nou pad."; out.fm_info_trash = "Fișierele șterse din gunoi vor fi șterse și din \"Toate fișierele\", făcând imposibilă recuperarea fișierelor din managerul de fișiere."; out.fm_info_allFiles = "Conține toate fișierele din \"Documente\", \"Nesortate\" și \"Gunoi\". Poți să muți sau să ștergi fișierele aici."; out.fm_info_login = "Loghează-te"; out.fm_info_register = "Înscrie-te"; out.fm_info_anonymous = "Nu ești logat cu un cont valid așa că aceste pad-uri vor fi șterse (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">află de ce</a>). <a href=\"/register/\">Înscrie-te</a> sau <a href=\"/login/\">Loghează-te</a> pentru a le salva."; - out.fm_alert_backupUrl = "Link copie de rezervă pentru acest drive.<br> Este <strong>foarte recomandat</strong> să o păstrezi pentru tine.<br>Poți să o folosești pentru a recupera toate fișierele n cazul n care memoria browserului tău este șterge..<br>Oricine are linkul poate să editeze sau să ndepărteze toate fișierele din managerul tău de documente.<br>"; - out.fm_alert_anonymous = "Salut, momentan folosești CryptPad n mod anonim. Este ok, doar că fișierele tale vor fi șterse după o perioadă de inactivitate. Am dezactivat caracteristicile avansate ale drive-ului pentru utilizatorii anonimi pentru a face clar faptul că stocare documentelor acolo nu este o metodă sigură. Poți să <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">citești mai multe</a> despre motivarea noastră și despre ce de trebuie să te <a href=\"/register/\">Înregistrezi</a> and <a href=\"/login/\">Loghezi</a>."; + out.fm_alert_backupUrl = "Link copie de rezervă pentru acest drive.<br> Este <strong>foarte recomandat</strong> să o păstrezi pentru tine.<br>Poți să o folosești pentru a recupera toate fișierele în cazul în care memoria browserului tău este șterge..<br>Oricine are linkul poate să editeze sau să îndepărteze toate fișierele din managerul tău de documente.<br>"; + out.fm_alert_anonymous = "Salut, momentan folosești CryptPad în mod anonim. Este ok, doar că fișierele tale vor fi șterse după o perioadă de inactivitate. Am dezactivat caracteristicile avansate ale drive-ului pentru utilizatorii anonimi pentru a face clar faptul că stocare documentelor acolo nu este o metodă sigură. Poți să <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">citești mai multe</a> despre motivarea noastră și despre ce de trebuie să te <a href=\"/register/\">Înregistrezi</a> si sa te <a href=\"/login/\">Loghezi</a>."; out.fm_backup_title = "Link de backup"; out.fm_nameFile = "Cum ai vrea să numești fișierul?"; out.fc_newfolder = "Folder nou"; @@ -204,12 +204,12 @@ define(function () { out.fc_prop = "Proprietăți"; out.fc_sizeInKilobytes = "Dimensiune n Kilobytes"; out.fo_moveUnsortedError = "Nu poți să muți un folder la lista de pad-uri nesortate"; - out.fo_existingNameError = "Numele ales este deja folosit n acest director. Te rugăm să alegi altul."; - out.fo_moveFolderToChildError = "Nu poți să muți un folder ntr-unul dintre descendenții săi"; - out.fo_unableToRestore = "Nu am reușit să restaurăm fișierul n locația de origine. Poți să ncerci să l muți ntr-o nouă locație."; - out.fo_unavailableName = "Un fișier sau un folder cu același nume există deja n locația nouă. Redenumește elementul și ncearcă din nou."; + out.fo_existingNameError = "Numele ales este deja folosit în acest director. Te rugăm să alegi altul."; + out.fo_moveFolderToChildError = "Nu poți să muți un folder într-unul dintre descendenții săi"; + out.fo_unableToRestore = "Nu am reușit să restaurăm fișierul în locația de origine. Poți să ncerci să îl muți într-o nouă locație."; + out.fo_unavailableName = "Un fișier sau un folder cu același nume există deja în locația nouă. Redenumește elementul și încearcă din nou."; out.login_login = "Loghează-te"; - out.login_makeAPad = "Crează un pad n modul anonim"; + out.login_makeAPad = "Crează un pad în modul anonim"; out.login_nologin = "Răsfoiește pad-urile locale"; out.login_register = "Înscrie-te"; out.logoutButton = "Deloghează-te"; @@ -223,7 +223,7 @@ define(function () { out.login_helloNoName = "Salut,"; out.login_accessDrive = "Acesează-ți drive-ul"; out.login_orNoLogin = "sau"; - out.login_noSuchUser = "Nume de utilizator sau parolă invalide. Încearcă din nou sau nscrie-te."; + out.login_noSuchUser = "Nume de utilizator sau parolă invalide. Încearcă din nou sau înscrie-te."; out.login_invalUser = "Nume utilizator cerut"; out.login_invalPass = "Parolă cerută"; out.login_unhandledError = "O eroare neașteptată a avut loc emoticon_unhappy"; @@ -231,12 +231,12 @@ define(function () { out.register_acceptTerms = "Accept <a href='/terms.html'>termenii serviciului</a>"; out.register_passwordsDontMatch = "Parolele nu se potrivesc!"; out.register_mustAcceptTerms = "Trebuie să accepți termenii serviciului"; - out.register_mustRememberPass = "Nu putem să ți resetăm parola dacă o uiți. Este foarte important să o ții minte! Bifează căsuța pentru a confirma."; - out.register_header = "Bine ai venit n CryptPad"; - out.register_explanation = "<p>Hai să stabilim câteva lucruri, mai ntâi</p><ul><li>Parola ta este cheia secretă care criptează toate pad-urile tale. Dacă pierzi/uiți parola nu există nici-o metodă prin care ți putem recupera datele.</li><li>Poți importa pad-uri care au fost vizionate recent n browser pentru a le avea n cont.</li><li>Dacă folosești un computer mpărțit, trebuie să te deloghezi, nchiderea taburilor nu este de ajuns.</li></ul>"; - out.register_writtenPassword = "Mi-am notat numele de utilizator și parola, naintează."; + out.register_mustRememberPass = "Nu putem să îți resetăm parola dacă o uiți. Este foarte important să o ții minte! Bifează căsuța pentru a confirma."; + out.register_header = "Bine ai venit în CryptPad"; + out.register_explanation = "<p>Hai să stabilim câteva lucruri, mai întâi</p><ul><li>Parola ta este cheia secretă care criptează toate pad-urile tale. Dacă pierzi/uiți parola nu există nici-o metodă prin care îți putem recupera datele.</li><li>Poți importa pad-uri care au fost vizionate recent în browser pentru a le avea în cont.</li><li>Dacă folosești un computer împărțit, trebuie să te deloghezi, închiderea taburilor nu este de ajuns.</li></ul>"; + out.register_writtenPassword = "Mi-am notat numele de utilizator și parola, înaintează."; out.register_cancel = "Întoarce-te"; - out.register_warning = "Zero Knowledge nseamnă că noi nu ți putem recupera datele dacă ți pierzi parola."; + out.register_warning = "Zero Knowledge înseamnă că noi nu îți putem recupera datele dacă îți pierzi parola."; out.register_alreadyRegistered = "Acest user există deja, vrei să te loghezi?"; out.settings_title = "Setări"; out.settings_save = "Salvează"; @@ -245,54 +245,54 @@ define(function () { out.settings_restore = "Restaurează"; out.settings_resetTitle = "Curăță-ți drive-ul"; out.settings_reset = "Îndepărtează toate fișierele și folderele din CryptPad-ul tău."; - out.settings_resetPrompt = "Această acțiune o să ndepărteze toate pad-urile din drive-ul tău.<br>Ești sigur că vrei să continui?<br>Type “<em>Iubesc CryptPad</em>” pentru a confirma."; + out.settings_resetPrompt = "Această acțiune va indepărta toate pad-urile din drive-ul tău.<br>Ești sigur că vrei să continui?<br>Tastează “<em>Iubesc CryptPad</em>” pentru a confirma."; out.settings_resetDone = "Drive-ul tău este acum gol!"; - out.settings_resetError = "Text de verificare incorrect. CryptPad-ul tău nu a fost schimbat."; - out.settings_resetTips = "Sfaturi n CryptDrive"; - out.settings_resetTipsButton = "Resetează sfaturile disponibile n CryptDrive"; + out.settings_resetError = "Text de verificare incorect. CryptPad-ul tău nu a fost schimbat."; + out.settings_resetTips = "Sfaturi în CryptDrive"; + out.settings_resetTipsButton = "Resetează sfaturile disponibile în CryptDrive"; out.settings_resetTipsDone = "Toate sfaturile sunt vizibile din nou."; out.settings_importTitle = "Importă pad-urile recente ale acestui browser n CryptDrive-ul meu"; out.settings_import = "Importă"; - out.settings_importConfirm = "Ești sigur că vrei să imporți pad-urile recente ale acestui browser n contul tău de CryptDrive?"; + out.settings_importConfirm = "Ești sigur că vrei să imporți pad-urile recente ale acestui browser în contul tău de CryptDrive?"; out.settings_importDone = "Import complet"; - out.settings_userFeedbackHint1 = "CryptPad oferă niște feedback foarte simplu serverului, pentru a ne informa cum putem să ți mbunătățim experiența voastră."; - out.settings_userFeedbackHint2 = "Conținutul pad-ului tău nu va fi mpărțit cu serverele."; + out.settings_userFeedbackHint1 = "CryptPad oferă niște feedback foarte simplu serverului, pentru a ne informa cum putem să îți îmbunătățim experiența voastră."; + out.settings_userFeedbackHint2 = "Conținutul pad-ului tău nu va fi împărțit cu serverele."; out.settings_userFeedback = "Activează feedback"; out.settings_anonymous = "Nu ești logat. Setările sunt specifice browser-ului."; out.settings_publicSigningKey = "Cheia de semnătură publică"; out.settings_usage = "Uzaj"; - out.settings_usageTitle = "Vezi dimensiunea totală a pad-urilor fixate n MB"; - out.settings_pinningNotAvailable = "Pad-urile fixate sunt disponibile doar utilizatorilor nregistrați."; + out.settings_usageTitle = "Vezi dimensiunea totală a pad-urilor fixate în MB"; + out.settings_pinningNotAvailable = "Pad-urile fixate sunt disponibile doar utilizatorilor înregistrați."; out.settings_pinningError = "Ceva nu a funcționat"; out.settings_usageAmount = "Pad-urile tale fixate ocupă {0}MB"; out.settings_logoutEverywhereTitle = "Deloghează-te peste tot"; out.settings_logoutEverywhere = "Deloghează-te din toate sesiunile web"; out.settings_logoutEverywhereConfirm = "Ești sigur? Va trebui să te loghezi, din nou, pe toate device-urile tale."; - out.upload_serverError = "Eroare de server: fișierele tale nu pot fi ncărcate la momentul acesta."; - out.upload_uploadPending = "Ai deja o ncărcare n desfășurare. Anulezi si ncarci noul fișier?"; + out.upload_serverError = "Eroare de server: fișierele tale nu pot fi încărcate la momentul acesta."; + out.upload_uploadPending = "Ai deja o încărcare în desfășurare. Anulezi și încarci noul fișier?"; out.upload_success = "Fișierul tău ({0}) a fost ncărcat și adăugat la drive-ul tău cu succes."; - out.main_p2 = "Acest proiect folosește <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, și <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> un motor n timp real."; - out.main_howitworks_p1 = "CryptPad folosește o variantă a algoritmului de <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> care este capabil să găsescă consens distribuit folosind <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, o construcție popularizată de <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. Astfel algoritmul poate evita nevoia ca serverul central să rezove conflicte, iar serverul nu este interesat de conținutul care este editat n pad."; - out.main_about_p2 = "Dacă ai orice fel de ntrebare sau comentariu, poți să ne <a href=\"https://twitter.com/cryptpad\">dai un tweet</a>, semnalezi o problemă <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"index de probleme\">on github</a>, spui salut pe IRC (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), sau <a href=\"research@xwiki.com\">trimiți un email</a>."; - out.main_info = "<h1>Colaborează n siguranță</h1><br> Dezvoltă-ți ideile mpreună cu documente partajate n timp ce tehnologia <strong>Zero Knowledge</strong> ți păstrează securitatea; chiar și de noi."; + out.main_p2 = "Acest proiect folosește <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, și <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> un motor în timp real."; + out.main_howitworks_p1 = "CryptPad folosește o variantă a algoritmului de <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> care este capabil să găsescă consens distribuit folosind <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, o construcție popularizată de <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. Astfel algoritmul poate evita nevoia ca serverul central să rezove conflicte, iar serverul nu este interesat de conținutul care este editat în pad."; + out.main_about_p2 = "Dacă ai orice fel de întrebare sau comentariu, poți să ne <a href=\"https://twitter.com/cryptpad\">dai un tweet</a>, semnalezi o problemă <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"index de probleme\">on github</a>, spui salut pe IRC (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), sau <a href=\"research@xwiki.com\">trimiți un email</a>."; + out.main_info = "<h1>Colaborează n siguranță</h1><br> Dezvoltă-ți ideile împreună cu documente partajate în timp ce tehnologia <strong>Zero Knowledge</strong> îți păstrează securitatea; chiar și de noi."; out.main_howitworks = "Cum funcționează"; out.main_zeroKnowledge = "Zero Knowledge"; - out.main_zeroKnowledge_p = "Nu trebuie să ne crezi că <em>nu ne uităm</em> la pad-urile tale, cu tehnologia revoluționară Zero Knowledge a CryptPad <em>nu putem</em>. Învață mai multe despre cum ți protejăm Learn more about how we protect your <a href=\"/privacy.html\" title='Intimitatea'>Intimitate și Securitate</a>."; + out.main_zeroKnowledge_p = "Nu trebuie să ne crezi că <em>nu ne uităm</em> la pad-urile tale, cu tehnologia revoluționară Zero Knowledge a CryptPad <em>nu putem</em>. Învață mai multe despre cum îți protejăm <a href=\"/privacy.html\" title='Intimitatea'>Intimitate și Securitate</a>."; out.main_writeItDown = "Notează"; out.main_writeItDown_p = "Cele mai importante proiecte vin din idei mici. Notează-ți momentele de inspirație și ideile neașteptate pentru că nu știi niciodată care ar putea fi noua mare descoperire."; out.main_share = "Partajează link-ul, partajează pad-ul"; - out.main_share_p = "Dezvoltă-ți ideile mpreună: organizează ntâlniri eficiente, colaborează pe liste TODO și fă prezentări scurte cu toți prietenii tăi și device-urile tale."; + out.main_share_p = "Dezvoltă-ți ideile împreună: organizează întâlniri eficiente, colaborează pe liste TODO și fă prezentări scurte cu toți prietenii tăi și device-urile tale."; out.main_organize = "Organizează-te"; - out.main_organize_p = "Cu CryptPad Drive, poți să stai cu ochii pe ce este important. Folderele ți permit să ții evidența proiectelor tale și să ai o viziune globală asupra evoluției lucrurilor."; + out.main_organize_p = "Cu CryptPad Drive, poți să stai cu ochii pe ce este important. Folderele îți permit să ții evidența proiectelor tale și să ai o viziune globală asupra evoluției lucrurilor."; out.tryIt = "Testează!"; out.main_richText = "Rich Text editor"; - out.main_richText_p = "Editează texte complexe n mod colaborativ cu Zero Knowledge n timp real. <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application."; + out.main_richText_p = "Editează texte complexe în mod colaborativ cu Zero Knowledge în timp real. <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application."; out.main_code = "Editor cod"; - out.main_code_p = "Editează cod din softul tău, n mod colaborativ, cu Zero Knowledge n timp real.<a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application."; + out.main_code_p = "Editează cod din softul tău, în mod colaborativ, cu Zero Knowledge în timp real.<a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application."; out.main_slide = "Editor slide-uri"; - out.main_slide_p = "Crează-ți prezentări folosind sintaxa Markdown, și afișează-le n browser-ul tău."; + out.main_slide_p = "Crează-ți prezentări folosind sintaxa Markdown, și afișează-le în browser-ul tău."; out.main_poll = "Sondaj"; - out.main_poll_p = "Plănuiește ntâlniri sau evenimente, sau votează pentru cea mai bună soluție pentru problema ta."; + out.main_poll_p = "Plănuiește întâlniri sau evenimente, sau votează pentru cea mai bună soluție pentru problema ta."; out.main_drive = "CryptDrive"; out.footer_applications = "Aplicații"; out.footer_contact = "Contact"; @@ -304,47 +304,47 @@ define(function () { out.blog = "Blog"; out.policy_title = "Politica de confidențialitate CryptPad"; out.policy_whatweknow = "Ce știm despre tine"; - out.policy_whatweknow_p1 = "Ca o aplicație care este găzduită online, CryptPad are acces la metadatele expuse de protocolul HTTP. Asta include adresa IP-ului tău, și alte titluri HTTP care pot fi folosite ca să identifice un browser. Poți să vezi ce informații mpărtășește browser-ul tău vizitând <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>."; + out.policy_whatweknow_p1 = "Ca o aplicație care este găzduită online, CryptPad are acces la metadatele expuse de protocolul HTTP. Asta include adresa IP-ului tău, și alte titluri HTTP care pot fi folosite ca să identifice un browser. Poți să vezi ce informații împărtășește browser-ul tău vizitând <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>."; out.policy_whatweknow_p2 = "Folosim <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"platforma de analiză open source\">Kibana</a>, o platformă open source, pentru a afla mai multe despre utilizatorii noștri. Kibana ne spune despre cum ai găsit CryptPad, căutare directă, printr-un motor de căutare, sau prin recomandare de la un alt serviciu online ca Reddit sau Twitter."; out.policy_howweuse = "Cum folosim ce aflăm"; - out.policy_howweuse_p1 = "Folosim aceste informații pentru a lua decizii mai bune n promovarea CryptPad, prin evaluarea eforturilor trecute care au fost de succes. Informațiile despre locația ta ne ajută să aflăm dacă ar trebui să oferim suport pentru alte limbi, pe lângă engleză."; - out.policy_howweuse_p2 = "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoare mbunătățiri. Echipa noastră de development este mică, și ncercăm să facem alegeri care să mbunătățească experiența câtor mai mulți utilizatori."; + out.policy_howweuse_p1 = "Folosim aceste informații pentru a lua decizii mai bune în promovarea CryptPad, prin evaluarea eforturilor trecute care au fost de succes. Informațiile despre locația ta ne ajută să aflăm dacă ar trebui să oferim suport pentru alte limbi, pe lângă engleză."; + out.policy_howweuse_p2 = "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoarele îmbunătățiri. Echipa noastră de dezvoltare este mică, și încercăm să facem alegeri care să îmbunătățească experiența câtor mai mulți utilizatori."; out.policy_whatwetell = "Ce le spunem altora despre tine"; - out.policy_whatwetell_p1 = "Nu furnizăm informațiile obținute terților, decât dacă ne este cerut n mod legal."; + out.policy_whatwetell_p1 = "Nu furnizăm informațiile obținute terților, decât dacă ne este cerut în mod legal."; out.policy_links = "Link-uri către alte site-uri"; out.policy_links_p1 = "Acest site conține link-uri către alte site-uri, incluzându-le pe cele produse de alte organizații. Nu suntem responsabili pentru practicile de intimitate sau pentru conținutul site-urilor externe. Ca regulă generală, link-urile către site-uri externe sunt deschise ntr-o fereastră noup, pentru a face clar faptul că părăsiți CryptPad.fr."; out.policy_ads = "Reclame"; out.policy_ads_p1 = "Nu afișăm nici o formă de publicitate online, dar s-ar putea să atașăm link-uri către instituțiile care ne finanțează cerecetarea."; out.policy_choices = "Ce alegeri ai"; out.policy_choices_open = "Codul nostru este open source, așa că tu ai mereu posibilitatea de a-ți găzdui propria instanță de CryptPad."; - out.policy_choices_vpn = "Dacă vrei să folosești instanța găzduită de noi, dar nu vrei să ți expui IP-ul, poți să l protejezi folosind <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, sau <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>."; + out.policy_choices_vpn = "Dacă vrei să folosești instanța găzduită de noi, dar nu vrei să îți expui IP-ul, poți să îl protejezi folosind <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, sau <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>."; out.policy_choices_ads = "Dacă vrei doar să blochezi platforma noastră de analiză, poți folosi soluții de adblocking ca <a href=\"https://www.eff.org/privacybadger\" title=\"download privacy badger\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Badger</a>."; out.tos_title = "CryptPad Termeni de Utilizare"; out.tos_legal = "Te rugăm să nu fii rău intenționat, abuziv, sau să faci orice ilegal."; - out.tos_availability = "Sperăm că o să găsești acest serviciu util, dar disponibilitatea sau performanța nu poate fi garantată. Te rugăm să ți exporți datele n mod regulat."; - out.tos_e2ee = "Conținutul CryptPad poate fi citit sau modificat de oricine care poate ghici sau obține fragmentul identificator al pad-ului. Recomandăm să folosești soluții de comunicare criptate end-to-end-encrypted (e2ee) pentru a partaja link-uri, evitând orice risc n cazul unei scurgeri de informații."; - out.tos_logs = "Metadatele oferite de browser-ul tău serverului ar putea fi nscrise n scopul de a menține serviciul."; + out.tos_availability = "Sperăm că o să găsești acest serviciu util, dar disponibilitatea sau performanța nu poate fi garantată. Te rugăm să îți exporți datele n mod regulat."; + out.tos_e2ee = "Conținutul CryptPad poate fi citit sau modificat de oricine care poate ghici sau obține fragmentul identificator al pad-ului. Recomandăm să folosești soluții de comunicare criptate end-to-end-encrypted (e2ee) pentru a partaja link-uri, evitând orice risc în cazul unei scurgeri de informații."; + out.tos_logs = "Metadatele oferite de browser-ul tău serverului ar putea fi înscrise în scopul de a menține serviciul."; out.tos_3rdparties = "Nu oferim date personale terților, decât dacă ne sunt solicitate prin lege."; out.bottom_france = "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Realizat cu <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> n <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" alt=\"Franța\" /></a>"; out.bottom_support = "<a href=\"http://labs.xwiki.com/\" title=\"XWiki Labs\" target=\"_blank\" rel=\"noopener noreferrer\">Un proiect al <img src=\"/customize/logo-xwiki2.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/> Labs Project </a> cu susținerea <a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>"; out.header_france = "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">With <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> from <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" title=\"Franța\" alt=\"Franța\"/> by <img src=\"/customize/logo-xwiki.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/></a>"; out.header_support = "<a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>"; out.header_logoTitle = "Mergi la pagina principală"; - out.initialState = "<span style=\"font-size:16px;\"><p>Acesta este <strong>CryptPad</strong>, editorul colaborativ bazat pe tehnologia Zero Knowledge n timp real. Totul este salvat pe măsură ce scrii.<br>Partajează link-ul către acest pad pentru a edita cu prieteni sau folosește <span style=\"background-color:#5cb85c;color:#ffffff;\"> Share </span> butonul pentru a partaja <em>read-only link</em> permițând vizualizarea dar nu și editarea.</p><p><span style=\"color:#808080;\"><em>Îndrăznește, ncepe să scrii...</em></span></p></span><p> <br></p>"; + out.initialState = "<span style=\"font-size:16px;\"><p>Acesta este <strong>CryptPad</strong>, editorul colaborativ bazat pe tehnologia Zero Knowledge în timp real. Totul este salvat pe măsură ce scrii.<br>Partajează link-ul către acest pad pentru a edita cu prieteni sau folosește <span style=\"background-color:#5cb85c;color:#ffffff;\"> Share </span> butonul pentru a partaja <em>read-only link</em> permițând vizualizarea dar nu și editarea.</p><p><span style=\"color:#808080;\"><em>Îndrăznește, începe să scrii...</em></span></p></span><p> <br></p>"; out.codeInitialState = "/*\n Acesta este editorul colaborativ de cod bazat pe tehnologia Zero Knowledge CryptPad.\n Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n Poți să alegi ce limbaj de programare pus n evidență și schema de culori UI n dreapta sus.\n*/"; - out.slideInitialState = "# CryptSlide\n* Acesta este un editor colaborativ bazat pe tehnologia Zero Knowledge.\n* Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n* Nici măcar serverele nu au acces la ce scrii tu.\n* Ce vezi aici, ce auzi aici, atunci când pleci, lasă aici.\n\n-\n# Cum se folosește\n1. Scrie-ți conținutul slide-urilor folosind sintaxa markdown\n - Află mai multe despre sintaxa markdown [aici](http://www.markdowntutorial.com/)\n2. Separă-ți slide-urile cu -\n3. Click pe butonul \"Play\" pentru a vedea rezultatele - Slide-urile tale sunt actualizate n timp real."; + out.slideInitialState = "# CryptSlide\n* Acesta este un editor colaborativ bazat pe tehnologia Zero Knowledge.\n* Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n* Nici măcar serverele nu au acces la ce scrii tu.\n* Ce vezi aici, ce auzi aici, atunci când pleci, lași aici.\n\n-\n# Cum se folosește\n1. Scrie-ți conținutul slide-urilor folosind sintaxa markdown\n - Află mai multe despre sintaxa markdown [aici](http://www.markdowntutorial.com/)\n2. Separă-ți slide-urile cu -\n3. Click pe butonul \"Play\" pentru a vedea rezultatele - Slide-urile tale sunt actualizate în timp real."; out.driveReadmeTitle = "Ce este CryptDrive?"; out.readme_welcome = "Bine ai venit n CryptPad !"; - out.readme_p1 = "Bine ai venit n CryptPad, acesta este locul unde ți poți lua notițe, singur sau cu prietenii."; - out.readme_p2 = "Acest pad o să ți ofere un scurt ghid n cum poți să folosești CryptPad pentru a lua notițe, a le ține organizate și a colabora pe ele."; + out.readme_p1 = "Bine ai venit în CryptPad, acesta este locul unde îți poți lua notițe, singur sau cu prietenii."; + out.readme_p2 = "Acest pad o să îți ofere un scurt ghid în cum poți să folosești CryptPad pentru a lua notițe, a le ține organizate și a colabora pe ele."; out.readme_cat1 = "Descoperă-ți CryptDrive-ul"; out.readme_cat1_l1 = "Crează un pad: În CryptDrive-ul tău, dă click {0} apoi {1} și poți să creezi un pad."; out.readme_cat1_l2 = "Deschide pad-urile din CryptDrive-ul tău: doublu-click pe iconița unui pad pentru a-l deschide."; - out.readme_cat1_l3 = "Organizează-ți pad-urile: Când ești logat, orice pad accesezi va fi afișat ca n secțiunea {0} a drive-ului tău."; - out.readme_cat1_l3_l1 = "Poți să folosești funcția click and drag pentru a muta fișierele n folderele secțiunii {0} a drive-ului tău și pentru a crea noi foldere."; - out.readme_cat1_l3_l2 = "Ține minte să ncerci click-dreapta pe iconițe pentru că există și meniuri adiționale."; - out.readme_cat1_l4 = "Pune pad-urile vechi n gunoi. Poți să folosești funcția click and drag pe pad-uri n categoria {0} la fel ca și n cazul folderelor."; + out.readme_cat1_l3 = "Organizează-ți pad-urile: Când ești logat, orice pad accesezi va fi afișat ca în secțiunea {0} a drive-ului tău."; + out.readme_cat1_l3_l1 = "Poți să folosești funcția click and drag pentru a muta fișierele în folderele secțiunii {0} a drive-ului tău și pentru a crea noi foldere."; + out.readme_cat1_l3_l2 = "Ține minte să încerci click-dreapta pe iconițe pentru că există și meniuri adiționale."; + out.readme_cat1_l4 = "Pune pad-urile vechi în gunoi. Poți să folosești funcția click and drag pe pad-uri în categoria {0} la fel ca și în cazul folderelor."; out.readme_cat2 = "Crează pad-uri ca un profesionist"; out.edit = "editează"; out.view = "vezi"; @@ -361,11 +361,11 @@ define(function () { out.tips.indentare = "În listele cu bulină sau cele numerotate, poți folosi tab sau shift+tab pentru a mări sau micșora indentarea."; out.tips.titlu = "Poți seta titlul pad-urilor tale prin click pe centru sus."; out.tips.stocare = "De fiecare dată când vizitezi un pad, dacă ești logat va fi salvat pe CryptDrive-ul tău."; - out.tips.marker = "Poți sublinia text ntr-un pad folosind itemul \"marker\" n meniul de stiluri."; + out.tips.marker = "Poți sublinia text într-un pad folosind itemul \"marker\" n meniul de stiluri."; - out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când ntreprinzi anumite acțiuni"; - out.feedback_privacy = "Ne pasă de intimitatea ta, si n același timp vrem să păstrăm CryptPad ușor de folosit. Folosim acest fișier pentru a ne da seama care beneficii UI contează cel mai mult pentru utilizatori, cerându-l alături de un parametru specific atunci când acțiunea se desfășoară"; + out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când întreprinzi anumite acțiuni"; + out.feedback_privacy = "Ne pasă de intimitatea ta, si în același timp vrem să păstrăm CryptPad ușor de folosit. Folosim acest fișier pentru a ne da seama care beneficii UI contează cel mai mult pentru utilizatori, cerându-l alături de un parametru specific atunci când acțiunea se desfășoară"; out.feedback_optout = "Dacă vrei să ieși, vizitează <a href='/settings/'>setările de pe pagina ta de user</a>, unde vei găsi o căsuță pentru a activa sau dezactiva feedback-ul de la user"; return out; -}); \ No newline at end of file +}); From cf658c1b3ab3df508a16731906e291cc80be8530 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 26 May 2017 12:41:30 +0200 Subject: [PATCH 160/236] backport live changes --- www/code/main.js | 17 ++++++++++++++--- www/common/common-util.js | 9 +++++++++ www/common/cryptpad-common.js | 1 + 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/www/code/main.js b/www/code/main.js index fa6ecf12b..d82d73273 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -110,6 +110,18 @@ define([ return stringify(obj); }; + var forceDrawPreview = function () { + try { + DiffMd.apply(DiffMd.render(editor.getValue()), $preview); + } catch (e) { console.error(e); } + }; + + var drawPreview = Cryptpad.throttle(function () { + if (CodeMirror.highlightMode !== 'markdown') { return; } + if (!$previewContainer.is(':visible')) { return; } + forceDrawPreview(); + }, 150); + var onLocal = config.onLocal = function () { if (initializing) { return; } if (isHistoryMode) { return; } @@ -117,7 +129,7 @@ define([ editor.save(); - DiffMd.apply(DiffMd.render(editor.getValue()), $preview); + drawPreview(); var textValue = canonicalize(CodeMirror.$textarea.val()); var shjson = stringifyInner(textValue); @@ -324,14 +336,13 @@ define([ var hjson = JSON.parse(shjson); var remoteDoc = hjson.content; - DiffMd.apply(DiffMd.render(remoteDoc), $preview); - var highlightMode = hjson.highlightMode; if (highlightMode && highlightMode !== APP.highlightMode) { CodeMirror.setMode(highlightMode, onModeChanged); } CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher); + drawPreview(); if (!readOnly) { var textValue = canonicalize(CodeMirror.$textarea.val()); diff --git a/www/common/common-util.js b/www/common/common-util.js index 6fb2ad7bb..debbd8e2d 100644 --- a/www/common/common-util.js +++ b/www/common/common-util.js @@ -122,5 +122,14 @@ define([], function () { xhr.send(null); }; + Util.throttle = function (f, ms) { + var to; + var g = function () { + window.clearTimeout(to); + to = window.setTimeout(f, ms); + }; + return g; + }; + return Util; }); diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 730a7984f..20927dc04 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -71,6 +71,7 @@ define([ common.bytesToMegabytes = Util.bytesToMegabytes; common.bytesToKilobytes = Util.bytesToKilobytes; common.fetch = Util.fetch; + common.throttle = Util.throttle; // import hash utilities for export var createRandomHash = common.createRandomHash = Hash.createRandomHash; From 57017c68fa2169644ff721fb4c9af253ba9112b2 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 26 May 2017 12:42:12 +0200 Subject: [PATCH 161/236] hacks for cross-domain safari --- www/common/fsStore.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/fsStore.js b/www/common/fsStore.js index b20c38c48..08a1a8fa3 100644 --- a/www/common/fsStore.js +++ b/www/common/fsStore.js @@ -172,7 +172,7 @@ define([ if (typeof(proxy.loginToken) !== 'number') { proxy[tokenKey] = Math.floor(Math.random()*Number.MAX_SAFE_INTEGER); } - + if (sessionStorage) { sessionStorage.setItem('User_hash', localStorage.getItem('User_hash')); } var localToken = tryParsing(localStorage.getItem(tokenKey)); if (localToken === null) { // if that number hasn't been set to localStorage, do so. From 2ecf257fcdcadd65ea17c0e9f7b3678fb2b39c03 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Fri, 26 May 2017 15:30:01 +0200 Subject: [PATCH 162/236] Sync localStorage with sessionStorage in auth because safari... --- www/auth/main.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/www/auth/main.js b/www/auth/main.js index 488165911..747434c23 100644 --- a/www/auth/main.js +++ b/www/auth/main.js @@ -18,6 +18,9 @@ define([ /^http(s)?:\/\/localhost\:/ ]; + // Safari is weird about localStorage in iframes but seems to let sessionStorage slide. + localStorage.User_hash = localStorage.User_hash || sessionStorage.User_hash; + Cryptpad.ready(function () { console.log('IFRAME READY'); $(window).on("message", function (jqe) { From 0559b8cb775584f341fd84ec93809c3429d21a9d Mon Sep 17 00:00:00 2001 From: superniko <ge.nikolic@gmail.com> Date: Fri, 26 May 2017 16:47:45 +0300 Subject: [PATCH 163/236] Update messages.ro.js --- customize.dist/translations/messages.ro.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js index 2c09b9a76..75c1c5852 100644 --- a/customize.dist/translations/messages.ro.js +++ b/customize.dist/translations/messages.ro.js @@ -274,7 +274,7 @@ define(function () { out.main_p2 = "Acest proiect folosește <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, și <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> un motor în timp real."; out.main_howitworks_p1 = "CryptPad folosește o variantă a algoritmului de <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> care este capabil să găsescă consens distribuit folosind <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, o construcție popularizată de <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. Astfel algoritmul poate evita nevoia ca serverul central să rezove conflicte, iar serverul nu este interesat de conținutul care este editat în pad."; out.main_about_p2 = "Dacă ai orice fel de întrebare sau comentariu, poți să ne <a href=\"https://twitter.com/cryptpad\">dai un tweet</a>, semnalezi o problemă <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"index de probleme\">on github</a>, spui salut pe IRC (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), sau <a href=\"research@xwiki.com\">trimiți un email</a>."; - out.main_info = "<h1>Colaborează n siguranță</h1><br> Dezvoltă-ți ideile împreună cu documente partajate în timp ce tehnologia <strong>Zero Knowledge</strong> îți păstrează securitatea; chiar și de noi."; + out.main_info = "<h1>Colaborează în siguranță</h1><br> Dezvoltă-ți ideile împreună cu documentele partajate în timp ce tehnologia <strong>Zero Knowledge</strong> îți păstrează securitatea; chiar și de noi."; out.main_howitworks = "Cum funcționează"; out.main_zeroKnowledge = "Zero Knowledge"; out.main_zeroKnowledge_p = "Nu trebuie să ne crezi că <em>nu ne uităm</em> la pad-urile tale, cu tehnologia revoluționară Zero Knowledge a CryptPad <em>nu putem</em>. Învață mai multe despre cum îți protejăm <a href=\"/privacy.html\" title='Intimitatea'>Intimitate și Securitate</a>."; From 66520b60413a515454439da15715027478497885 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Fri, 26 May 2017 18:09:31 +0200 Subject: [PATCH 164/236] cleaned up the accounts, limits and revenue sharing and unified the config in one place --- config.example.js | 49 ++++++++++++++++++++----- customize.dist/application_config.js | 2 - customize.dist/translations/messages.js | 1 + rpc.js | 9 ++++- server.js | 1 + www/common/cryptpad-common.js | 11 ++++-- www/common/toolbar.js | 6 ++- www/common/toolbar2.js | 6 ++- www/drive/main.js | 12 +++--- 9 files changed, 70 insertions(+), 27 deletions(-) diff --git a/config.example.js b/config.example.js index fe3f2fb91..a0f3003e0 100644 --- a/config.example.js +++ b/config.example.js @@ -116,11 +116,46 @@ module.exports = { 'contact', ], - /* Domain - * If you want to have enable payments on your CryptPad instance, it has to be able to tell - * our account server what is your domain + /* Limits, Subscriptions and Contact + * + * CryptPad limits every registered user to 50MB of storage. + * By default it also allows that limit to be increased by subscribing at accounts.cryptpad.fr + * You can either: + * A: Hide the button for subscribing, so everyone is limited to 50MB + * B: Support cryptpad and share 50% of the revenue earned on your instance + * + * CryptPad is developed by people who need to live and who deserve an equivilent life to + * what they would get at a company which monitizes user data. However, we intend to have + * a mutually positive relationship with every one of our users, including you. If you are + * getting value from CryptPad, you should be giving equal value back. + * + * If you are using CryptPad in a business context, please consider taking a support contract + * by contacting sales@cryptpad.fr + * + * If you choose A, set this variable to true to hide the subscription button. */ - // domain: 'https://cryptpad.fr', + noSubscriptionButton: false, + /* + * If you choose B, set the domain of your cryptpad instance here and then contact + * sales@cryptpad.fr and tell us your domain, we will tell you what is needed to get paid. + */ + myDomain: 'i.did.not.read.my.config.cryptpad.myserver.tld', + /* + * If you are using CryptPad internally and you want to increase the per-user storage limit, + * change the following value. + * Please note: Providing a public offer that is better than cryptpad.fr is an attack on + * the project. Please leave this alone if you are providing a public service. + */ + defaultStorageLimit: 50 * 1024 * 1024, + /* + * By default, CryptPad contacts our accounts server once a day to check for changes in the + * people who have accounts. This check-in will also send your email and the version of + * CryptPad you run so we can reach you if we are aware of a serious problem with your + * CryptPad instance. We will never sell it or use it for marketing. If you want to block this + * check-in and remain completely private, set this to false and noSubscriptionButton to true. + */ + adminEmail: 'i.did.not.read.my.config@cryptpad.fr', + /* You have the option of specifying an alternative storage adaptor. @@ -211,12 +246,6 @@ module.exports = { */ //restrictUploads: false, - /* Default user storage limit (bytes) - * if you don't want to limit users, - * you can set this to the size of your hard disk - */ - defaultStorageLimit: 50 * 1024 * 1024, - /* Max Upload Size (bytes) * this sets the maximum size of any one file uploaded to the server. * anything larger than this size will be rejected diff --git a/customize.dist/application_config.js b/customize.dist/application_config.js index 24ed2c740..151a8b7da 100644 --- a/customize.dist/application_config.js +++ b/customize.dist/application_config.js @@ -37,8 +37,6 @@ define(function() { config.enableHistory = true; - config.enablePinLimit = true; - /* user passwords are hashed with scrypt, and salted with their username. this value will be appended to the username, causing the resulting hash to differ from other CryptPad instances if customized. This makes it diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 751cf3633..d39407194 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -78,6 +78,7 @@ define(function () { out.updated_0_pinLimitReachedAlert = "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>" + 'You can either remove pads from your CryptDrive or <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">subscribe to a premium offer</a> to increase your limit.'; out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert; + out.pinLimitReachedAlertNoAccounts = out.pinLimitReached; out.pinAboveLimitAlert = 'As of this release, we are imposing a 50MB limit on free data storage and you are currently using {0}. You will need to either delete some pads or subscribe on <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Your contribution will help us improve CryptPad and spread Zero Knowledge. Please contact <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> if you have any other questions.'; out.pinLimitNotPinned = "You've reached your storage limit.<br>"+ "This pad is not stored in your CryptDrive."; diff --git a/rpc.js b/rpc.js index 0257c498f..45be04cc7 100644 --- a/rpc.js +++ b/rpc.js @@ -1,4 +1,5 @@ /*@flow*/ +/*jshint esversion: 6 */ /* Use Nacl for checking signatures of messages */ var Nacl = require("tweetnacl"); @@ -8,6 +9,7 @@ var Nacl = require("tweetnacl"); var Fs = require("fs"); var Path = require("path"); var Https = require("https"); +const Package = require('./package.json'); var RPC = module.exports; @@ -371,6 +373,7 @@ var getHash = function (Env, publicKey, cb) { // To each key is associated an object containing the 'limit' value and a 'note' explaining that limit var limits = {}; var updateLimits = function (config, publicKey, cb) { + if (config.adminEmail === false && config.noSubscriptionButton === true) { return; } if (typeof cb !== "function") { cb = function () {}; } var defaultLimit = typeof(config.defaultStorageLimit) === 'number'? @@ -382,8 +385,10 @@ var updateLimits = function (config, publicKey, cb) { } var body = JSON.stringify({ - domain: config.domain, - subdomain: config.subdomain + domain: config.myDomain, + subdomain: config.mySubdomain, + adminEmail: config.adminEmail, + version: Package.version }); var options = { host: 'accounts.cryptpad.fr', diff --git a/server.js b/server.js index 037a8adeb..e2527fa7d 100644 --- a/server.js +++ b/server.js @@ -121,6 +121,7 @@ app.get('/api/config', function(req, res){ waitSeconds: 60, urlArgs: 'ver=' + Package.version + (DEV_MODE? '-' + (+new Date()): ''), }, + noSubscriptionButton: (config.noSubscriptionButton === true), websocketPath: config.useExternalWebsocket ? undefined : config.websocketPath, websocketURL:'ws' + ((useSecureWebsockets) ? 's' : '') + '://' + host + ':' + websocketPort + '/cryptpad_websocket', diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 5214fcc3b..ae73867de 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -599,7 +599,7 @@ define([ var data = makePad(href, name); getStore().pushData(data, function (e) { if (e) { - if (e === 'E_OVER_LIMIT' && AppConfig.enablePinLimit) { + if (e === 'E_OVER_LIMIT') { common.alert(Messages.pinLimitNotPinned, null, true); return; } @@ -761,7 +761,7 @@ define([ }; common.isOverPinLimit = function (cb) { - if (!common.isLoggedIn() || !AppConfig.enablePinLimit) { return void cb(null, false); } + if (!common.isLoggedIn()) { return void cb(null, false); } var usage; var andThen = function (e, limit, plan) { if (e) { return void cb(e); } @@ -817,7 +817,10 @@ define([ var width = Math.floor(Math.min(quota, 1)*200); // the bar is 200px width var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px'); - if ((quota >= 0.8 || alwaysDisplayUpgrade) && data.plan !== "power") { + if (Config.noSubscriptionButton !== true && + (quota >= 0.8 || alwaysDisplayUpgrade) && + data.plan !== "power") + { var origin = encodeURIComponent(window.location.hostname); var $upgradeLink = $('<a>', { href: "https://accounts.cryptpad.fr/#!on=" + origin, @@ -845,7 +848,7 @@ define([ else if (quota < 1) { $usage.addClass('warning'); } else { $usage.addClass('above'); - if (!limitReachedDisplayed) { + if (!limitReachedDisplayed && Config.noSubscriptionButton === true) { limitReachedDisplayed = true; common.alert(Messages._getKey('pinAboveLimitAlert', [prettyUsage, encodeURIComponent(window.location.hostname)]), null, true); } diff --git a/www/common/toolbar.js b/www/common/toolbar.js index 6920c0b0d..bf08fcb07 100644 --- a/www/common/toolbar.js +++ b/www/common/toolbar.js @@ -500,8 +500,12 @@ define([ var todo = function (e, overLimit) { if (e) { return void console.error("Unable to get the pinned usage"); } if (overLimit) { + var message = Messages.pinLimitReachedAlert; + if (ApiConfig.noSubscriptionButton === true) { + message = Messages.pinLimitReachedAlertNoAccounts; + } $limit.show().click(function () { - Cryptpad.alert(Messages.pinLimitReachedAlert, null, true); + Cryptpad.alert(message, null, true); }); } }; diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index 57d113a48..a17e24199 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -616,8 +616,12 @@ define([ var todo = function (e, overLimit) { if (e) { return void console.error("Unable to get the pinned usage"); } if (overLimit) { + var key = 'pinLimitReachedAlert'; + if (ApiConfig.noSubscriptionButton === true) { + key = 'pinLimitReachedAlertNoAccounts'; + } $limit.show().click(function () { - Cryptpad.alert(Messages._getKey('pinLimitReachedAlert', [encodeURIComponent(window.location.hostname)]), null, true); + Cryptpad.alert(Messages._getKey(key, [encodeURIComponent(window.location.hostname)]), null, true); }); } }; diff --git a/www/drive/main.js b/www/drive/main.js index 5343bd829..03dcb7716 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -2712,13 +2712,11 @@ define([ } /* add the usage */ - if (AppConfig.enablePinLimit) { - Cryptpad.createUsageBar(function (err, $limitContainer) { - if (err) { return void logError(err); } - $leftside.html(''); - $leftside.append($limitContainer); - }); - } + Cryptpad.createUsageBar(function (err, $limitContainer) { + if (err) { return void logError(err); } + $leftside.html(''); + $leftside.append($limitContainer); + }); /* add a history button */ var histConfig = { From 3915b300557760ef3704daffca0df46944f9570b Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 29 May 2017 13:11:07 +0200 Subject: [PATCH 165/236] provide a register button on login also direct users from file to login --- customize.dist/main.css | 6 ++++++ customize.dist/src/less/cryptpad.less | 8 ++++++++ customize.dist/translations/messages.js | 4 ++++ www/file/main.js | 7 ++++++- www/login/index.html | 4 ++++ www/login/main.js | 11 +++++++++++ 6 files changed, 39 insertions(+), 1 deletion(-) diff --git a/customize.dist/main.css b/customize.dist/main.css index 063324504..50572f14b 100644 --- a/customize.dist/main.css +++ b/customize.dist/main.css @@ -875,6 +875,12 @@ html.cp, .cp #main_other #main-container { display: inline-block; } +.cp #main #userForm .extra p, +.cp #main_other #userForm .extra p { + font-size: 28px; + padding: 15px; + text-align: center; +} .cp #main #data, .cp #main_other #data { width: 600px; diff --git a/customize.dist/src/less/cryptpad.less b/customize.dist/src/less/cryptpad.less index 0ee8785e6..49608df00 100644 --- a/customize.dist/src/less/cryptpad.less +++ b/customize.dist/src/less/cryptpad.less @@ -337,6 +337,14 @@ noscript { display: inline-block; } + #userForm .extra { + p { + font-size: 28px; + padding: 15px; + text-align: center; + } + } + #data { p { margin: 0; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index d39407194..c28172017 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -302,6 +302,9 @@ define(function () { out.login_invalPass = 'Password required'; out.login_unhandledError = 'An unexpected error occurred :('; + out.login_notRegistered = 'Not registered?'; + + out.register_importRecent = "Import pad history (Recommended)"; out.register_acceptTerms = "I accept <a href='/terms.html'>the terms of service</a>"; out.register_passwordsDontMatch = "Passwords do not match!"; @@ -375,6 +378,7 @@ define(function () { out.upload_name = "File name"; out.upload_size = "Size"; out.upload_progress = "Progress"; + out.upload_mustLogin = "You must be logged in to upload files"; out.download_button = "Decrypt & Download"; // general warnings diff --git a/www/file/main.js b/www/file/main.js index ff0d52ec4..8df236235 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -301,7 +301,12 @@ define([ } if (!Cryptpad.isLoggedIn()) { - return Cryptpad.alert("You must be logged in to upload files"); + return Cryptpad.alert(Messages.upload_mustLogin, function () { + if (sessionStorage) { + sessionStorage.redirectTo = window.location.href; + } + window.location.href = '/login/'; + }); } $form.css({ diff --git a/www/login/index.html b/www/login/index.html index e01c78a09..3e4e7a21e 100644 --- a/www/login/index.html +++ b/www/login/index.html @@ -62,6 +62,10 @@ <input type="text" id="name" name="name" class="form-control" data-localization-placeholder="login_username" autofocus> <input type="password" id="password" name="password" class="form-control" data-localization-placeholder="login_password"> <button class="btn btn-primary login first" data-localization="login_login"></button> + <div class="extra"> + <p data-localization="login_notRegistered"></p> + <button id="register" class="btn btn-success register first" data-localization="login_register"></button> + </div> </div> </div> </div> diff --git a/www/login/main.js b/www/login/main.js index 194c824ac..caa77fe4b 100644 --- a/www/login/main.js +++ b/www/login/main.js @@ -128,5 +128,16 @@ define([ }, 0); }, 100); }); + $('#register').on('click', function () { + if (sessionStorage) { + if ($uname.val()) { + sessionStorage.login_user = $uname.val(); + } + if ($passwd.val()) { + sessionStorage.login_pass = $passwd.val(); + } + } + window.location.href = '/register/'; + }); }); }); From f434f002c4707be7362ca98eb5dc77097f347c55 Mon Sep 17 00:00:00 2001 From: Pierre Bondoerffer <pierre@bondoer.fr> Date: Mon, 29 May 2017 16:32:40 +0200 Subject: [PATCH 166/236] poll: make locks clickable --- www/poll/main.js | 61 ++++++++++++++++++++++------------------------ www/poll/poll.css | 31 +++++++++++++++++------ www/poll/poll.less | 25 ++++++++++++++++--- www/poll/render.js | 9 ++----- 4 files changed, 77 insertions(+), 49 deletions(-) diff --git a/www/poll/main.js b/www/poll/main.js index 96012b7da..6e42ca75c 100644 --- a/www/poll/main.js +++ b/www/poll/main.js @@ -15,8 +15,6 @@ define([ $(function () { - var unlockHTML = '<i class="fa fa-unlock" aria-hidden="true"></i>'; - var lockHTML = '<i class="fa fa-lock" aria-hidden="true"></i>'; var HIDE_INTRODUCTION_TEXT = "hide_poll_text"; var defaultName; @@ -100,12 +98,10 @@ define([ // Enable the checkboxes for the user's column (committed or not) $('input[disabled="disabled"][data-rt-id^="' + id + '"]').removeAttr('disabled'); $('input[type="checkbox"][data-rt-id^="' + id + '"]').addClass('enabled'); - $('[data-rt-id="' + id + '"] ~ .edit').css('visibility', 'hidden'); - $('.lock[data-rt-id="' + id + '"]').html(unlockHTML).attr('title', Messages.poll_unlocked); + $('.lock[data-rt-id="' + id + '"]').addClass('fa-unlock').removeClass('fa-lock').attr('title', Messages.poll_unlocked); if (isOwnColumnCommitted()) { return; } $('[data-rt-id^="' + id + '"]').closest('td').addClass("uncommitted"); - $('td.uncommitted .remove, td.uncommitted .edit').css('visibility', 'hidden'); $('td.uncommitted .cover').addClass("uncommitted"); $('.uncommitted input[type="text"]').attr("placeholder", Messages.poll_userPlaceholder); }; @@ -118,8 +114,7 @@ define([ APP.editable.col.forEach(function (id) { $('input[disabled="disabled"][data-rt-id^="' + id + '"]').removeAttr('disabled'); $('input[type="checkbox"][data-rt-id^="' + id + '"]').addClass('enabled'); - $('span.edit[data-rt-id="' + id + '"]').css('visibility', 'hidden'); - $('.lock[data-rt-id="' + id + '"]').html(unlockHTML).attr('title', Messages.poll_unlocked); + $('.lock[data-rt-id="' + id + '"]').addClass('fa-unlock').removeClass('fa-lock').attr('title', Messages.poll_unlocked); }); }; @@ -276,7 +271,6 @@ define([ switch (type) { case 'text': debug("text[rt-id='%s'] [%s]", id, input.value); - if (!input.value) { return void debug("Hit enter?"); } Render.setValue(object, id, input.value); change(null, null, null, 50); break; @@ -295,12 +289,26 @@ define([ } }; + var hideInputs = function (target, isKeyup) { + if (!isKeyup && $(target).is('[type="text"]')) { + return; + } + $('.lock[data-rt-id!="' + APP.userid + '"]').addClass('fa-lock').removeClass('fa-unlock').attr('title', Messages.poll_locked); + var $cells = APP.$table.find('thead td:not(.uncommitted), tbody td'); + $cells.find('[type="text"][data-rt-id!="' + APP.userid + '"]').attr('disabled', true); + $('.edit[data-rt-id!="' + APP.userid + '"]').css('visibility', 'visible'); + APP.editable.col = [APP.userid]; + APP.editable.row = []; + }; + /* Called whenever an event is fired on a span */ var handleSpan = function (span) { var id = span.getAttribute('data-rt-id'); var type = Render.typeofId(id); var isRemove = span.className && span.className.split(' ').indexOf('remove') !== -1; var isEdit = span.className && span.className.split(' ').indexOf('edit') !== -1; + var isLock = span.className && span.className.split(' ').indexOf('lock') !== -1; + var isLocked = span.className && span.className.split(' ').indexOf('fa-lock') !== -1; if (type === 'row') { if (isRemove) { Cryptpad.confirm(Messages.poll_removeOption, function (res) { @@ -310,6 +318,7 @@ define([ }); }); } else if (isEdit) { + hideInputs(span); unlockRow(id, function () { change(null, null, null, null, function() { $('input[data-rt-id="' + id + '"]').focus(); @@ -324,7 +333,8 @@ define([ change(); }); }); - } else if (isEdit) { + } else if (isLock && isLocked) { + hideInputs(span); unlockColumn(id, function () { change(null, null, null, null, function() { $('input[data-rt-id="' + id + '"]').focus(); @@ -338,48 +348,34 @@ define([ } }; - var hideInputs = function (e, isKeyup) { - if (!isKeyup && $(e.target).is('[type="text"]')) { - return; - } - $('.lock[data-rt-id!="' + APP.userid + '"]').html(lockHTML).attr('title', Messages.poll_lock); - var $cells = APP.$table.find('thead td:not(.uncommitted), tbody td'); - $cells.find('[type="text"][data-rt-id!="' + APP.userid + '"]').attr('disabled', true); - $('.edit[data-rt-id!="' + APP.userid + '"]').css('visibility', 'visible'); - APP.editable.col = [APP.userid]; - APP.editable.row = []; - }; - - $(window).click(hideInputs); - var handleClick = function (e, isKeyup) { e.stopPropagation(); if (!APP.ready) { return; } var target = e && e.target; - if (isKeyup) { - debug("Keyup!"); - } - if (!target) { return void debug("NO TARGET"); } var nodeName = target && target.nodeName; + var shouldLock = $(target).hasClass('fa-unlock'); - if (!$(target).parents('#table tbody').length || $(target).hasClass('edit')) { + if ((!$(target).parents('#table tbody').length && $(target).hasClass('lock'))) { hideInputs(e); } switch (nodeName) { case 'INPUT': if (isKeyup && (e.keyCode === 13 || e.keyCode === 27)) { - hideInputs(e, isKeyup); - return; + hideInputs(target, isKeyup); + break; } handleInput(target); break; case 'SPAN': //case 'LABEL': + if (shouldLock) { + break; + } handleSpan(target); break; case undefined: @@ -459,7 +455,6 @@ var ready = function (info, userid, readOnly) { var $table = APP.$table = $(Render.asHTML(displayedObj, null, colsOrder, readOnly)); APP.$createRow = $('#create-option').click(function () { - //console.error("BUTTON CLICKED! LOL"); Render.createRow(proxy, function (empty, id) { change(null, null, null, null, function() { $('.edit[data-rt-id="' + id + '"]').click(); @@ -470,7 +465,7 @@ var ready = function (info, userid, readOnly) { APP.$createCol = $('#create-user').click(function () { Render.createColumn(proxy, function (empty, id) { change(null, null, null, null, function() { - $('.edit[data-rt-id="' + id + '"]').click(); + $('.lock[data-rt-id="' + id + '"]').click(); }); }); }); @@ -532,6 +527,8 @@ var ready = function (info, userid, readOnly) { .click(handleClick) .on('keyup', function (e) { handleClick(e, true); }); + $(window).click(hideInputs); + proxy .on('change', ['info'], function (o, n, p) { if (p[1] === 'title') { diff --git a/www/poll/poll.css b/www/poll/poll.css index 8016a10c4..3e534d5e2 100644 --- a/www/poll/poll.css +++ b/www/poll/poll.css @@ -266,23 +266,37 @@ div.realtime table input[type="text"] { border: 1px solid #fff; width: 80%; } +form.realtime table span, +div.realtime table span { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} form.realtime table thead td, div.realtime table thead td { padding: 0px 5px; background: #aaa; border-radius: 20px 20px 0 0; - text-align: center; +} +form.realtime table thead td:nth-of-type(2), +div.realtime table thead td:nth-of-type(2) { + background: #999; +} +form.realtime table thead td:nth-of-type(2) .lock, +div.realtime table thead td:nth-of-type(2) .lock { + cursor: default; } form.realtime table thead td input[type="text"], div.realtime table thead td input[type="text"] { width: 100%; box-sizing: border-box; + padding: 1px 5px; } form.realtime table thead td input[type="text"][disabled], div.realtime table thead td input[type="text"][disabled] { color: #000; - padding: 1px 5px; - border: none; + border: 1px solid transparent; } form.realtime table tbody .text-cell, div.realtime table tbody .text-cell { @@ -302,10 +316,6 @@ div.realtime table tbody .text-cell .remove { float: left; margin: 0 0 0 10px; } -form.realtime table tbody tr td:nth-child(2), -div.realtime table tbody tr td:nth-child(2) { - border-left: 1px solid #555; -} form.realtime table tbody tr:not(:first-child) td:not(:first-child) label, div.realtime table tbody tr:not(:first-child) td:not(:first-child) label { border-top: 1px solid #555; @@ -317,6 +327,13 @@ div.realtime table .edit { float: left; margin-left: 10px; } +form.realtime table .lock, +div.realtime table .lock { + margin-left: calc(50% - 0.5em); + cursor: pointer; + width: 1em; + text-align: center; +} form.realtime table .remove, div.realtime table .remove { float: right; diff --git a/www/poll/poll.less b/www/poll/poll.less index 1ddcaa2f0..699e96e03 100644 --- a/www/poll/poll.less +++ b/www/poll/poll.less @@ -2,6 +2,7 @@ @import "../../customize.dist/src/less/mixins.less"; @poll-th-bg: #aaa; +@poll-th-user-bg: #999; @poll-td-bg: #aaa; @poll-placeholder: #666; @poll-border-color: #555; @@ -293,20 +294,32 @@ form.realtime, div.realtime { width: 80%; } } + span { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + } thead { td { padding: 0px 5px; background: @poll-th-bg; border-radius: 20px 20px 0 0; - text-align: center; + //text-align: center; + &:nth-of-type(2) { + background: @poll-th-user-bg; + .lock { + cursor: default; + } + } input { &[type="text"] { width: 100%; box-sizing: border-box; + padding: 1px 5px; &[disabled] { color: @poll-fg; - padding: 1px 5px; - border: none; + border: 1px solid transparent; } } } @@ -344,6 +357,12 @@ form.realtime, div.realtime { margin-left: 10px; } + .lock { + margin-left: ~"calc(50% - 0.5em)"; + cursor: pointer; + width: 1em; + text-align: center; + } .remove { float: right; margin-right: 10px; diff --git a/www/poll/render.js b/www/poll/render.js index ecd94159d..8399d5b71 100644 --- a/www/poll/render.js +++ b/www/poll/render.js @@ -269,12 +269,8 @@ var Renderer = function (Cryptpad) { return ['SPAN', { 'data-rt-id': id, 'title': Cryptpad.Messages.poll_locked, - class: 'lock', - }, [['i', { - class: 'fa fa-lock', - 'aria-hidden': true, - }, []] - ]]; + class: 'lock fa fa-lock', + }, []]; }; var makeHeadingCell = Render.makeHeadingCell = function (cell, readOnly) { @@ -284,7 +280,6 @@ var Renderer = function (Cryptpad) { if (!readOnly) { elements.unshift(makeRemoveElement(cell['data-rt-id'])); elements.unshift(makeLockElement(cell['data-rt-id'])); - elements.unshift(makeEditElement(cell['data-rt-id'])); } return ['TD', {}, elements]; } From 6518b56945ece824a4ded11c7fb06f8e366311a8 Mon Sep 17 00:00:00 2001 From: Pierre Bondoerffer <pierre@bondoer.fr> Date: Mon, 29 May 2017 16:50:25 +0200 Subject: [PATCH 167/236] poll: french messages --- customize.dist/translations/messages.fr.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index a112d397e..71227966c 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -193,6 +193,11 @@ define(function () { out.poll_titleHint = "Titre"; out.poll_descriptionHint = "Description"; + out.poll_remove = "Supprimer"; + out.poll_edit = "Modifier"; + out.poll_locked = "Verrouillé"; + out.poll_unlocked = "Déverrouillé"; + // Canvas out.canvas_clear = "Nettoyer"; out.canvas_delete = "Supprimer la sélection"; From 1240b864ef2c0791a85268cf0101f779749ca1d7 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 29 May 2017 17:25:06 +0200 Subject: [PATCH 168/236] fix misconfigured history --- www/code/main.js | 4 ++-- www/pad/main.js | 4 ++-- www/slide/main.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/www/code/main.js b/www/code/main.js index d82d73273..d4f414040 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -191,8 +191,8 @@ define([ /* add a history button */ var histConfig = { - onLocal: config.onLocal(), - onRemote: config.onRemote(), + onLocal: config.onLocal, + onRemote: config.onRemote, setHistory: setHistory, applyVal: function (val) { var remoteDoc = JSON.parse(val || '{}').content; diff --git a/www/pad/main.js b/www/pad/main.js index 635ea0087..f7d16a20b 100644 --- a/www/pad/main.js +++ b/www/pad/main.js @@ -500,8 +500,8 @@ define([ /* add a history button */ var histConfig = { - onLocal: realtimeOptions.onLocal(), - onRemote: realtimeOptions.onRemote(), + onLocal: realtimeOptions.onLocal, + onRemote: realtimeOptions.onRemote, setHistory: setHistory, applyVal: function (val) { applyHjson(val || '["BODY",{},[]]'); }, $toolbar: $bar diff --git a/www/slide/main.js b/www/slide/main.js index 6f04f96d0..f27fdbb2b 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -313,8 +313,8 @@ define([ /* add a history button */ var histConfig = { - onLocal: config.onLocal(), - onRemote: config.onRemote(), + onLocal: config.onLocal, + onRemote: config.onRemote, setHistory: setHistory, applyVal: function (val) { var remoteDoc = JSON.parse(val || '{}').content; From c4f8286be66be9562b177d902462140262598732 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 29 May 2017 17:35:13 +0200 Subject: [PATCH 169/236] add timestamp to rpc error logs --- rpc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpc.js b/rpc.js index 45be04cc7..07ad2e1cd 100644 --- a/rpc.js +++ b/rpc.js @@ -789,7 +789,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) var warn = function (e, output) { if (e && !config.suppressRPCErrors) { - console.error('[' + e + ']', output); + console.error(new Date().toISOString() + ' [' + e + ']', output); } }; From 0a92719763f4f31b77782044b130b19272942890 Mon Sep 17 00:00:00 2001 From: Pierre Bondoerffer <pierre@bondoer.fr> Date: Mon, 29 May 2017 18:25:18 +0200 Subject: [PATCH 170/236] spanish! new keys ahoy --- customize.dist/translations/messages.es.js | 30 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js index 40efab91e..e3047cede 100644 --- a/customize.dist/translations/messages.es.js +++ b/customize.dist/translations/messages.es.js @@ -13,8 +13,7 @@ define(function () { out.type.slide = 'Presentación'; out.type.whiteboard = 'Pizarra'; - out.updated_0_common_connectionLost = "<b>Connexión perdida</b><br>El documento está ahora en modo solo lectura hasta que la conexión vuelva."; - out.common_connectionLost = out.updated_0_common_connectionLost; + out.common_connectionLost = "<b>Connexión perdida</b><br>El documento está ahora en modo solo lectura hasta que la conexión vuelva."; out.disconnected = "Desconectado"; out.synchronizing = "Sincronización"; @@ -200,7 +199,6 @@ define(function () { out.fm_info_root = "Crea carpetas aquí para organizar tus documentos."; out.fm_info_unsorted = "Contiene todos los documentos que has visitado que no estan organizados en \"Documentos\" o movidos a la \"Papelera\"."; out.fm_info_template = "Contiene todas las plantillas que puedes volver a usar para crear nuevos documentos."; - out.fm_info_trash = "Archivos eliminados de la papelera también se eliminan de \"Todos los archivos\" y es imposible recuparlos desde el explorador."; out.fm_info_allFiles = "Contiene todos los archivos de \"Documentos\", \"Sin organizar\" y \"Papelera\". No puedes mover o eliminar archivos aquí."; out.fm_alert_backupUrl = "Enlace de copia de seguridad para este drive. Te recomendamos <strong>muy fuertemente</strong> que lo guardes secreto.<br>Lo puedes usar para recuparar todos tus archivos en el caso que la memoria de tu navegador se borre.<br>Cualquiera con este enlace puede editar o eliminar todos los archivos en el explorador.<br>"; out.fm_backup_title = "Enlace de copia de seguridad"; @@ -417,7 +415,6 @@ define(function () { out.formattedKB = "{0} KB"; out.pinLimitReached = "Has llegado al limite de espacio"; - out.pinLimitReachedAlert = "Has llegado al limite de espacio. Nuevos pads no serán movidos a tu CryptDrive.<br>Para resolver este problema, puedes quitar pads de tu CryptDrive (incluso en la papelera) o mejorar tu cuenta para obtener más espacio."; out.pinLimitNotPinned = "Has llegado al limite de espacio.<br>Este pad no estará presente en tu CryptDrive."; out.pinLimitDrive = "Has llegado al limite de espacio.<br>No puedes crear nuevos pads."; out.printTransition = "Activar transiciones"; @@ -429,5 +426,30 @@ define(function () { out.upload_uploadPending = "Ya tienes una subida en progreso. ¿Cancelar y subir el nuevo archivo?"; out.upload_success = "Tu archivo ({0}) ha sido subido con éxito y fue añadido a tu drive."; + // 1.7.0 - Hodag + out.comingSoon = "Próximamente..."; // "Coming soon..." + out.newVersion = ["<b>CryptPad ha sido actualizado!</b>", + "Puedes ver lo que ha cambiada aquí (en inglés):", + "<a href=\"https://github.com/xwiki-labs/cryptpad/releases/tag/{0}\" target=\"_blank\">Notas de versión para CryptPad {0}</a>"].join("<br>"); + out.pinLimitReachedAlert = ["Has llegado a tu limite de espacio. Nuevos pads no serán guardados en tu CryptDrive.", + "Puedes eliminar pads de tu CryptDrive o <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">suscribirte a una oferta premium</a> para obtener más espacio."].join("<br>"); + out.pinLimitReachedAlertNoAccounts = "Has llegado a tu limite de espacio"; + out.pinAboveLimitAlert = "Desde esta versión, ponemos un limite de 50MB a las cuentas gratís y estás usando {0}. Tendrás que eliminar unos pads o suscribirte en <a href=\"https://accounts.cryptpad.fr/#!on={1}\" target=\"_blank\">accounts.cryptpad.fr</a>. Tu contribución nos ayuda a mejorar CryptPad y extender el Zero Knowledge. Por favor contacta <a href=\"https://accounts.cryptpad.fr/#/support\" target=\"_blank\">el soporte</a> si tienes preguntas adicionales."; + out.previewButtonTitle = "Mostrar/esconder la vista previa Markdown"; + out.fm_info_trash = "Vacía tu papelera para liberar espaci en tu CryptDrive."; + out.fm_info_anonymous = "No estás conectado, así que estos pads pueden ser borrados (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">¿por qué?</a>). <a href=\"/register/\">Registrate</a> o <a href=\"/login/\">Inicia sesión</a> para asegurarlos."; + out.fm_alert_anonymous = "Hola, estás usando CryptPad anónimamente. Está bien, pero tus pads pueden ser borrados después de un périodo de inactividad. Hemos desactivado funciones avanzadas de CryptDrive para usuarios anónimos porque queremos ser claros que no es un lugar seguro para almacenar cosas. Puedes <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">leer este articulo</a> (en inglés) sobre por qué hacemos esto y por qué deberías <a href=\"/register/\">Registrarte</a> e <a href=\"/login/\">Iniciar sesión</a>."; + out.fm_error_cantPin = "Error del servidor. Por favor, recarga la página e intentalo de nuevo."; + out.upload_notEnoughSpace = "No tienes suficiente espacio para este archivo en tu CryptDrive"; + out.upload_tooLarge = "Este archivo supera el límite de carga."; + out.upload_choose = "Escoge un archivo"; + out.upload_pending = "Esperando"; + out.upload_cancelled = "Cancelado"; + out.upload_name = "Nombre"; + out.upload_size = "Tamaño"; + out.upload_progress = "Progreso"; + out.download_button = "Descifrar y descargar"; + out.warn_notPinned = "Este pad no está en ningun CryptDrive. Expirará después de 3 meses. <a href='/about.html#pinning'>Acerca de...</a>"; + return out; }); From 75874424cf3b36366f0f21ea2e43d9895595c421 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 10:41:46 +0200 Subject: [PATCH 171/236] add 'support cryptpad' translation key --- customize.dist/translations/messages.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index c28172017..58713a895 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -66,6 +66,8 @@ define(function () { out.GB = "GB"; out.KB = "KB"; + out.supportCryptpad = "Support CryptPad"; + out.formattedMB = "{0} MB"; out.formattedGB = "{0} GB"; out.formattedKB = "{0} KB"; @@ -400,6 +402,7 @@ define(function () { out.main_zeroKnowledge = 'Zero Knowledge'; out.main_zeroKnowledge_p = "You don't have to trust that we <em>won't</em> look at your pads, with CryptPad's revolutionary Zero Knowledge Technology we <em>can't</em>. Learn more about how we protect your <a href=\"/privacy.html\" title='Privacy'>Privacy and Security</a>."; out.main_writeItDown = 'Write it down'; + out.main_writeItDown_p = "The greatest projects come from the smallest ideas. Take down the moments of inspiration and unexpected ideas because you never know which one might be a breakthrough."; out.main_share = 'Share the link, share the pad'; out.main_share_p = "Grow your ideas together: conduct efficient meetings, collaborate on TODO lists and make quick presentations with all your friends and all your devices."; From 99a44f119f6464f70a8ffc4587e97a0a35309495 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 10:44:40 +0200 Subject: [PATCH 172/236] don't send referrer headers on pads which may link outward --- www/code/index.html | 1 + www/pad/index.html | 1 + www/slide/index.html | 1 + 3 files changed, 3 insertions(+) diff --git a/www/code/index.html b/www/code/index.html index 448020d26..4fa11fc33 100644 --- a/www/code/index.html +++ b/www/code/index.html @@ -5,6 +5,7 @@ <meta content="text/html; charset=utf-8" http-equiv="content-type"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css"> + <meta name="referrer" content="no-referrer" /> <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script> <link rel="icon" type="image/png" href="/customize/main-favicon.png" diff --git a/www/pad/index.html b/www/pad/index.html index 4688001f6..3095c137f 100644 --- a/www/pad/index.html +++ b/www/pad/index.html @@ -4,6 +4,7 @@ <title>CryptPad</title> <meta content="text/html; charset=utf-8" http-equiv="content-type"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="referrer" content="no-referrer" /> <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css"> <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script> <link rel="icon" type="image/png" diff --git a/www/slide/index.html b/www/slide/index.html index faf9bc1c8..2f5e675a9 100644 --- a/www/slide/index.html +++ b/www/slide/index.html @@ -4,6 +4,7 @@ <title>CryptPad</title> <meta content="text/html; charset=utf-8" http-equiv="content-type"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="referrer" content="no-referrer" /> <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script> <link rel="icon" type="image/png" href="/customize/main-favicon.png" From 605377cf31c7ca974a69936c75fdf3aae64487e8 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 15:35:51 +0200 Subject: [PATCH 173/236] update default configuration file with new attributes and comments --- config.example.js | 69 +++++++++++++++++++++++++++-------------------- rpc.js | 2 +- server.js | 4 ++- 3 files changed, 44 insertions(+), 31 deletions(-) diff --git a/config.example.js b/config.example.js index a0f3003e0..be7682162 100644 --- a/config.example.js +++ b/config.example.js @@ -10,7 +10,7 @@ module.exports = { // the port on which your httpd will listen - /* Cryptpad can be configured to send customized HTTP Headers + /* CryptPad can be configured to send customized HTTP Headers * These settings may vary widely depending on your needs * Examples are provided below */ @@ -31,7 +31,7 @@ module.exports = { * connect-src is used to restrict what domains can connect to the websocket. * * it is recommended that you configure these fields to match the - * domain which will serve your cryptpad instance. + * domain which will serve your CryptPad instance. */ "child-src 'self' *", @@ -82,24 +82,24 @@ module.exports = { */ //websocketPort: 3000, - /* if you want to run a different version of cryptpad but using the same websocket + /* if you want to run a different version of CryptPad but using the same websocket * server, you should use the other server port as websocketPort and disable * the websockets on that server */ //useExternalWebsocket: false, - /* If Cryptpad is proxied without using https, the server needs to know. + /* If CryptPad is proxied without using https, the server needs to know. * Specify 'useSecureWebsockets: true' so that it can send * Content Security Policy Headers that prevent http and https from mixing */ useSecureWebsockets: false, - /* Cryptpad can log activity to stdout + /* CryptPad can log activity to stdout * This may be useful for debugging */ logToStdout: false, - /* Cryptpad supports verbose logging + /* CryptPad supports verbose logging * (false by default) */ verbose: false, @@ -116,13 +116,16 @@ module.exports = { 'contact', ], - /* Limits, Subscriptions and Contact + /* Limits, Donations, Subscriptions and Contact + * + * By default, CryptPad limits every registered user to 50MB of storage. It also shows a + * donate button which allows for making a donation to support CryptPad development. * - * CryptPad limits every registered user to 50MB of storage. - * By default it also allows that limit to be increased by subscribing at accounts.cryptpad.fr * You can either: - * A: Hide the button for subscribing, so everyone is limited to 50MB - * B: Support cryptpad and share 50% of the revenue earned on your instance + * A: Leave it exactly as it is. + * B: Hide the donate button. + * C: Change the donate button to a subscribe button, people who subscribe will get more + * storage on your instance and you get 50% of the revenue earned. * * CryptPad is developed by people who need to live and who deserve an equivilent life to * what they would get at a company which monitizes user data. However, we intend to have @@ -131,28 +134,36 @@ module.exports = { * * If you are using CryptPad in a business context, please consider taking a support contract * by contacting sales@cryptpad.fr - * - * If you choose A, set this variable to true to hide the subscription button. + * + * If you choose A then there's nothing to do. + * + * If you choose B, set this variable to true and it will remove the donate button. */ - noSubscriptionButton: false, + removeDonateButton: false, /* - * If you choose B, set the domain of your cryptpad instance here and then contact - * sales@cryptpad.fr and tell us your domain, we will tell you what is needed to get paid. + * If you choose C, set allowSubscriptions to true, then set myDomain to the domain which people + * use to reach your CryptPad instance. Then contact sales@cryptpad.fr and tell us your domain. + * We will tell you what is needed to get paid. */ - myDomain: 'i.did.not.read.my.config.cryptpad.myserver.tld', + allowSubscriptions: false, + myDomain: 'i.did.not.read.my.config.myserver.tld', + /* * If you are using CryptPad internally and you want to increase the per-user storage limit, * change the following value. - * Please note: Providing a public offer that is better than cryptpad.fr is an attack on - * the project. Please leave this alone if you are providing a public service. + * + * Please note: This limit is what makes people subscribe and what pays for CryptPad + * development. Running a public instance that provides a "better deal" than cryptpad.fr + * is effectively using the project against itself. */ defaultStorageLimit: 50 * 1024 * 1024, + /* - * By default, CryptPad contacts our accounts server once a day to check for changes in the - * people who have accounts. This check-in will also send your email and the version of - * CryptPad you run so we can reach you if we are aware of a serious problem with your - * CryptPad instance. We will never sell it or use it for marketing. If you want to block this - * check-in and remain completely private, set this to false and noSubscriptionButton to true. + * By default, CryptPad also contacts our accounts server once a day to check for changes in + * the people who have accounts. This check-in will also send the version of your CryptPad + * instance and your email so we can reach you if we are aware of a serious problem. We will + * never sell it or send you marketing mail. If you want to block this check-in and remain + * completely invisible, set this and allowSubscriptions both to false. */ adminEmail: 'i.did.not.read.my.config@cryptpad.fr', @@ -176,7 +187,7 @@ module.exports = { storage: './storage/file', /* - Cryptpad stores each document in an individual file on your hard drive. + CryptPad stores each document in an individual file on your hard drive. Specify a directory where files should be stored. It will be created automatically if it does not already exist. */ @@ -199,17 +210,17 @@ module.exports = { */ blobStagingPath: './blobstage', - /* Cryptpad's file storage adaptor closes unused files after a configurale + /* CryptPad's file storage adaptor closes unused files after a configurale * number of milliseconds (default 30000 (30 seconds)) */ channelExpirationMs: 30000, - /* Cryptpad's file storage adaptor is limited by the number of open files. + /* CryptPad's file storage adaptor is limited by the number of open files. * When the adaptor reaches openFileLimit, it will clean up older files */ openFileLimit: 2048, - /* Cryptpad's socket server can be extended to respond to RPC calls + /* CryptPad's socket server can be extended to respond to RPC calls * you can configure it to respond to custom RPC calls if you like. * provide the path to your RPC module here, or `false` if you would * like to disable the RPC interface completely @@ -261,7 +272,7 @@ module.exports = { */ //logFeedback: true, - /* it is recommended that you serve cryptpad over https + /* it is recommended that you serve CryptPad over https * the filepaths below are used to configure your certificates */ //privKeyAndCertFiles: [ diff --git a/rpc.js b/rpc.js index 07ad2e1cd..fc204d87c 100644 --- a/rpc.js +++ b/rpc.js @@ -373,7 +373,7 @@ var getHash = function (Env, publicKey, cb) { // To each key is associated an object containing the 'limit' value and a 'note' explaining that limit var limits = {}; var updateLimits = function (config, publicKey, cb) { - if (config.adminEmail === false && config.noSubscriptionButton === true) { return; } + if (config.adminEmail === false && config.allowSubscriptions === false) { return; } if (typeof cb !== "function") { cb = function () {}; } var defaultLimit = typeof(config.defaultStorageLimit) === 'number'? diff --git a/server.js b/server.js index e2527fa7d..eb16fbcf1 100644 --- a/server.js +++ b/server.js @@ -121,7 +121,9 @@ app.get('/api/config', function(req, res){ waitSeconds: 60, urlArgs: 'ver=' + Package.version + (DEV_MODE? '-' + (+new Date()): ''), }, - noSubscriptionButton: (config.noSubscriptionButton === true), + removeDonateButton: (config.removeDonateButton === true), + allowSubscriptions: (config.allowSubscriptions === true), + websocketPath: config.useExternalWebsocket ? undefined : config.websocketPath, websocketURL:'ws' + ((useSecureWebsockets) ? 's' : '') + '://' + host + ':' + websocketPort + '/cryptpad_websocket', From 909bc2ebf3c1d337c5bd55f0e905e0b8358def99 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 15:39:13 +0200 Subject: [PATCH 174/236] add new translation key --- customize.dist/translations/messages.es.js | 2 ++ customize.dist/translations/messages.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js index 9706380ef..8f74d2433 100644 --- a/customize.dist/translations/messages.es.js +++ b/customize.dist/translations/messages.es.js @@ -407,6 +407,8 @@ define(function () { out.deleted = "El pad fue borrado de tu CryptDrive"; out.upgrade = "Mejorar"; out.upgradeTitle = "Mejora tu cuenta para obtener más espacio"; + out.upgradeAccount = "Mejorar cuenta"; + out.MB = "MB"; out.GB = "GB"; out.KB = "KB"; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 262de94dc..218aa6e99 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -62,6 +62,8 @@ define(function () { out.upgrade = "Upgrade"; out.upgradeTitle = "Upgrade your account to increase the storage limit"; + + out.upgradeAccount = "Upgrade account"; out.MB = "MB"; out.GB = "GB"; out.KB = "KB"; From 9ca5bc507e7b759c2782c7084487111c44c9ad93 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 15:42:53 +0200 Subject: [PATCH 175/236] add support for donate button --- www/common/cryptpad-common.js | 13 +++++++++++-- www/common/toolbar2.js | 21 +++++++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index ae73867de..ddad01e68 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -25,7 +25,9 @@ define([ */ var common = window.Cryptpad = { Messages: Messages, - Clipboard: Clipboard + Clipboard: Clipboard, + donateURL: 'https://accounts.cryptpad.fr/#/donate?on=' + window.location.hostname, + account: {}, }; // constants @@ -1428,6 +1430,14 @@ define([ console.log('RPC handshake complete'); rpc = common.rpc = env.rpc = call; + common.getPinLimit(function (e, limit, plan, note) { + if (e) { return void console.error(e); } + common.account.limit = limit; + common.account.plan = plan; + common.account.note = note; + cb(); + }); + common.arePinsSynced(function (err, yes) { if (!yes) { common.resetPins(function (err) { @@ -1436,7 +1446,6 @@ define([ }); } }); - cb(); }); } else if (PINNING_ENABLED) { console.log('not logged in. pads will not be pinned'); diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index a17e24199..127fce91d 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -33,6 +33,7 @@ define([ var LIMIT_CLS = Bar.constants.lag = 'cryptpad-limit'; var TITLE_CLS = Bar.constants.title = "cryptpad-title"; var NEWPAD_CLS = Bar.constants.newpad = "cryptpad-newpad"; + var UPGRADE_CLS = Bar.constants.upgrade = "cryptpad-upgrade"; // User admin menu var USERADMIN_CLS = Bar.constants.user = 'cryptpad-user-dropdown'; @@ -70,6 +71,7 @@ define([ var $userContainer = $('<span>', { 'class': USER_CLS }).appendTo($topContainer); + $('<button>', {'class': UPGRADE_CLS}).hide().appendTo($userContainer); $('<span>', {'class': SPINNER_CLS}).hide().appendTo($userContainer); $('<span>', {'class': STATE_CLS}).hide().appendTo($userContainer); $('<span>', {'class': LAG_CLS}).hide().appendTo($userContainer); @@ -595,7 +597,6 @@ define([ 'class': 'synced fa fa-check', title: Messages.synced }).appendTo($spin); - toolbar.$userAdmin.prepend($spin); if (config.realtime) { config.realtime.onPatch(ks(toolbar, config)); config.realtime.onMessage(ks(toolbar, config, true)); @@ -696,6 +697,22 @@ define([ return $userAdmin; }; + var createUpgrade = function (toolbar) { + if (ApiConfig.removeDonateButton) { return; } + if (Cryptpad.account.plan) { return; } + + var text; + if (ApiConfig.allowSubscriptions && Cryptpad.isLoggedIn()) { + text = Messages.upgradeAccount; + } else { text = Messages.supportCryptpad; } + + var $upgrade = toolbar.$top.find('.' + UPGRADE_CLS).attr({ + 'title': Messages.supportCryptpad + }).text(text).show() + .click(function () { window.open(Cryptpad.donateURL,'_blank'); }); + return $upgrade; + }; + // Events var initClickEvents = function (toolbar, config) { var removeDropdowns = function () { @@ -853,10 +870,10 @@ define([ tb['spinner'] = createSpinner; tb['state'] = createState; tb['limit'] = createLimit; + tb['upgrade'] = createUpgrade; tb['newpad'] = createNewPad; tb['useradmin'] = createUserAdmin; - var addElement = toolbar.addElement = function (arr, additionnalCfg, init) { if (typeof additionnalCfg === "object") { $.extend(true, config, additionnalCfg); } arr.forEach(function (el) { From 76c530037bb87790b773932681bdac74011cfc1f Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 15:51:07 +0200 Subject: [PATCH 176/236] enable donate button in all apps --- www/code/main.js | 2 +- www/file/main.js | 2 +- www/pad/main.js | 2 +- www/poll/main.js | 2 +- www/slide/main.js | 2 +- www/whiteboard/main.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/www/code/main.js b/www/code/main.js index 38b5f2267..2ad40bdb2 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -163,7 +163,7 @@ define([ Metadata = Cryptpad.createMetadata(UserList, Title); var configTb = { - displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], + displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'], userList: UserList.getToolbarConfig(), share: { secret: secret, diff --git a/www/file/main.js b/www/file/main.js index 8df236235..0c5e8f3a1 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -222,7 +222,7 @@ define([ Title = Cryptpad.createTitle({}, function(){}, Cryptpad); - var displayed = ['title', 'useradmin', 'newpad', 'limit']; + var displayed = ['title', 'useradmin', 'newpad', 'limit', 'upgrade']; if (secret && hexFileName) { displayed.push('fileshare'); } diff --git a/www/pad/main.js b/www/pad/main.js index 635ea0087..bf53f4998 100644 --- a/www/pad/main.js +++ b/www/pad/main.js @@ -453,7 +453,7 @@ define([ Metadata = Cryptpad.createMetadata(UserList, Title); var configTb = { - displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], + displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'], userList: UserList.getToolbarConfig(), share: { secret: secret, diff --git a/www/poll/main.js b/www/poll/main.js index 6e42ca75c..eb0edef26 100644 --- a/www/poll/main.js +++ b/www/poll/main.js @@ -609,7 +609,7 @@ var create = function (info) { Title = Cryptpad.createTitle({}, onLocalTitle, Cryptpad); var configTb = { - displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], + displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'], userList: UserList.getToolbarConfig(), share: { secret: secret, diff --git a/www/slide/main.js b/www/slide/main.js index 6f04f96d0..468ef2fd2 100644 --- a/www/slide/main.js +++ b/www/slide/main.js @@ -284,7 +284,7 @@ define([ Metadata = Cryptpad.createMetadata(UserList, Title, metadataCfg); var configTb = { - displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], + displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'], userList: UserList.getToolbarConfig(), share: { secret: secret, diff --git a/www/whiteboard/main.js b/www/whiteboard/main.js index 8a8f6e696..dce656473 100644 --- a/www/whiteboard/main.js +++ b/www/whiteboard/main.js @@ -296,7 +296,7 @@ window.canvas = canvas; Metadata = Cryptpad.createMetadata(UserList, Title, metadataCfg); var configTb = { - displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'], + displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'], userList: UserList.getToolbarConfig(), share: { secret: secret, From 8507f7711636bf6e9c4dfa543c9389b19e63a93b Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 16:27:42 +0200 Subject: [PATCH 177/236] throw if adminEmail and allowSubscriptions are not compatible --- rpc.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rpc.js b/rpc.js index fc204d87c..f108b1ab8 100644 --- a/rpc.js +++ b/rpc.js @@ -373,7 +373,10 @@ var getHash = function (Env, publicKey, cb) { // To each key is associated an object containing the 'limit' value and a 'note' explaining that limit var limits = {}; var updateLimits = function (config, publicKey, cb) { - if (config.adminEmail === false && config.allowSubscriptions === false) { return; } + if (config.adminEmail === false) { + if (config.allowSubscriptions === false) { return; } + throw new Error("allowSubscriptions must be false if adminEmail is false"); + } if (typeof cb !== "function") { cb = function () {}; } var defaultLimit = typeof(config.defaultStorageLimit) === 'number'? From cb2efe138b2d52f899313c92b90500167d528a31 Mon Sep 17 00:00:00 2001 From: Daniel RADEAU <daniel.radeau@alterway.fr> Date: Tue, 30 May 2017 16:36:06 +0200 Subject: [PATCH 178/236] Media Tag integration, image, audio, video, pdf --- config.modifs.js | 233 ++++++++++++++++++++++++++++++++++++++++ www/common/boot2.js | 4 +- www/common/media-tag.js | 2 +- www/media/main.js | 28 ++++- 4 files changed, 264 insertions(+), 3 deletions(-) create mode 100644 config.modifs.js diff --git a/config.modifs.js b/config.modifs.js new file mode 100644 index 000000000..1216b3c98 --- /dev/null +++ b/config.modifs.js @@ -0,0 +1,233 @@ +/*@flow*/ +/* + globals module +*/ +module.exports = { + + // the address you want to bind to, :: means all ipv4 and ipv6 addresses + // this may not work on all operating systems + httpAddress: '::', + + // the port on which your httpd will listen + + /* Cryptpad can be configured to send customized HTTP Headers + * These settings may vary widely depending on your needs + * Examples are provided below + */ + + httpHeaders: { + "X-XSS-Protection": "1; mode=block", + "X-Content-Type-Options": "nosniff", + // 'X-Frame-Options': 'SAMEORIGIN', + }, + + contentSecurity: [ + "default-src 'none'", + "style-src 'unsafe-inline' 'self'", + "script-src 'self'", + "font-src 'self'", + + /* child-src is used to restrict iframes to a set of allowed domains. + * connect-src is used to restrict what domains can connect to the websocket. + * + * it is recommended that you configure these fields to match the + * domain which will serve your cryptpad instance. + */ + "child-src 'self' *", + + /* this allows connections over secure or insecure websockets + if you are deploying to production, you'll probably want to remove + the ws://* directive, and change '*' to your domain + */ + "connect-src 'self' ws: wss: blob:", + + // data: is used by codemirror + "img-src 'self' data: blob:", + "media-src 'self' data: blob:" + ].join('; '), + + // CKEditor requires significantly more lax content security policy in order to function. + padContentSecurity: [ + "default-src 'none'", + "style-src 'unsafe-inline' 'self'", + // Unsafe inline, unsafe-eval are needed for ckeditor :( + "script-src 'self' 'unsafe-eval' 'unsafe-inline'", + "font-src 'self'", + + /* See above under 'contentSecurity' as to how these values should be + * configured for best effect. + */ + "child-src 'self' *", + + // see the comment above in the 'contentSecurity' section + "connect-src 'self' ws: wss: blob:", + + // (insecure remote) images are included by users of the wysiwyg who embed photos in their pads + "img-src *", + "media-src *" + ].join('; '), + + httpPort: 3000, + + /* your server's websocket url is configurable + * (default: '/cryptpad_websocket') + * + * websocketPath can be relative, of the form '/path/to/websocket' + * or absolute, specifying a particular URL + * + * 'wss://cryptpad.fr:3000/cryptpad_websocket' + */ + websocketPath: '/cryptpad_websocket', + + /* it is assumed that your websocket will bind to the same port as http + * you can override this behaviour by supplying a number via websocketPort + */ + //websocketPort: 3000, + + /* if you want to run a different version of cryptpad but using the same websocket + * server, you should use the other server port as websocketPort and disable + * the websockets on that server + */ + //useExternalWebsocket: false, + + /* If Cryptpad is proxied without using https, the server needs to know. + * Specify 'useSecureWebsockets: true' so that it can send + * Content Security Policy Headers that prevent http and https from mixing + */ + useSecureWebsockets: false, + + /* Cryptpad can log activity to stdout + * This may be useful for debugging + */ + logToStdout: false, + + /* Cryptpad supports verbose logging + * (false by default) + */ + verbose: false, + + /* Main pages + * add exceptions to the router so that we can access /privacy.html + * and other odd pages + */ + mainPages: [ + 'index', + 'privacy', + 'terms', + 'about', + 'contact', + ], + + /* Domain + * If you want to have enable payments on your CryptPad instance, it has to be able to tell + * our account server what is your domain + */ + // domain: 'https://cryptpad.fr', + + /* + You have the option of specifying an alternative storage adaptor. + These status of these alternatives are specified in their READMEs, + which are available at the following URLs: + + mongodb: a noSQL database + https://github.com/xwiki-labs/cryptpad-mongo-store + amnesiadb: in memory storage + https://github.com/xwiki-labs/cryptpad-amnesia-store + leveldb: a simple, fast, key-value store + https://github.com/xwiki-labs/cryptpad-level-store + sql: an adaptor for a variety of sql databases via knexjs + https://github.com/xwiki-labs/cryptpad-sql-store + + For the most up to date solution, use the default storage adaptor. + */ + storage: './storage/file', + + /* + Cryptpad stores each document in an individual file on your hard drive. + Specify a directory where files should be stored. + It will be created automatically if it does not already exist. + */ + filePath: './datastore/', + + /* CryptPad allows logged in users to request that particular documents be + * stored by the server indefinitely. This is called 'pinning'. + * Pin requests are stored in a pin-store. The location of this store is + * defined here. + */ + pinPath: './pins', + + /* CryptPad allows logged in users to upload encrypted files. Files/blobs + * are stored in a 'blob-store'. Set its location here. + */ + blobPath: './blob', + + /* CryptPad stores incomplete blobs in a 'staging' area until they are + * fully uploaded. Set its location here. + */ + blobStagingPath: './blobstage', + + /* Cryptpad's file storage adaptor closes unused files after a configurale + * number of milliseconds (default 30000 (30 seconds)) + */ + channelExpirationMs: 30000, + + /* Cryptpad's file storage adaptor is limited by the number of open files. + * When the adaptor reaches openFileLimit, it will clean up older files + */ + openFileLimit: 2048, + + /* Cryptpad's socket server can be extended to respond to RPC calls + * you can configure it to respond to custom RPC calls if you like. + * provide the path to your RPC module here, or `false` if you would + * like to disable the RPC interface completely + */ + rpc: './rpc.js', + + /* RPC errors are shown by default, but if you really don't care, + * you can suppress them + */ + suppressRPCErrors: false, + + + /* WARNING: EXPERIMENTAL + * + * CryptPad features experimental support for encrypted file upload. + * Our encryption format is still liable to change. As such, we do not + * guarantee that files uploaded now will be supported in the future + */ + + /* Setting this value to anything other than true will cause file upload + * attempts to be rejected outright. + */ + enableUploads: true, + + /* If you have enabled file upload, you have the option of restricting it + * to a list of users identified by their public keys. If this value is set + * to true, your server will query a file (cryptpad/privileged.conf) when + * users connect via RPC. Only users whose public keys can be found within + * the file will be allowed to upload. + * + * privileged.conf uses '#' for line comments, and splits keys by newline. + * This is a temporary measure until a better quota system is in place. + * registered users' public keys can be found on the settings page. + */ + restrictUploads: false, + + /* clients can use the /settings/ app to opt out of usage feedback + * which informs the server of things like how much each app is being + * used, and whether certain clientside features are supported by + * the client's browser. The intent is to provide feedback to the admin + * such that the service can be improved. Enable this with `true` + * and ignore feedback with `false` or by commenting the attribute + */ + //logFeedback: true, + + /* it is recommended that you serve cryptpad over https + * the filepaths below are used to configure your certificates + */ + //privKeyAndCertFiles: [ + // '/etc/apache2/ssl/my_secret.key', + // '/etc/apache2/ssl/my_public_cert.crt', + // '/etc/apache2/ssl/my_certificate_authorities_cert_chain.ca' + //], +}; diff --git a/www/common/boot2.js b/www/common/boot2.js index d894191e8..76ce9bcf9 100644 --- a/www/common/boot2.js +++ b/www/common/boot2.js @@ -7,7 +7,9 @@ define([], function () { // jquery declares itself as literally "jquery" so it cannot be pulled by path :( "jquery": "/bower_components/jquery/dist/jquery.min", // json.sortify same - "json.sortify": "/bower_components/json.sortify/dist/JSON.sortify" + "json.sortify": "/bower_components/json.sortify/dist/JSON.sortify", + "pdfjs-dist/build/pdf": "/bower_components/pdfjs-dist/build/pdf", + "pdfjs-dist/build/pdf.worker": "/bower_components/pdfjs-dist/build/pdf.worker" } }); diff --git a/www/common/media-tag.js b/www/common/media-tag.js index 370b0e93d..1f1bc7445 100644 --- a/www/common/media-tag.js +++ b/www/common/media-tag.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,d=y.once[Symbol.iterator]();!(b=(w=d.next()).done);b=!0){var g=w.value;n.push(g),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&d.return&&d.return()}finally{if(h)throw v}}var m=!0,O=!1,E=void 0;try{for(var k,_=y.any[Symbol.iterator]();!(m=(k=_.next()).done);m=!0){var j=k.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,E=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw E}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),d=n(36),g=n(12),m=n(25),O=n(24),E=n(41),k=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new d),r.PluginStore.store(new g),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new E),m.FunctionStore.store("salsa20poly1305",k),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t);f.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var o=n.content,i=l.getBlobUrl(o,e.getMimeType()),u=new Event("decryption");u.blob=new Blob([o],{type:e.getMimeType()}),u.metadata=n.metadata,e.setAttribute("src",i),e.removeAttribute("data-crypto-key"),u.callback=function(){a.return(e)},window.document.dispatchEvent(u)})}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),f=e.decodePrefix(c),l={metadata:void 0},p=new Uint8Array(t.subarray(2,2+f)),y=o.secretbox.open(p,u,n);e.increment(u);try{l.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!l.metadata)return r("NO_METADATA");var b=function(r){var c=a*s+2+f,l=c+s;a++;var p=new Uint8Array(t.subarray(c,l)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(l,t.length)),r(void 0,y)},h=[];!function n(){b(function(o,i){return o?setTimeout(function(){r(o)}):i?a*s<t.length?(h.push(i),n()):(h.push(i),l.content=e.joinChunks(h),r(void 0,l)):void r("UNEXPECTED_ENDING")})}()}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(26),i=n(25),u=n(44),a=n(45),c=n(24),s=n(23);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(37),u=n(41),a=n(40),c=n(38),s=n(14),f=n(7),l=n(27),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(21),h=n(20);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h),r.CryptoFilter=f;var b=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(b);var v=n(22),d=(n(13),n(0),new v);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.setAttribute("data-attr-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",console.log(s.getAllowedMediaTypes()))}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var i=n.content,u=y.getBlobUrl(i,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([i],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(3),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(3),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(15),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(15),a=n(1),c=n(46),s=n(14),f=n(13),l=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[]}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===f.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");0!==this.stacks[n].length||this.stats[n][a.RENDERER]||this.stacks[n].unshift(e.defaultPlugin)}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}}]),e}();l.STACK_LIMIT=100,l.SNAPSHOT_LIMIT=100,l.defaultPlugin=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download"),e.exports=l},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(17),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(33),o=n(30),i=n(35),u=n(34),a=n(31),c=n(32),s=n(29),f=n(28),l=n(36),p=n(3);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(16)}])}); \ No newline at end of file diff --git a/www/media/main.js b/www/media/main.js index 81820f8c0..804eced6f 100644 --- a/www/media/main.js +++ b/www/media/main.js @@ -6,6 +6,8 @@ define([ '/common/cryptpad-common.js', //'/common/visible.js', //'/common/notify.js', + 'pdfjs-dist/build/pdf', + 'pdfjs-dist/build/pdf.worker', '/bower_components/tweetnacl/nacl-fast.min.js', '/bower_components/file-saver/FileSaver.min.js', ], function ($, Crypto, realtimeInput, Toolbar, Cryptpad /*, Visible, Notify*/) { @@ -57,7 +59,7 @@ define([ var $mt = $iframe.find('#encryptedFile'); $mt.attr('src', '/blob/' + hexFileName.slice(0,2) + '/' + hexFileName); $mt.attr('data-crypto-key', 'cryptpad:'+cryptKey); - $mt.attr('data-type', type); + // $mt.attr('data-type', type); $(window.document).on('decryption', function (e) { var decrypted = e.originalEvent; @@ -98,6 +100,30 @@ define([ updateTitle(Cryptpad.initialName || getTitle() || defaultName); + /** + * Allowed mime types that have to be set for a rendering after a decryption. + * + * @type {Array} + */ + const allowedMediaTypes = [ + 'image/png', + 'image/jpeg', + 'image/jpg', + 'image/gif', + 'audio/mp3', + 'audio/ogg', + 'audio/wav', + 'audio/webm', + 'video/mp4', + 'video/ogg', + 'video/webm', + 'application/pdf', + 'application/dash+xml', + 'download' + ]; + + MediaTag.CryptoFilter.setAllowedMediaTypes(allowedMediaTypes); + MediaTag($mt[0]); Cryptpad.removeLoadingScreen(); From ec6ad6772b6fe2779bd3336a50f69ad152640e24 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 17:25:36 +0200 Subject: [PATCH 179/236] send feedback on donation --- www/common/toolbar2.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index 127fce91d..382b2de91 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -702,14 +702,22 @@ define([ if (Cryptpad.account.plan) { return; } var text; + var feedback; if (ApiConfig.allowSubscriptions && Cryptpad.isLoggedIn()) { text = Messages.upgradeAccount; - } else { text = Messages.supportCryptpad; } + feedback = "UPGRADE_ACCOUNT"; + } else { + text = Messages.supportCryptpad; + feedback = "SUPPORT_CRYPTPAD"; + } var $upgrade = toolbar.$top.find('.' + UPGRADE_CLS).attr({ 'title': Messages.supportCryptpad }).text(text).show() - .click(function () { window.open(Cryptpad.donateURL,'_blank'); }); + .click(function () { + Cryptpad.feedback(feedback); + window.open(Cryptpad.donateURL,'_blank'); + }); return $upgrade; }; From 149568689ab6cc40253635d2d9bc7848958f2439 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 17:58:31 +0200 Subject: [PATCH 180/236] color donate button green --- www/common/toolbar2.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index 382b2de91..7c24bc900 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -71,7 +71,7 @@ define([ var $userContainer = $('<span>', { 'class': USER_CLS }).appendTo($topContainer); - $('<button>', {'class': UPGRADE_CLS}).hide().appendTo($userContainer); + $('<button>', {'class': UPGRADE_CLS + ' buttonSuccess'}).hide().appendTo($userContainer); $('<span>', {'class': SPINNER_CLS}).hide().appendTo($userContainer); $('<span>', {'class': STATE_CLS}).hide().appendTo($userContainer); $('<span>', {'class': LAG_CLS}).hide().appendTo($userContainer); From ebfa228bc0c7c91486b429685e992e3e29a48309 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 18:39:41 +0200 Subject: [PATCH 181/236] add upgrade button to all static pages --- customize.dist/about.html | 3 +++ customize.dist/contact.html | 3 +++ customize.dist/index.html | 3 +++ customize.dist/main.css | 16 ++++++++++++++++ customize.dist/main.js | 13 ++++++++++--- customize.dist/privacy.html | 3 +++ customize.dist/src/fragments/topbar.html | 3 +++ customize.dist/src/less/topbar.less | 18 ++++++++++++++++++ customize.dist/terms.html | 3 +++ www/common/cryptpad-common.js | 3 ++- www/settings/index.html | 3 +++ www/settings/main.js | 11 +++++++++++ www/user/index.html | 3 +++ 13 files changed, 81 insertions(+), 4 deletions(-) diff --git a/customize.dist/about.html b/customize.dist/about.html index 954a3fb6f..3873351dc 100644 --- a/customize.dist/about.html +++ b/customize.dist/about.html @@ -39,6 +39,9 @@ <span class="link right"> <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> </span> + <span class="link right"> + <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button> + </span> </div> diff --git a/customize.dist/contact.html b/customize.dist/contact.html index 5d43d15a5..182912748 100644 --- a/customize.dist/contact.html +++ b/customize.dist/contact.html @@ -39,6 +39,9 @@ <span class="link right"> <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> </span> + <span class="link right"> + <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button> + </span> </div> diff --git a/customize.dist/index.html b/customize.dist/index.html index a1b1fe56b..9f5195b68 100644 --- a/customize.dist/index.html +++ b/customize.dist/index.html @@ -39,6 +39,9 @@ <span class="link right"> <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> </span> + <span class="link right"> + <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button> + </span> </div> diff --git a/customize.dist/main.css b/customize.dist/main.css index 50572f14b..36bc87fdc 100644 --- a/customize.dist/main.css +++ b/customize.dist/main.css @@ -525,6 +525,22 @@ margin: 0px 10px; line-height: 40px; } +#cryptpadTopBar .right .buttonSuccess { + color: #fff; + background: #5cb85c; + border-color: #5cb85c; +} +#cryptpadTopBar .right .buttonSuccess:hover { + color: #fff; + background: #449d44; + border: 1px solid #419641; +} +#cryptpadTopBar .right .buttonSuccess span { + color: #fff; +} +#cryptpadTopBar .right .buttonSuccess .large { + margin-left: 5px; +} #cryptpadTopBar .right button .buttonTitle .fa-user { margin-right: 5px; } diff --git a/customize.dist/main.js b/customize.dist/main.js index 088e1f51a..4e150682a 100644 --- a/customize.dist/main.js +++ b/customize.dist/main.js @@ -2,7 +2,7 @@ define([ 'jquery', '/customize/application_config.js', '/common/cryptpad-common.js' -], function ($, Config, Cryptpad) { +], function ($, Config, Cryptpad, ApiConfig) { window.APP = { Cryptpad: Cryptpad, @@ -19,6 +19,8 @@ define([ $sel.find('button').addClass('btn').addClass('btn-secondary'); $sel.show(); + var $upgrade = $('#upgrade'); + // User admin menu var $userMenu = $('#user-menu'); var userMenuCfg = { @@ -31,7 +33,6 @@ define([ $('.cryptpad-dropdown').hide(); }); - // main block is hidden in case javascript is disabled $main.removeClass('hidden'); @@ -57,11 +58,17 @@ define([ }); }); + if (!localStorage.plan) { + $upgrade.show().text(Messages.upgradeAccount); + } + + $loggedInBlock.removeClass('hidden'); //return; } else { $main.find('#userForm').removeClass('hidden'); $('#name').focus(); + $upgrade.show().text(Messages.supportCryptpad); } var displayCreateButtons = function () { @@ -88,8 +95,8 @@ define([ var $block = Cryptpad.createDropdown(dropdownConfig); $block.find('button').addClass('btn').addClass('btn-primary'); $block.appendTo($parent); - }; + }; /* Log in UI */ var Login; diff --git a/customize.dist/privacy.html b/customize.dist/privacy.html index 35bab1958..13cf05dab 100644 --- a/customize.dist/privacy.html +++ b/customize.dist/privacy.html @@ -39,6 +39,9 @@ <span class="link right"> <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> </span> + <span class="link right"> + <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button> + </span> </div> diff --git a/customize.dist/src/fragments/topbar.html b/customize.dist/src/fragments/topbar.html index a6b459b35..c1ed7e24b 100644 --- a/customize.dist/src/fragments/topbar.html +++ b/customize.dist/src/fragments/topbar.html @@ -24,4 +24,7 @@ <span class="link right"> <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> </span> + <span class="link right"> + <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button> + </span> </div> diff --git a/customize.dist/src/less/topbar.less b/customize.dist/src/less/topbar.less index b10309f61..a394c4eeb 100644 --- a/customize.dist/src/less/topbar.less +++ b/customize.dist/src/less/topbar.less @@ -47,6 +47,24 @@ margin: 0px 10px; line-height: 40px; + .buttonSuccess { + // Bootstrap 4 colors + color: #fff; + background: @toolbar-green; + border-color: @toolbar-green; + &:hover { + color: #fff; + background: #449d44; + border: 1px solid #419641; + } + span { + color: #fff; + } + .large { + margin-left: 5px; + } + } + button { .buttonTitle { .fa-user { diff --git a/customize.dist/terms.html b/customize.dist/terms.html index 2504b1147..e5e09e9a0 100644 --- a/customize.dist/terms.html +++ b/customize.dist/terms.html @@ -39,6 +39,9 @@ <span class="link right"> <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> </span> + <span class="link right"> + <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button> + </span> </div> diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index ddad01e68..0c68d425c 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -217,6 +217,7 @@ define([ userNameKey, userHashKey, 'loginToken', + 'plan', ].forEach(function (k) { sessionStorage.removeItem(k); localStorage.removeItem(k); @@ -1433,7 +1434,7 @@ define([ common.getPinLimit(function (e, limit, plan, note) { if (e) { return void console.error(e); } common.account.limit = limit; - common.account.plan = plan; + localStorage.plan = common.account.plan = plan; common.account.note = note; cb(); }); diff --git a/www/settings/index.html b/www/settings/index.html index f6ab459c9..3098251de 100644 --- a/www/settings/index.html +++ b/www/settings/index.html @@ -40,6 +40,9 @@ <span class="link right"> <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> </span> + <span class="link right"> + <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button> + </span> </div> diff --git a/www/settings/main.js b/www/settings/main.js index 546c93749..0c16e9864 100644 --- a/www/settings/main.js +++ b/www/settings/main.js @@ -14,6 +14,8 @@ define([ _onRefresh: [] }; + var $upgrade = $('#upgrade'); + var Messages = Cryptpad.Messages; // Manage changes in the realtime object made from another page @@ -324,6 +326,15 @@ define([ APP.$container.append(createUserFeedbackToggle(obj)); obj.proxy.on('change', [], refresh); obj.proxy.on('remove', [], refresh); + + + if (Cryptpad.isLoggedIn()) { + if (!Cryptpad.account.plan) { + $upgrade.text(Messages.upgradeAccount).show(); + } + } else { + $upgrade.text(Messages.supportCryptpad).show(); + } }; $(function () { diff --git a/www/user/index.html b/www/user/index.html index f6ab459c9..3098251de 100644 --- a/www/user/index.html +++ b/www/user/index.html @@ -40,6 +40,9 @@ <span class="link right"> <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a> </span> + <span class="link right"> + <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button> + </span> </div> From daf112a5b5a294f38c017aea730ab3c9e9b489fd Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 30 May 2017 20:11:15 +0200 Subject: [PATCH 182/236] take api settings into account for upgrade button --- customize.dist/main.js | 18 +++++++++++------- www/settings/main.js | 17 +++++++++++------ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/customize.dist/main.js b/customize.dist/main.js index 4e150682a..b6149b8ef 100644 --- a/customize.dist/main.js +++ b/customize.dist/main.js @@ -1,7 +1,8 @@ define([ 'jquery', '/customize/application_config.js', - '/common/cryptpad-common.js' + '/common/cryptpad-common.js', + '/api/config', ], function ($, Config, Cryptpad, ApiConfig) { window.APP = { @@ -21,6 +22,13 @@ define([ var $upgrade = $('#upgrade'); + var showUpgrade = function (text) { + if (ApiConfig.removeDonateButton) { return; } + if (localStorage.plan) { return; } + if (!text) { return; } + $upgrade.text(text).show(); + }; + // User admin menu var $userMenu = $('#user-menu'); var userMenuCfg = { @@ -58,17 +66,13 @@ define([ }); }); - if (!localStorage.plan) { - $upgrade.show().text(Messages.upgradeAccount); - } - + showUpgrade(Messages.upgradeAccount); $loggedInBlock.removeClass('hidden'); - //return; } else { $main.find('#userForm').removeClass('hidden'); $('#name').focus(); - $upgrade.show().text(Messages.supportCryptpad); + showUpgrade(Messages.supportCryptpad); } var displayCreateButtons = function () { diff --git a/www/settings/main.js b/www/settings/main.js index 0c16e9864..d02825fc1 100644 --- a/www/settings/main.js +++ b/www/settings/main.js @@ -3,8 +3,9 @@ define([ '/common/cryptpad-common.js', '/common/cryptget.js', '/common/mergeDrive.js', - '/bower_components/file-saver/FileSaver.min.js' -], function ($, Cryptpad, Crypt, Merge) { + '/api/config', + '/bower_components/file-saver/FileSaver.min.js', +], function ($, Cryptpad, Crypt, Merge, ApiConfig) { var saveAs = window.saveAs; var USERNAME_KEY = 'cryptpad.username'; @@ -15,6 +16,12 @@ define([ }; var $upgrade = $('#upgrade'); + var showUpgrade = function (text) { + if (ApiConfig.removeDonateButton) { return; } + if (localStorage.plan) { return; } + if (!text) { return; } + $upgrade.text(text).show(); + }; var Messages = Cryptpad.Messages; @@ -329,11 +336,9 @@ define([ if (Cryptpad.isLoggedIn()) { - if (!Cryptpad.account.plan) { - $upgrade.text(Messages.upgradeAccount).show(); - } + showUpgrade(Messages.upgradeAccount); } else { - $upgrade.text(Messages.supportCryptpad).show(); + showUpgrade(Messages.supportCryptpad); } }; From 1c04af5b30b47c5cbab315be45023f2d659d08a0 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 10:07:58 +0200 Subject: [PATCH 183/236] add disclaimer to top of example nginx config --- example.nginx.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/example.nginx.conf b/example.nginx.conf index fcb8b7435..37cb0da60 100644 --- a/example.nginx.conf +++ b/example.nginx.conf @@ -1,3 +1,9 @@ +# This file is included strictly as an example of how Nginx can be configured +# to work with CryptPad. This example WILL NOT WORK AS IS. For best results, +# compare the sections of this configuration file against a working CryptPad +# installation (http server by the Nodejs process). If you are using CryptPad +# in production, contact sales@cryptpad.fr + server { listen 443 ssl http2; From f9023185c16c6498846692b0e1c4e977022f96a9 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 10:10:33 +0200 Subject: [PATCH 184/236] move documentation into docs folder --- ARCHITECTURE.md => docs/ARCHITECTURE.md | 0 cryptpad-docker.md => docs/cryptpad-docker.md | 0 example.nginx.conf => docs/example.nginx.conf | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename ARCHITECTURE.md => docs/ARCHITECTURE.md (100%) rename cryptpad-docker.md => docs/cryptpad-docker.md (100%) rename example.nginx.conf => docs/example.nginx.conf (100%) diff --git a/ARCHITECTURE.md b/docs/ARCHITECTURE.md similarity index 100% rename from ARCHITECTURE.md rename to docs/ARCHITECTURE.md diff --git a/cryptpad-docker.md b/docs/cryptpad-docker.md similarity index 100% rename from cryptpad-docker.md rename to docs/cryptpad-docker.md diff --git a/example.nginx.conf b/docs/example.nginx.conf similarity index 100% rename from example.nginx.conf rename to docs/example.nginx.conf From 21c39572be2d9f2fcb66e7a9aed982e0a48b100c Mon Sep 17 00:00:00 2001 From: Daniel RADEAU <daniel.radeau@alterway.fr> Date: Wed, 31 May 2017 11:53:25 +0200 Subject: [PATCH 185/236] Update media-tag and fix bower dependencies --- bower.json | 3 ++- www/common/media-tag.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 5734be6ec..0c80203da 100644 --- a/bower.json +++ b/bower.json @@ -37,6 +37,7 @@ "diff-dom": "^2.1.1", "alertifyjs": "^1.0.11", "scrypt-async": "^1.2.0", - "bootstrap": "#v4.0.0-alpha.6" + "bootstrap": "#v4.0.0-alpha.6", + "pdfjs-dist": "^1.8.398" } } diff --git a/www/common/media-tag.js b/www/common/media-tag.js index 1f1bc7445..446bdd77e 100644 --- a/www/common/media-tag.js +++ b/www/common/media-tag.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(26),i=n(25),u=n(44),a=n(45),c=n(24),s=n(23);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(37),u=n(41),a=n(40),c=n(38),s=n(14),f=n(7),l=n(27),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(21),h=n(20);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h),r.CryptoFilter=f;var b=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(b);var v=n(22),d=(n(13),n(0),new v);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.setAttribute("data-attr-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",console.log(s.getAllowedMediaTypes()))}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var i=n.content,u=y.getBlobUrl(i,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([i],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(3),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(3),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(15),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(15),a=n(1),c=n(46),s=n(14),f=n(13),l=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[]}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===f.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");0!==this.stacks[n].length||this.stats[n][a.RENDERER]||this.stacks[n].unshift(e.defaultPlugin)}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}}]),e}();l.STACK_LIMIT=100,l.SNAPSHOT_LIMIT=100,l.defaultPlugin=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download"),e.exports=l},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(17),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(33),o=n(30),i=n(35),u=n(34),a=n(31),c=n(32),s=n(29),f=n(28),l=n(36),p=n(3);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(16)}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(25),i=n(24),u=n(44),a=n(45),c=n(23),s=n(22);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(36),u=n(41),a=n(40),c=n(37),s=n(38),f=n(7),l=n(26),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(20),h=n(19);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h);var b=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download");r.processingEngine.setDefaultPlugin(b),r.CryptoFilter=f;var v=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(v);var g=n(21),d=(n(13),n(0),new g);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",s.getAllowedMediaTypes()),e.name=t.name,e.setAttribute("data-attr-type",t.type)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var i=n.content,u=y.getBlobUrl(i,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([i],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(14),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(14),a=n(1),c=n(46),s=n(13),f=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[],this.defaultPlugin=null}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===s.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");if(0===this.stacks[n].length&&!this.stats[n][a.RENDERER]){if(!this.defaultPlugin)throw new Error("No default plugin assignated");this.stacks[n].unshift(this.defaultPlugin)}}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}},{key:"setDefaultPlugin",value:function(e){this.defaultPlugin=e}}]),e}();f.STACK_LIMIT=100,f.SNAPSHOT_LIMIT=100,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){}),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var n=t.response;if(n)if(e.name)saveAs(n,e.name);else if(e.getAttribute("data-attr-type")){var r=e.getAttribute("data-attr-type"),o=r.split("/"),i=new File([n],"download."+(o[1]||"txt"),{type:r});saveAs(i)}else saveAs(n)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(t){function r(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function o(e){e||console.log("no event"),0===e.buttons?i===t.numPages?i=1:i++:4===e.buttons&&(1===i?i=t.numPages:i--)}var i=1;t.getPage(i).then(function(e){r(e)}),n.onclick=function(e){o(e),t.getPage(i).then(function(e){r(e)})},s.processingEngine.return(e)},function(e){console.error(e)})}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(16),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(32),o=n(29),i=n(34),u=n(33),a=n(30),c=n(31),s=n(28),f=n(27),l=n(35),p=n(2);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(15)}])}); \ No newline at end of file From 540304807c8ac4fdce5505cf790d9b2359d0a08f Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 12:11:33 +0200 Subject: [PATCH 186/236] remove unused files --- customize.dist/BottomBar.html | 16 ---------------- customize.dist/bg.jpg | Bin 1405386 -> 0 bytes customize.dist/bg2.jpg | Bin 261738 -> 0 bytes 3 files changed, 16 deletions(-) delete mode 100644 customize.dist/BottomBar.html delete mode 100644 customize.dist/bg.jpg delete mode 100644 customize.dist/bg2.jpg diff --git a/customize.dist/BottomBar.html b/customize.dist/BottomBar.html deleted file mode 100644 index c8d43dfce..000000000 --- a/customize.dist/BottomBar.html +++ /dev/null @@ -1,16 +0,0 @@ -<!-- This is an HTML fragment which is included into the bottom toolbar --> -<div> - <div class="bottom-bar"> - <div class="bottom-bar-left"> - <span class="bottom-bar-language"> - <select id="language-selector"></select> - </span> - <p data-localization="bottom_france"> - </p> - </div> - <div class="bottom-bar-right"> - <p data-localization="bottom_support"> - </p> - </div> - </div> -</div> diff --git a/customize.dist/bg.jpg b/customize.dist/bg.jpg deleted file mode 100644 index fa5214591c4ab458a217e30fefda158fcd70d4cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1405386 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⩔fZulM$J2O_3e- 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%0A*P<P#%5exgaLwqJ}{7TETGS{?)E?oa0I+ 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�(ji)FC4m;Cc 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%0DAlY|CR3zVT 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≪20Oi)Gf`wltZkfSZ&G2vZ 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%0A+`jb2O&7qYK=aj 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ž&6POn&}9(e)nX6Q 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ð<ne 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�Y06Q2FdN()CNHWtk?O@xT*tpe~Q755Cd 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 diff --git a/customize.dist/bg2.jpg b/customize.dist/bg2.jpg deleted file mode 100644 index a7598eee19852b5fe83b97191cbfcc59786a4d32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261738 zcmbq)_gj)*{I{9rsML_8Oic+?J|(6(K*ddh15+zgQ7bD~rGVzn*~gR|fJG@TT$L+L zQ(Tp~2X3t#IZ)h|GcEmm`99C}`~}as;ivn$4)=MV*LjWieevJd|0ek)%r9dv^Bp?G z$9IT#@%=Z-7sGe>{|o`%5d7aEBy{A6kkC<K5#Dw5#L;6%d7l&F0C6$i_smI2$&+W! zN}rZKs|W@wUR1fLuYdK>|L+9<HS(Ph7C;C^96ki*<3Dle@QFkJHSx*vo>A}+Z}9!U zafpv!K=8<6Az_jKzViwH-y45N=NWi1)wBRiixe{iP?QV!@mwL05`e*(oWzsKaU=$} zfW>we5%=y;&V8yN5AZe;!(=7nJOm(&cta{b7JT#s?of9y8pJ095N1-b;1fhu0VV~* zJQ|M`z#6slk02_Me1?`T>KS;fFAM~XhXSc+e!D1ZG~1UnKqb+r!7w&-mQ#|bYE2A@ z!?pvA1;LI~4=*cg5&3v4BgiBz)i4;79G#ks!}6QN<BTA}V)D6$XfOwBjmeESjfzLV zE&x7N(37w^#3x<n+ykl3#p09!6a@)e7%&bt+s+R3C6Z`ls&CNz^d=XCpl^!fV1S=? zQNop<kHqxzi(v#f5m+F=R{<noi>b(Gm6$R`VZamK5n>pKkw6OGg6b>JjE5)*03f;K zR9jQ9V}ysx#mRLnTnzmw*W57KRz4*j2V;{W2~ZHCn#!2o0o4^C+nZ-Oba@vUT9lyL z)Db>IzLZEo#oRc)0wD-3-c*8Onj(w^T3k^Opo$rN21nDzs03393<2BiYXsno<VIov zhmDROZf+-az<r^J7@0UvEQB+c!szD$rd{H&Y$8EbkWFIjfB;+o7t95a;~}vcm3+2* zivOnA3P|PBB48jTAwZlFa9T7_P~O<r5F%maYpMrij0iEGLiGTm1dI~@3Hey?AjQ|p z)2P_xg2ezi4hFRK#Y%9DVM<_8A}Nj_218D9>QDBuRiU%ZevlNG40AXdKs`<}_YxN1 z7ZgawO2k`>!=VUdw{prPhl+(HD=V^I3uyvv1SKXpHmZV35C%nF!dRJCJUffzW9aO{ z=969eMhngS3@RqY+*hy!1|9)&m2x@e5IPD$m&>JcK?QoTNCaI8AVS1~CFCK8ZG{z+ zuLynynsk!mf^kM|Oa`y&{i0sjyd%}}Hkbl=b8AS7U9v(Gh|d<An<686oG4g~eUj6Z z^m_5qfm1Ii%2qxX3j>OpLM$v=4X15k?MODX8MUgaif-1UuG^90;qpu>OkU*Bn<H5g zf)Ym?(I6CCnL5poG53WlfQ99=B#jmFa(U>of&#fw@dN?Zn>L8W73COwe<~y5xZ$B` z5jKH9gdznP<^)rSh>^SvY(9lyM>(HEA=QAn$b}LTBLfRXHR(Y%DQ-_OFJ4Ftrb?P) zCGdb?5`%-EruD&bu+PolC>Z!9pOG5G7S`h_s3fszM~josH4=bC8CC<M1mztEBYrk< zC3{n5N5}pNjZ*^RsaPQanL!MkK*A89NEDJCL?SabZJbX)o12ks%y?h4ye*cGEMdgg zj}>W0f@r-U7TAK!xI&7<f<*-dK1o~<X$Hq(bD88gK@Rl<7HllSXN!YqDDfqGnKa_< zl1#BmIYuNZ6oSD*_^i>Wb_tI8ybSl`U>&QujSl82DODp-Kz#odUty$#FgD2>W95kx zX$DMBbCp0y0J)Qg?mCHNsQh5>q1$LB2@y2JoCv9=#`|I_CxI{HyaFK?naPG4fmm2; zPCOJ*jbKttV`$N~!pS?}cxaO!Y=H-M&N>$f;mru<Oh5I70U`v21d@F{g%z`GaM&g~ za-q42%E{nD@NqbdJSWPi$f%pIK;8)3#-zoI!_f<ExsnmWl?Z+s+0n)b(x`X58P&{& zBHQRvETn*~im!^N(Sn{5kW6M^;iOpGX)ZGZOF$!=n6~H=Q%IzkpoWBzmj^@uZxlT5 zV(}RcC&CHJEC9pE3ll-(6NXT6B7k_@VWuwu+D7G2FclJ1!&m`hQ&e77peQMRo(tjZ z0BwoB0=XvU9=<pQB?Qw3B_l%m!q}mwSY*T#Lhx8|ZweMHGkBPc5rF_OkbXu6-IR+! z&9eX;{5mHN#ukB0@(XJ~1|@J9rV+Ne#2SY~D<Ru~Pvx^Be9>J{h-B39-M{quiRTT! zY6Nru(=;lK-$pQ3qm1(+mL&wlbM+8Zi_Xq38RQH`JP}d=iT5HH3CKxc1x|Qi0Ja1; z4?B$M_+Wx60o#oHR1sy%JLt!a_>3SaHaIWqU>FK$@qOA>K7y(M(ugr88meYWPV887 zWh!T9K~c2SNn1?J%M&;;<z#b6ZMHJArXKaVd7(#{YEF>PuNQ(G!XO124^s_=_>D=l z3^_b!lYu4C#u)K%<rrHG#E#$SwE!8<Q==?%0s)HzFt`xADD)e7h9icrI)>f@T_X|+ zA#rdbS^^`V8-<01c}>LQ#9*I3GEJEbZXFMeNWGLz8AnbOK|$gQCaX7I0m4UswSx)@ zs;jFDKmfcA5y#^d$GK!fVS&LY;auBbNCDVfnMr0$+dai8D>4TsZLL&=pKNrHY5<J& z>2;3dG!-jBRe&y@@qx7n0jN;6;Cum?VKI?mNA6QqW`QY!Jk~}E01Wvld`L|MGae2n z(P(2fK|~TG9+Ha{<d0GjQOruEVvvYfB_$vu4vom`YX<RWU@Z^v%SaHRc_q8^)p}Ge zkC#vobKy!L6?<GND7ys8Po{n8Ao{{M)vWer9?U^89LIR*Cwirn9)EOZdoJ*)n3!on zL1OkQj))_W82Cuj6dUhoDn?U2HPR3)Vj4A_VGE(!QG#$7Itan+J!-1}ri!`u<R<SZ z)m2mDMB2Mek+0>+SFGeyjN#Upx>#TwbheF(pJrIZ6O91VaWMXP!5b^L+?e2GG%62) z<UIz6S4R#{Pr-3GG?*e>rkE_v0~+HBfrltNh7Ipv%qyYvvXU_pC(!bso;(f<p5#lw zD#6AV$NDM9FJR=QEzBWceB?YM&Xk2xio)}Li+~eA@F-UlD`D@v-3lVd#Ch>_e-m#P z4=2u>2N6j9MCIIR8#E+JL`^^x#*ZaoeS>|mND#oB5RC2-gGdM~^O*|>PQszhY*HK= zI6E?&IrABqY*g2Ah(B52Mandl!~+YC2nFJKvj(F9Sb`}PfR=oqo}rA*69PJN$gQRv zEQw5GOzxy`WNaXHU>Sa4{=sO92#|xPK<e|rk{P_a3>h+w2dwzxXaT;T)M;#hu?+qx zQ5YNvE9T>uc28|eon-Lid`a<G5Rz9T91+5rWKP>ckxF2OFuGd-;%JTq#Ni+XAl{0n z@pu|7bsY<Z@Wd|JG?_!eL6OKdFb|CN$aVw>>_Wxz127T2b(+m=VlWXxrOGoUQzecc z7kQ}Z@I&7ykIz;N7o;2mAVNS)EOefwB*c=pqs9Bq_w!CD(AZR-_7uXzhQtw|pX!@= z6WS1=N2vV1B1nm8QB~9G0*EnIkGYAD?oeoA9bxgGK=bwLVOODS2zA;<Oaw?ZI#PKt z#snX2<8^2S9weV)azYR|9dAt}C|6U>h3QD1Y*CGXQS$OUJ)35bJ4h6`1(OJE0|9L0 zHRplRRKccXY!JE~!ig7T`vw`cHvvpKjt7bWB84>r-;a?ecqM|HqMlL*`3&WcN+ugZ z03x$IZEDxd1v285H-jO`G{#S=HH?iDGmPLQ8$kfd{5AsA&B<x=AczoE1_Q@xer^L$ zc;#*fAyRCxJc-J{8=(<Y8<+qU1}2-N)_G^cO<6z}23JVn3ib`3u?HsEQPReXfX?IN zoG>a5!cb|QUpiDhq2PET94?S+goQ*2LxdqQqL35{uX2@51^l)|Qyx_!QtTKEJjXmx znGWganFnR+`W0v%pIsD*ia9j13MUc>0`!9V*GLKKZQ(3oEV!2g2qy5UJrTfIno_Z1 z^Sqs5$ea*U&gF38d|?+^8o<;!o-FvnfQClRZOIOO5^-qAWOSU0GV4=4a=yBnx2q-c zOdF!}VG4nW;U6@|uKF6v>!t7vCyh2SiRVP88e%FXjA00Q3VOfa@Q7v|&0Jmx!rP2S zYwRpCm#)NT4nej7?JO*8Od-)27}!|FQw$AxipjNwf%`|8n^bEYA!JMjZv$;tg2aof z1gT;_ukwl~qS-?bsDN^K`~o+cZKCt6p|B>Bhmp1zIr1MpiPY9gG5mLm*lq9Veq1mN z!NeOAd`$uI!A5Nny;S9j+`&j}o<M}B7|Dp>VaPO6f$~k8!@$#A6dM;p#m-lQ<E=<k z0vwK#?bFbF3P_dNk)H&tmvezOIQYEXK$LQsyqqXcE-Tv*o6FM?3Naf0uJf_fvgpYi zPAYjII#Qu|MWG$cv1>do0HGY>AJOEGz-VgZK7}e~aj2dUB*aD>3sOR%7TAyiv1~}3 zkvzj9BYkLL3dOjA6+YKjLiBKP!E-El5*%kO5GxPB2>?Y2fsoBbtT1>OOk=HkVl>+d zvNDoQsWOo`2*B8v2>YDJA8F+)awM5*lr4}-!9Y%!N&qmi5RMFfBzJNh&jkUe>86g3 z3`Z&&rB^=-sy?zIk|)oYcp{<KmGPz>q{Lci%d$Z$RwqA&un;W2`3z&D5<aj+(7NDM zZUK-g5H&3#prpia3{?`~tuw-?Nh4pLa_AzYKN9`s2p!3nEdL?}-#=~APlPo$H>Ipk zWW@kf6u|iDU?oj<@NqXseuby3_NJiPxF9hC9L82?iv@BhBB(q)1Z#;&8k58WFhYVo zFP)_a*KN^!lhe}E$wbp?$n+J{7)NuyWQv!eyko>60gS1@AQ#xg=?9nsCwWCu0CJH4 ztn(oZxYs1g8a8gOO#R%RT}(Xg5kjVJv;x<$L{jQb?qr-b8lk~zQ%c$7)|JG7G$7lt znhNc?6(}$*b&e``f)}uqnRcBRn8eZ4D5$_u3{3OQ>zJn^UA{&_xfF~*G#RVRLJ9Gc z<4jZV(<iK~jM_jk2d}eiWOgfyyhx6pxK!r|NIj20Co`t0JoBt4mwMs5MHVC@$)Ye> z1%jyLrz=uZuMi1>Ks#Fn{wvBU_&BUYGEoI4FN_v=>LHv<HufSKA;F^PBh>!Gap-2` z>sX$ljtpV+Cm)ApQSBzK_`;seO@w~-<TfMMAX63$3o@A(Tq$S(W16<}SB=pY3^jOn zzAzaE#Ln61eZ_yuppufIU}<4A7ywnG#=|~=0a%ErA%t=qlj3+PQl6I`&`<a<9@Zkw z&7TBpgO!;s_(2PkD}2mYGeCqw-K%cK=fjzb^}2=sLfcnKks(w94&8)cav`-uxL`BV z;H}ad3@@fa2A$i${rE@%&NL<(;2p1m3-VHhf-&+44JMUj%ok;A`XWES5`01oQxMZH zZRcoi>PJ-O=UEMq9#e$xNLC9qdcqj1S?AEr`0j|j2-ev|j7avez1v{`t`ImwW-|_w z%Z1DiyoIY0cua}G>3xsD!Df+uIAN*EBP?Jf0sEQ5-0bJA7C^e9VnyW9gFs7EGT){L zgjGZWsCbx0_RUJjL|6smNNtcxjU#-$$yST0leC}>ANT_fEl@ya;M+HC5R#3ZY6jzZ z_O^)*#1c%Hq>1U7K4e~7E=8dWqfu4(RF#yh3>;38fGGho;;m(^wIL=H2qfCpgA_-y zu(k5?Rmfs#a!_^2=pwA9{0<_8VrjG@KEK{*VJx$oD?NDFCDH>=JH@t~Yy3J{`8mLW z4qSa&4cwI3<QX0~4x-1?M)F<(fUAUfQ4Khnq^%}j0|Ih+dCSr*3JMqjPIHcqtvBN1 zg9R$V!&w%|zF5TwQQzaFD3T+mrIPQH;~^X`dhrd)ed${@1oPur;Ni;G0*;b_WuLS& zk6a{iq^C!!uYf>^N}i`KiTtdT!UbbV$svsO)pT2UFaeS~ZA<XFX<A2D%HSO&Qcw() z2mwx;i-(NaS_k9Md?HqY5F0_oe`6RC-i*mXX~)CTEf9Web2G&Dwg_^zIWH@jMet62 z$#>jKh~Yb(I)Qg+X7m}AD8?b#5T=}wssLb<n`;i8YF>lSuO<@VAyi(bQf6srf*HJ& z2Ee${f^uaTHauyokxLhalj4c!yvPN$b_C>v6(58no!(m(_eMjr*j?-2Tv|IuPktCE z=Yj{R$IAr89F{f_lAmg&!i7mmJ(*gXvl2t5)9W@o_l`H``POP6d4O(@>_G(sGAzbu z?WF(hI4B@_oK?Ac9GjiZvpPVA4JmzyEgll53{DnP=C?IONR<g#v|j3sX~`YV*M8}S zto$T|1jt0+0N_-i5&Y8=p@v3TN3>~%b4SUB+~#M~pIiVI2yVvHs5k*S051ZE!}5B> z;qyBMev8vPKrTzK;AAh~9Mcvh;;X<B7|x20?ttG6CXgm}z&rKr?XOcJjUb#sBSTI3 z**-PBh*RPhhczP^yA@IWT!CaO4-As6Q0&cMAbmX#iQOd44R5$jm|Jn1v@@mT;<As; zFjiwA6jR<Wk7zbk=i+%JtXJQ&)VIcSaBOr_?zAB<O12}SCL=ufkp8gxQ#SAbGi3Yz zQ3h8)L^u~fv=Y(N6o^x`R5ca5Z{>DlxQwwIV`$BbfGrX>M3G1k>QbhZgs{7ohFTqM z!X(<MOAPP0Beh|2aVMi*M~di$;RRrM3LzM)o6`qh+(C`k)B`!(C>IRRq!}R!z;+ZP z4Gl#)az59{8Dxg2UsWZIrBbng!ATnaa0C{@rH+8@9J(*P^wGMM7W6JQ79kKV$>%8^ zbkj>Hr&V9i(awf<XgzPD7x<!%&$JcPk=%%?Yr}SAyFel@u(LFkgmklS;X-0fT?cZ; zb_Ls*!BH-@r1&6(Qb<Z1Oe6mtgb|!2BT8b-^v$k9_hkT9rVz%J<Gy0@@*Mn5RP>1c z1Gk{EOUay;cQITPpQJSVCaNUR8(=;Ei*2CADuzCDzjz3zK=dMIASyvhzvjAJ9m=Kg zsiuz#gpf^@d5HRUXdh&!;A7z!cXKfwJ}=paBT+~LHuDq}U*ZLr=IbafLSQmuw$GqE zB>KnD)EiAcM=p>LgZx~~>(K-ga5B49FXx2dmTrf!p5ewVl%BLxsdIAKPm#J+xX|Ba ze7$p*XpZr|B!^Dw!ayNQZJyON({mhdivoBajx_BFy}n`exd(0v5<)ijEbl1Q=8V~8 zNV)_Au+}(%0tqseFH3rapUaeC2$@lLSnWOG_WxFXjuYS&0SXL?>{}C@XCX-5LR#+# z9QFh3XL6~TW|7tOgpt%{AP1{daCzO$MAXwQ=txZbaW|wUX4wMI1+)-9f7K|d|Key5 zziVEv(f6H-ZeM`d(e3j_-;yXH9rK2$qdarX6FEf6w5_M%MPvyahC~W&s=`T>aNLvj zC)uwRdgb{|vwAalZ5%p8diY3L@oa0RI++goSZ2lPYp(k)JilGmEL2w+Qx<om;-}Yf z!c8|bDG^z_z4|o|Zg;f<-^aqf<AljG@Qnm_DUIB9hRvZ;6kc{D8;)MZSu4}}+Ndrs z?Z}-25m3c{A+g3L6dW$V*oZ*dLoGB(sc8yu_(X){r8B1OCPondRu)_G6gNnoAxzo> zRF^Tn_O>b^l_F9%rFYbdNsa?u8kz>QQ+-{eg+c7vw;s2^#2Zy0`X;H<<hO>7?es9R z7}~4{8D@=(&hJ#Sl#s~wZX#*KjL(7sUBmg9_A@>KJR$U43~qk<Xf)#>iGWim;!~`H zcJtcUo^VM0iYi94$mkijJwZ69uLpW$eWv@()07?3a+4#zcSkdhuj#Ov`m63DHyNb= zf+9XKHWQ9_NN{#pO*bJ=oU1HR==S8(W?JJvi}b)rwE&I`=cz9tNHx%#OpAjPti5Sb z-gZ&JVrak!>r-8>b03Gf{_+zIAg>t#l<8f+Vm<#f=r$)A&nkPS0!QhvP#1ll4W6n& zmMDBmwlg#Bjk2`zusoWEOtcK1>c5|{UUQ-~=CK331Qm>6jmsfOUcq{wFSzLdq#Na0 zQEgkKM(Bc&JkPasre-i)<feaOt-S=FEbu#8q`K?~;LUL%H0R#@cT$ykM=B$Lj)OY_ zhbN}7w?*C*xgj;OTt^EToC!R0LmuAT2GKbZi;U}XV}Kw{oR$*&ZdImIMp%J4{aiU$ zN*8%I7jls393l}|RwBqhyus~e`+D>HiiMCTut&4KU8v~h9)if{eHq5)CM_N<pJ8X? z0Y&bcm|Oc2o%vKl>?Bj!H#HPBDiCV^A)t%FAVlsVZ#(Ih$}H4=Ehq)i@@(+vcwg2g zcE#Jpv1zzA8y_tS%b_b0xovvw>F_%l<4&SVQnUB6f_W+7DW}Cx+^8-Zu?}l5J`O?l z5P}F$w!6m8J3W3bO9`|UNMdX{a``81ypvT#+UO{G6LP$@u%En;W`ayw7oSXTgkMw( z;Z{fnH_OPwU42;NBC=msF41H5OtiGPy`PWvwlBJFEJ-TAwlKAExK8NQU)H5q#SB_O zTiQR~X#j1P8{b}ML~PAZH5bcT(Dm^$Ijv?)%j3K@(GF`(B<~I4U*=#93fVlKA=}rS z*F=2^1xg%cip}>&$cn&#Hiif>{6OG_mxvJJQq^rX{<qM_Y*NOcnWCDM*nRKJ(f3K0 z6K#Snf_D&=<H7GxMHm8yJi!^^5gJ^tnlvj*&dXh0pY5W_Y2&QgcT##+<5pEBKOIcX zq&!x&Vb)a(I5rudf1?`W*zY2$_uV+aObGRe)M|#vr*f+!@QxN&c+Q5FdSfDT?WVP$ z{9vrUQ5~zI473^Kxhl=Bdnr9!-vjqP)Bd`$h}+#-^*E7qnyrh72xf8o=YP%}Da(lk z)S#OD=8-wQL{4*y(xHitkX-CLN^4BXIpo0muLpUZX~=y4<xNCO;#Q*?M3a3;G1rB0 z#RDZlGI8YfJatgxGSe<Qnn2gVvd<{R2n${-BwwxbEw_7ICQ9aOlD?G>+yj_7KI=c< z_pOWD^K`Q2aIf04o8ERo>$tUVs~4u(_}xn6zTE84x+IGz^Sc~jxqJ}!Xx_$C=IcS< zxfbsC&hmu`A6ytG-?pH(EF|-DjCSVZHT-Y0r<)VX6`JFAlEwtyYYxwV%awv%a!;dH z>yLif1MFzTO7?YO*Sz?Y^uSnQlCvD^7b;`!r;MW``vJFy_N6@lmu{LEw_oGSnb6DG z@I^%jR%L2c@;2>{UoZ)IiHv-o!&t39+qWMq7aH_I@1eL?IIagrQM7Sa{%aYBUt)^L z>JpB)UhXWLWuKU59JD9k@W&e1KJbffZw|k*oYO&+X=*k<Rm)pbwK{g+@1UKWQ;TAI z*XSXeg!BpoMm7&U(cG6d3N}(R$dRUz>B4oXv#s<?-PvrEkjc>gpSFP8Z7X*?Lcf1e zCQWq{-Atr=SI30|^g~azXqR3+sF&kC+(?q#g9O2(a|I8RR4MA#kNeEvwt1vDrxw4b zzfOyn25gt7vClIY>3xuvjTP0}Z!H?ijV8&w_(zjI>LM-sC2pl}O+j7HsNabt^k~^d zI@k|38_9-tSuXU6d59&cc-KG<dABL$jCR){Tjpk4474?iovn?!+SexVbc3|OGKTl= z>+w6fvHB*N5cZvu139V4jj3+_)rEc6KHb`y^{E~P=5GxmW533r3cH@CylCbr_C%~` zC%L1oY*(%%lQeOzGn%mj$A5uzzMPU)36~4I<2RSuA8C0D{po4hs|g~heX2!b;e3_G z)fBQ^aPH<I=xh;gIacaiUk|r^{}3i>b9G#{A0(#otTj^T)y=u!da+~A;rG8KO|{bX zL){3|;H~HV2KpC#^o<fp6BO?=t!aldRzL42nO&+KV~74Wo9fA79MtdCSUaTO@k<)1 ze^zFF?Py)fO{0WQ(BU~EDHuV2-Wlzn?$`P<d73c28zzmU_SyyVD0H^x*<)Gv0Hrrc z(&vLM7h9^gLmZ8lvDmyN=CRp<GMOMH)Ec+xkpSy6sK(5lRY{2wDnR@KvlyK<Rdg}u zxlsqpi?^HZJhs^j2n#>0I@3dQXiYm5U|;b9j_0|7z3AR*u{95`nU+f~2kB==YIAoM zAvNcUitkTx7p9!C7BM>W`z*A7W{8kdbv29dbU-V#p+yf<Hq+pGeS_!LzOHz#9)t=6 zhTUx^)qadY{H?{VO4kCnE8uy0Wpb-xoEEuH1W&^JtLA!{ku3<kgf{wqP$z$T_2AhQ zfaO1XQi@3aQlBtX*KozV@N{de#ja|k{n-MAP8veZkL1vo*QNIxz}+N$&oGwll;)Oe zi-l#5=G1Jd>-r`2QFOkIxtg@i;YtSRnBK*6G#AC4^2HsoBx@gG%Ox$g^~1W`CJF7- zKl!o1;VQbE<(-UT&V;XNVtO8S{;OKGzEu+(z2;35!NFnW!N`InMHcdz7!k?{s;epp z$S(+>oGbNjDZlV4Js57|s?|4ys9s9(NPkcY5B?SDaGiakRAW7O=vqJheUg~k*k*|O zKR9f{q48kUq$bZr{!t=wzr@e4jwj(-3x7Dt)>-bK{Gpej_NTKQ@6Ej8&ppmiY)ku* zjS^9vac!|&5=pPs0%90Jm>1Ld$qAKNX>EOHot?uBMCk(W)t+UXv~HMjE67~N$QJ|H z`N$&NazBz~OvLIk9*cA@!DinizS1&tiBh>g`lfGMJ3oGV*i^>nh4D-y$XmD5o>W@= z*5e)>>&Av27nx5nXWyiw%qAK3U{3Jn!jL9|b#aT{`$!`2qW{8JNxAsLeNPXBa(N}) zLWNTPb$)reF+clN$1!*I3)i95dGg+RG534ev(<e8Wt($}11_tH7kuD)Ilf7qnONCR zQ_i1<FI~9%lyPq3)wzO;lP<!C5|@<TQv;Mp&!T)~<zz<6WpEE=XZ;0<vv9U|t^bif z);=IrGq>_Ve0PEg=fDnd0eXwzG1nX?YFZKia(;Qq?>2VsdxnfIvXd-d`#zRuf)^Bh zaG^Jb*JF|6HVYkxWk)~ycb1aiPPguP-X==xPFc_!20c|2TC?)$je778!<wro#*S{) z<7;)}Zf>^})Pc%%_MTLGm#9m~^=Y<*+dEA1^v!GJ)7vk^<D?LN+>M3qePMaEbcm%z zffh-{O&a6;ho|(!*rQbET&yY4N4I@Hed2N<HvHbAtAW!>`q)HDb*AvfybZFmEPXhv zi4|;OA{}x~N(;z3PnUj;=SXe(oWke&Eqn%vyq{RrJNL07m{l4G+bUiesU2`0DSFe$ z%+z#jF>mnqe~_5tJP>pLi%v_#!u1cpX5_w({?#Y^r_0JS`_zG_;0yhC66<w-CA1h^ zobSyptH0xa8Ktdjapt^;+U?7-iii3NbM~|g^pC9}yUtUm=dxrD%<38^tnPcL*(`jw zqs*<^72nDDkhXHS>4izF`;J_6h-wi&>1Ci|u*^ehz6VO&+MA?U@<P*6&hLhxmfLB- z+j@T=So%4WsnPc=@NW5D_2s0~`^f9q@Q263J<eCeK3WVsjrsw2ds5R{t#KgFn_X~k z^&)BA_3*Pd>wDKoxTS#tPup~{f70$EbDnuf$SQ0U_%8;UMN2#i^`M-ieK$O@bXsTn z!Ly7j)oT5RYiI*iW*=0QFep~y18+IQkiDONuT*7r)i0d-+*;I-05zyDVn3+eOi0LK zwRCVQU6P720^NV=pPk$4wRT!L_>a$tnKoRgX^*y$t2)zDYSYp1p@Ibq%SLlYvt|Bt z&=vY}HsYK6HIT<cPJ^9&T-H`bb5hefAi*UvUcX<a*IZwx6b=WhSR8S?{k6xVlzi&Z z(#S_F_1Ve(yD=qdIl}LPwpMQ48a7H0Z4ga8xH5Bzb|=6GQJI)d(7E&B%d;;-`*bt& zg@N3MGPA^)uSC7?6X|j~sP6C}6i5y~{h8A^QLYm`)X!;4&bhItxY$~%j2sK&W(CW> zowBE_yPhf4JLkE7zISWHdG|{1wYwW*ui|FL7g2XaTa_9t-ljsz#?K<xgIf|hl%z7u z%1b<--~K8ak}<ApK)H)P84BC@C;MYs$n`$!Z=UX$V(v&?+85Wuh#V1f>xTn*q@=#} z<$GquiSsr=^#jY$PPOxeOI-(J(@o(BTZsP@f87md$AHD#O>;Y&$*#k0e@bL%fkcrv zPYepo{0X)?Tk}Z5o#5^FX?u?rfpM3hQVqHq2T55=Y?@~3yNO_ULFqq#cT$6%<GsE* zsqADg!gKBKu3xQgY0y%taw(4E|8O*TJ7mhx7IG<f0p;4q$oW#DepP>CZm_?m<LZ%4 zO3%Bck!K!T4)Jj>-Y-tE>i4c+Y29=-ZKvFPHDXVBL)=7F>lV0_>sY;Lqu%LC*M8z7 zcH%d|Ew8(b@w>7zS*M-qX5{A!F;8+9>@QYL??WfFVHbWBC9VhSm6;}dA(KT()(@Ae z=MU0@1?EUk1c);{upuncZmFQTVg^=P)13)|DkdKqp1iNP|BtwSXYb{bg1*&#ki)%> z`#y|Yqu$^b(M1#SK%K8oKfZn<Y@MRmy)=@R-Y6hkA0iyKQj|S-)j>xaOGNs6*t}gj zzwsCT@cv?<{h4+k>-$;jZx&@U=}ULRy`7B`{tc|KN<OP@t$*pRMfs}^na3y2{hVZP z6e(?K4*AL{qLOFKC<D1K?Cn1|KN(D9>YXZiK7meh+1Ca6C5VYj42BrcT>DLOg;3+) z@dtQtlg-T5^3J(`Izs8qk*;THn;@Aiv&08shuyNCOVQ3aUE|Nxc7M02@;v6kgm|mE z);2Azv&!(aoWQj{xib009Z8+`5Fvt8%~>%RC4bb}H}d+K#ybr~^Ev3ZZ{FrV`DX_m z>RmX$S-z2S+6VpP+t;R^*7}N9*4K>Ws!~YmPO_uS8T~t>4&HR(cZJnv31Bv!g$f)Q zA##6w#8fh7+fr8j{l8RndOLts!hEn&*J*p3s!IdW=XXtJdkP*e)b;RI7Bl;8?M}eY z84x3IJOpD=xLojPp+(m8o_0~JZYr+#{^sypdC3PV^Syx(dOmfxcjLfk*6;l?eA&!} z!K$wu!~fj*kdEoKTxP-RcYUXvoTRFvl_ut!Tu}eGVbjjV27E5fVGj?hf3Yg5OX)aP zJoLdwHgjT6D#KE5)}KSS-JB7Joq0-8VS87{ZCof(lw=>1p0}LarCoic8h6A%QmGd9 zP5o-Y<+nx7A-I~#C9$`!toxm<j@jzAga$Guo9A~QVp0AJ-+Y58-?iapbj0$MWEJ+o z;sMp&KR{p8e~d9=P^utV5GGcLz4Lo$cP}+nM{(uDb^QAYpQlfBxJEZeHfP&cpR&7e zuX-UL^?nup+vC!2>KNRyyo@W)UwVN2^-3;>$G6E}H8oy!G@MwiH|Z;|Gwq%}>u!?x zW-M5Lr}*BZa%+9fnvCSoRVA&R^wBhj(-zMO0e85*Q=$#PdpjxHI_{4?C$?<AoIerL z5svY{h-_D1Da|*{?@{M5C*cxZuKqh4FDnWOLP5@rzTqUHKkwJ78^G}l_Azdo-^<nZ z`rH8TW71zuk=*E|-L}e)eICof_5=OgHy+szUK)1Fe`~e!J^VJtw#4ZHMASLrl2Trn zy~UCkAxHgg%4+g?&!w^<_2TRC-wEOOnl4Z@t{G+(L`uuW4(%T`dDV9Jmra7=b@=EY zO4RE5ZE@+n)ihXHUBj_QomFd{NvFE$;2s<AepUSwlZ0q#|7b92X~NV+MCWS8mGq$~ z!B8^{>Vn22wFUL=k!83p`j+#Vu9i5SSdYW|W!QSDtZi)FjC@*~nAO7h!iWG|*W8>v zI$_9f_T*3RAD-d)eb&of3zr5rD`oe-b)UAJ$zSl7at28s0BQ>|B>uF~&+4>)D2^4c zAKR^$A89OYn%(of<77bxJMC>g=`b^DEKe;>FqL&JTqz;_*3o0%qa)LGlN^40cPAz{ zhXK1!Hu>nr9dmHrmYFmTU3j!na@Uu`CV<x?6@3D)uxf0d9gOec{1huGg}1a!=|o!C z!;WJ`#U*e1#=vH;lxWkf-Zgc8^9$;+`WJ&PN(suQ_kh+z99ue-=$GrK(w!SG-0fD^ zR<6Wfc(~<g;ZT2m<2i6}6E_8JymP;n<577XCoyT7rc_FjQhTnHc(3LfS9-?V2Y&zc zwRgYW)MPXRv^(_TF1f<C+Pf0~0?L~yHP%L>-|ngZTHKfjPwd|Q_UCLargheG!jF;X z@Uz`FYN^%}2mHC$_B`l;N_)(gsh0D1{jRXCw^O>h7z?G7>?;Z;rL?=6hS%u{x$Mzp z4axB%Z-&K|It-Ag&aVgQd3D63qp@&8qmTZ0GBI4S4D|k4;(a(EPc8ZPhP(ciY`f+) zpTc2h>jh^c2RjqnuRT@e4hJYze^SP|;V(4RiuYfl*1o;+dR(PYKIhm)QHO>;KGmfm zt9ih@i$?;MYXkh`WJZsCObKRu9$&5DbQkCqqy?=KwQ5IEXEM%S@(&q)Q6l@Yqa_Z^ z!@(n4-^upi^Ccy>Xrr;h6hw9HN9l}9x_+;8OzEUMIxkODclKIx`HyuL*csLLJGF7m zB<lv}KGs#$tL^Kykpi1%q$Lr}&aOYQ7l*}+UMmuoS(-i1HOJ2xyCF7;i+Ln^ufWM) z&!q6}8)kHS{J}TFqFJ|siU9qK*$sEv%`(C5CpJ=y*T+{WZsX?n_4U-Nr4!`dW8Fk+ zlsvc9p`?;{_Qjwt#cll)-Zg~G@Wz5J-&b#~tScWPZ!bJ@q;uyNOJ`;k8W%`mx71~w z!^}?WoT(M7ds0A<J076?r8wqoM^*Q8Mbm|dU(qJlXLZrYUa#~!ZDDH<xc_uKwuO|H z=XX$GV>;SZ4ys9#nWx?%t0ES_*0{ReU)*-hyuZvx=i+G-p&5UdZdWF}dHb3S@A!|; z<d)hP(=hu@>}Lb3he3mbetn}`?(h?%iUGbm7vUNX^aUU1k<uFs-S!h{nHziO6DIQS z$f;#LO7|Qs{0H%&Dps^B!=)4L!L}b;`n!XA)wO_%wp?EP;aTlYBxr=H^?HqlWYtnc z-y2|^^?#s4)X?wV`C(Fij;%hrUbir{^DcQ|IL7QrW}%OTm2Ba({jZQ~#T66p7S9Lm zEXwNKZ>R2=Ew^r_tX`RFNjUoyZSfph##4swMxE8KCRv<zqPr!v@a=9@is)Omy3fPn ziK+2k&jq*3Nk6Ou22x~NQ76Cb{_6|4yD2Fy&%Vm?+!-O=X*hZ3@ZIxd*xbnnjV zeES*y_9^sR7sbJ$|AU74@&}z(yMUHgzn0!tzAD;Z%Uk@@TK#RjxnnM9+~5#@W@4;G z=<m%S#!%Sv)%ev8%SYDFMP)?WZO?VGXwLRx_lLVHQiiYF*pvJl5+^riTxA^{yH+|< zKOj^CJZbmuVpAGf+Y95#-hr)&Ps6d)bh-0qKxwRBw!cl??=|0VFNb!i!6r8n_>X}s z23&fs5gz24kgXiVgu>)#xgJ;5N|$Ta139|>;X&%>Hse}SGmD$YS2AVxtyC=>9s+;s zHT^Idaws<^+dH%UEB=j30fu^RyiBZppq$;&XO;x`w}E^2{reBqbrrEM3zBXbbj;YL z%jJ(0KMse{xSlzK6OLOFY2P)3yB5yVEyx~&gWYN0t#ae=i=J5|?gM5O_28mBrlCyl zyk|A4Y%d@a-WY%lYm?Cp2)Stz+oT3xzY}2Nrg7P0GBAKE+gz3srw-}jwlw6ULY0p_ z56NL=ihanRHbGqPA24~GWHPMbHLragfb^4@cr{^J(pjXOya>MGsd;^CSG4B2n?b2# zmzKUg)3Yegkwg}ymexP1a=wtt&=a*>g&&!5nn(gYFS02-L(2U==Ap9J6N?p3vIsvj zbF_hGadWR|!UWN|@`yPXZYQQB*6Y339UygM!apy+6i{%3ow^w8IM<pUlACd$nOs!i z%pB<(dPMJ}JHalg7T?q{c2|7#yfyZeZ%}<gcu;JWi`tDA>*3w<xe2|R4*afmRS=+h z{fU?$I#kp1ZD04RFG%S-?>kOv5$hdYyTX+T5AW)j1nM_xoVLx?YFg(uCgwd1xLv@0 zTix&==FQgcE?}w2po3+_g7gO_Ii;{RUE}q{1A7ODh;FZKsgu=p>Ds4$p(p6xo<1J! z{*53QNMGr*Wv}bkjkjH#`67*)1lgE|e3{29u_rzpITp0XGp8?QGTqdNeaycHSL1cZ z7FKBguqMW}m~<7XIj6Jwq2C@2+{}3M4D|)61@RDR%_)e*sUgkip7eRv^<NL3MEW4= zLON+|4cx`I^5_LpNiT60WN@j}-FM0&gDmXf-l-NiW_kaK)ZOJ^xeb}3JKDKAZyQ2T z<BxpU9=t}&15dZ3peOX&;nA%!J^7&#;|Fy)74$ici+Q{G@W&q(wQQqx#UR%`x24H) z*Ug>rdvBzMCtyeG6IPb1p9d9nc{|HdR|8BZ9@2(>zMaFCzWLC5<1>3;{eId}SWonk ze5&q>AE=&bZ&_DCPVbxv_L%E<m+9?xu7>j|Sdp$-xBDgbYynO&{QCEoW4p`x&f9N7 z1FsrW0z8K(^7fnWo_~4vi1@a23ciGOcecNgR}Vk2xFFv`cE5GL6lo90>Rjk>p}cxH zp7Cv1Hf#7@Lywh_eQLJs?8I1SY-~4nbm@W4ql@1hz}LgB{~TSph=~7IEu(=tK4P9) zH>4+=IJ$RoG5gZJ_eJNA7KV#Oe_vdkDbl&WZ^)|c`);N78?^)IGH>ZgvYt3-v%7{4 zfmoC+v_Idi8R@C6S`vSfx4iea1f*~tOA63`&^+>3Z^m~@(avcg3C9RDPCBhkcDGva zP-xrwDEX_DxFn@wb?x7`YegQFSBsykQRqglM>Gm+qeaW3EE7xpJT!+c%$}*JYQH|* z6FqDe<ap`XvdjW~++)4pM+GGO{`OVwO!vp?70~I-iZPEBad;@gx30f+gW-y5&F1`K zZQm<H{?R>Z@$?|%Wnr9lKgzhH3M97OZTdd_Zph?wl+T(9*DR;&dO$^OUHMD)iOhfe zJLQM<ee<OaLI%y-zTVM`kFHqV-@QIC_`yFtdK&YgKJ4<P9^!CK{qg!|OXm+5=bEB) zESD$l(?(+g)t2@zl~U9@?mnl<hdglas2Yt^TYA03UD`(7`jp@Ou4Ag}n+^~TxIZiA z|D16~wSeHt|Em1<k+}5Lit&Z)ttwjh50Pe)w*9^rK~0lB{$}cjc~PfnrjI+}k}Q|* zR9h=YNfWKF(T(Iz5LYfAq%sq!<a5-ObFPa&L%mO!Ir}f@=Vf>Aa-4Q~HB$6w2+Ur~ zuCISjKB|iObEYtE8-IJl_TG(}@-uU_Nrm?m9~As$G%&W#8vL9fLA8!Qu!qqBX)P^_ z>`#H2nSGv>S|eKGA0~P)#R|*l-q@Ks-5;U_k^Ya5xcjg7Ue_ysclO3W-Nx+4n^o_o ztW5a7+^tTNF1VBt-`BKRu^^^*df;R<DY^FY65KWT_jCO05Miptw7cN-)qAj4giA)} z58Dl^%4&|izER_p0PTdG(HGQPI&=I#zPI?9hR2;g4;9-z66}vW*ni|B^u<DzIhE3V zm)OS%{_(;6Z<-{nb7D2jIxKQyWVH5Uh~RnajWB`Yll!x2HwW&GyWPFze($$udeLli z!IS>mvv#w{uQlO0%-`Ar85;o`4@0h*xr*wY5x>zSHgdh(&1Sdd(u-&lH+}a9Tdt<V z!@hJ)btM?!&#!{*A4h+wn$PH89VMInfuC#1S%4SG_xFuhe_vS+9Jo90W}-K1wRk{J zCjL@fy*agXPtoBkYba_?%a(Zzt2L1mlD2?#ow!%-a!FUQDkEb$K*s-kQRR!lZ;Iwi z`9mIIKH=^uKQjeKJlq`ulF)KT&l&vtFh4-sq3U#UyZdd&Fp(7(k_qk8Zu7sT->Vwj zUxed~@fos};ktHT7fO~d{BABO1T5=1;y-38>a#na%U*!to`^lJ&A0BD-#KN?Y{(r8 z6o)<bN4t!k5!ruGn%})%cmb;Lp>|2@daK*Ic%SS*q0>N3k{~V5e5U@#WB)MK_w1>= zH^%1u>wPD*=f{`tUF{!K|KU`W*`fryU&L{8y}sX4m?+tC&a=31gOLBTqHlY_XTE_# z*`0fD;)FhP&7#xFA#-~F$*QaV;&qR;`)6o{lcU|p9%qlsY2g9yD_$9K8&t#z-&^aB zS&55XV}^>x&oeo0KYu@)9|*Hv)K}A%oI{9>ia$<^NON#-I<i!JCn4#HJ$^xj<DZ&s z?DKfFEPc$^C&b&uPeYGIESmLXRdCOC>Rs<iDhtb;|AG8lxow{rr0O*P-P_`iy}{uh z(5v72b(YT`y!iciXMjUkI!iYrl*ToFZ~GCZu)CYTH{2iFMyyJ8>bd-LO?$|-!OrXT z?|_eec&jpQRt3-U>)a`~4Kr~S*X3mB?2lx*m(f8X&UY*47PnYMieIitip>5_x{y@E zrN(z3Njxc%OAcYy%swx<CgZ=89;Udh6@AN7v8;Z{_pvLBMabV+E>N^<>h;T~trC8^ z1SNk7+O~c8V@bvJiPK#@+R00UVXeo})!FU$m_KyhH&k^iO#Jw!BU$u^%1=4>KFf^m ze@m+rX&YoqPU!BDuCazTKhh1auD9T3CO2%g{$0!A7WOSDZWUx-<^7Kb=JKYz_%~^x zQ|TAIFRsk%l~n(t`#`2<;E&RMlaTaZ9}Px4cD{zIZhU-@x_ZS+9!m=#+<Nz>YS`gd zQisg_2F2F?EdcEA4A({L@xr|JHcjP%;<xXgx_m#TY3Ir$QA7JEo7d;EM{r-+Ij>7* z4IJLaK8x&+r(yFdHdT%tcc}@uz&P&P7TEG0zr5{p#<lUd>w`1QFv%sG$Kk*3-!nO! zLa*Lq{GM6-o71y`+87E|7k_(sBh;z5=UkAzxOa=Ya#vc=(8^3_;rDZ&D5P7+tL{wo zck`7}(-|+K*(mo$gh#{d_Swt>gFnNqbAj5y#Sa)g@F8_(wC;`IUwcQnmZjC0xjZL> zXrKL~pU=;Y?~AAXUYcLFuX*r3Ls!WC{rGQ#sNj+o*Be9ri>72&?HW0(bfn_NN#|-U zxSOh^&jN8NbmPm6{hsSU1_h+@aw>Q8Ov7oN^IyMrPOy69cIiDRVVlc^YxT9v4qMB# z%8$A2hS#o1jnFhmyAK}~KYW<<=%Sp#n=QG(3*H6S22J}t-ume0jrRS`p8Hle{7>P( zALmoW)n3c_&!&pM)jX?HJGA_ld!o_1;8WSsz@Tp=qq?VVar-AJ(0~@SnWnkncKvE| z=}KOGO4~Kf8{z1$f0LICs>8m_{dj&bz8y|>dOb8c{`*JH(662uPp04I{npgr#Ekbj zv*TUUYvo%GuF2{R*^8OtAsSr?n;rL@z4p_Drd@8WZY(SM7RKFa#jhUtu9p_ySAh<F z2oM8SzCthS=*y8}$wHZZ4Lz|x$Hv$C^eMNzpYASx37Y@oWS%6p`$fF)8s7Wv^2+)3 z6o9HmPtTw+zd)MycI>D_+1%G}VY;CsJ^lwD{>nYvyDJ!QJnUcM#$xwL_tsrUFFjUV z=~k#uTK`sa(7lnR>%X7<z}2@0?H~T*sq9b_S+_ocLe$*ZX?NFeIqXui$@skvHH{Xn z@z0|qfMNnCtaifN9~*%KM)h|#tUEJZ_C?n9P>-1IwEK`6X3wzmt(5~!&e@>9=xO4e zfDbI8G5wUn_5b)%9w+@y6&iA}ab{8+l+bUtTtT}QV;X=9`GgYxv@`RkKE~>o_an#8 z`L2n2E+r=94q3EZw=b7#oj=GhNgdg%dlami5_nKGKI^o0`*%<GSCnM-&)I*rF+JBW z_u-9uHlx+?r(1+X4~9n`R#rE*E^)ufTIYY8EmYkdYF!I*O6RU-u#$J#Ae~Ugf{s<9 zlI)AwYstg=P$4K|VvTg_{+ROK_ZtV_URC~@ABQBerOs0{otN=SUwvcwcj_Owo`GFb zu$S6iq4*5{00pIx!#~zr%=)AsB<*$1?CgaJF?c5I4?Sr8>RNv2h{gQxw%=pp2^r#D z9_O0>wBG&q*MEGB2FpM17Yvd~j(>vT($<chq5tu5ei(06rGM8r{o#3PnChpArCh?4 z??z^BL&HhYlj+51bhuOXWBT&7-@%WD6L&?v`(SQ_GnfBXeX9H8;3idAJG(`50y<e1 zmZrOES%zesS{zaEzU5!sa;NyBpJPICH`IUm#-sHdw}szbHAQ}Dj$<k-%PYqpnXpe2 zz>gQ)e~vuPJaf)2BflTBvY=Uc`j}_k%iqa!0r71%?hc*ljl*a2e?KEnXu>Hsnb)K` zE95}i_YAl{&M%ej^MCt0vXNP}pRis~@_W^~zMwwr$<J6;*aJp)sQuRJ;jyh74C@~K zf>l?A-Fo-l%p3hTA6u>`UEf-}zn-M{zSDjlRrpz7Z_nI+`(IP9HoD}@UU*YD`X4PF zXabE?;piOjPo=1Aa_)?(-I1KHD8T#H_n;X;yPC~2XZ1G5OWuxlk(``d9PUcKh_2Jr zaXTOEUkrcvBxq1%Xnj@V((3D9vOmctg#-7_`$dTrW?X`GN$GT4drxv474#W7&D}~% z&r{NxDu0|%(KqP<Qy=$#5f=FAi_V9Gxw{YU#z)$BK2Lv^rlqfUHlWMh^PidSmEjJ- zmf9}G3ngb)RRwpK1V@J-Z&KDX<3d`$zB>DY=}{2oG}mx#kD}TfM&BSU)YJ1k8k~kh zXP)nHL+c$_f7q>;Hd^CHcPfV7>UF6)l<Y=JZd&?WemCWmL1xx|`>T|(qx(h6U8-X? zbtZ3A7ujU^9DWw2x?uPppVx3u&&wYpyTv}Q!_Iy987`K$R@U*&``%X9Kx159x`S5# zU4w`Jio4rm-#4<!9sLjU9ZQ;rCs%y7zlUl*EWhSo>60<CmD&9(AMgL-59{KLUru(% z($2NPlpBtye>2hUc3(u2H)X>U7nyhLMS{tW4N@n(&d;FxZUj)w)bGL#dUvWGhg;>h zxp=u<35u<`Za2JpIrGOwSL7W?nC8}hd@q6wl0w|Sx<b+Q75&7X$GN5(rK-OVZ&sl_ ztAE|+anr${g>XTWvb};uugv4SY2Ow%4NOAg=C6=4(k5LG@5h#Jrb{&2xCbrlpP5n3 zY*=4kc75GbyVB|q&3u??^F59hh@qcN2y>1u-%};}q+IWtnex$(-O4<-8~=9atKMS% z!Ts-|TEsL@n_GT+ZyqEcbVa*6p~I{^&y;+)^AG-!yJo<<Z*5<O7YnZG#9jhB$10lX z%(2r>aW_EYH{I9P3cZ!R?{1HDeX9NXzTsAR?e3-V+n-y1(z9z`6mY=nrA0$OEYeI~ z^%?mjc-L!xoBy>tx)M!#m3e&c$TTZcVgEDzETm~=yQD{`v#s7_xw-)|%0hg6_voWU z==<V7HG4VpKg2phJGC}O^}Pp|KTNQeG7W-U^B-znoiM446N-K}fz8>`O;y!yAH?t3 zM~9x<d69H-qpJ7A2>qg3s<b8{=uDCY8igi5pYjWy4znIuKk!a1SqLf|o2+YaNgDav zc_w^fRM)xRqIfaWy;)3h#lZ$XaP}W|m6^r0dE)tUhcRnitJ%SDgRnnt?LF6=7Vg~3 ziaU5NOV+=*m3Af-Q-erJxL<!#-2CO&u#v)>MdknT>Hq2WduFL~blj>UhZ>5wSmC%E z27A2#Ur=obo7l^&4Ppl`;g-AM0o>9u_w}DoKl=WD;NG-NJSa?hw{tdP|HsPx02+Q; z1>&V|zw5o0_AJvnA3Q5g^V_rj7Ir2*Ao7nvk4zY-{h*OMWq;zYwl*^@s(jnxpYRJ& z`#$1bYb9a-L)BM@HTk`94-BM41wlbVK)OdrBOwe4DJkg~jdYGs5Gm;x-QA;8Q94G~ z2$dKkg>A%O`0o3AulJAlxvuTHo@eJdJLf+4IeYfGKj(AziRJ%YEAR1a8@KkImiBD_ zB4w=AR5k8VwlCNVdz^-&Q$jNN*Y23k+nL%p_M+pC!ZU=d<SRSs{|rl%Wx1lOMVFk` z&qP`R$kuxDz|?}&lW-54%%2v0k$E5UKJ}HX{K9lTTYxhUMfit!*g?d3MO$8?fMss5 z%No6A{VsCjyj$sKtLW#3e=I7xXLkItwd*xI>E2E*SjJW`B<Yk&3v*b?455h$KFDVu zyqaun+s<!9o#)G42bE-FGL}S{rTzUv1F*|Xl>4o^y{xD1b&%Nl(o3Jge3X1L)<Vy> zYf{fjhSUtV_`{-n$t7bZr&s5qDFt<qTlaAf_FN8abve?G8$J8P7Ja$_+sS8}aCf=V zU4vJrc-!k;Mp-D2_myQ{w2rM-1h159^Y$>xte^PXxgU!@YClN;v1;1JWM*@x@%*th zX0lsfQ0|dqlXtBeL5k%C&FVll?&uVL8d55+9o3qZ2JOR6pcH1sX1CxkOeS1?#{|DL zLpf)>o_0sNWvj+)m<9hf++WUOkd$26*>B4;4E-6BWEA{@*36Fo*(&%=z2@cBiv!aj zN8pzAr9;h)I9C2`_sM}_DlTgIAK<BfT0%FTG&^@I??os6#c3bI{66@`gQ`$=_8_q5 zb=WrK!P56~xc%StJ5>CAzmG4pjVsU-sypD>E*|`gH0qb?tJk0;+&_Ry&E-FU4s$=m z3#DZtp|b42tWq?!Q?iFPD+1e{{Z>U?1_fK>T-{x$zEjp+I9dH9$#XfuybF8L>-XyQ zNF$74C1Y>vE8`&>GWg`&?C`)rXr{jM7s3XE<2D}0&zI+{tuMU_FRLuUY-kOhlowAc z?^6+!2>ODDD6sZnlPlK179D$6%h45odx^#Fl)OPruf~wbwv!%FY3AAe1UT24qeD~Y zxJHjwmER<!M*{3NkQEQ9NB8B*+RSxaN0P8%&SyjO0~+^)<nqv{8#XL>dPDXXevI_; zxC}3QB4{<U$4lT{d_>$zJ(Xuqz-ou9eDag08ttE~_c^e5IaIrD{Kx(Gz8v@xjCuDg zLFuAx>Cg7{=CRFbYVGIGy>}Ddq(*iPfx6M!_tyez&7uke4*KM?4>OF(##Y`dBUatN z?3Lij7d2zjkj+^{hOb&OhEyHtHO4Z{E%K><JG(feVeC8m3K%uYp=EcW8_*u^nZ7h) zQj)(6#`a;|kLJVXTW7(l#}Zjv&3T27#(GJFm1^o+=6#z-0?c|AY;@>%>YsM>d~<ME z#!A#)=gzR5cI3vlWe2)bDGprY8&_S+e^iR)<uCqmS6p=qu?pW@$+yRS`n5;D;dCYc zvrFx=Z9mlOVgm)w4`IVm9cx4Jd)jlMa_fOq<s1Ixlc6FP=Tqx_QN2hx{gk}3KH;-^ zi%T%G5-R;d8ntfm*L`XIJeTRy31_FBH<Kwg9kCT{5^taq@);?SzTuJabs&JGHi*|L zeN)iTr=ag?uYb-Un*YxO*+pIqCp6=*@v_$T*|rbTaB^;G!I7DKWaoQ(*|bHg-FrR_ z(qxHwyd&mB#=dy^tXK2?pQ~3%8SB;N2=X`;`6oBfA^09Y%-j@ZUMt+_@zmrWKy6e7 z6SR651%LVvpcM(x_5vlX>n?xw`Jn?@sjmxsu|6~*OG{F^=_$v!cT-$o??m3U*Ihqy zF1NiED&#RCJ=5EGY4I3yj*z2Mv9UQBT38Y+?A5#sIt-B6=fI!;UNphG!>$A3Mz7ys z&)#jmVKUx|Z%crD!ca|yNSLBBm>fGsZvybz$3S${^bH*j9x4w^Jgd+3q@RG;^42Yn z@3fU^rPH!4%i2ekeQ>KZaM9MOt{Bk$#l^6<Ff<b!u@*>`jXY0cxAdN;oH`KruyR*_ zN*nIN%jZ&h(7llVNPw>3HFBLvD!E*<<@9=caPo@xZZNs!h7Ow7Shv-fnasRn>&XNG zRvIopq<gX982`I?aY}l-%UN4FTyy2IdxJl|+l)h?=_<5jgu=CV@B9&5VRv1g|2<x0 zBo)dn8j^Brn=sq4QhoQ(qgkER%=$wcHwoH|z^5DVzEZj7>znHHe3rGtV8jMj*XmJk z%*D|B&Fcw>>93F<@7GKIjs+OT;4{uGzWi>I?y<;U4<>E6N*2?8-&b`liDRt(7)(9) zd;7Po9em+K<d?%#_?u0J1u>{;r-olGEFtCl`JipUr5R%n)l^<k@sj@#Be+8Ma-yuR z2~H)|y6--ipEEwO?wLL1=-RoejgITJKQ)EObBp<)SEL0M%h9Vh$0`!(<q7#4XG4J@ zB+~<Mci`V@i=u8r?#j-Dh0f8T2zvjJG{`IRpVAl%&q2?6h+kR27KuY(z+mw#19B1j z$!2$n5Lh}p5XfUP{eDw1fK%Zxm*>5=uH(~%wIDsoua@%~30O4~8=4KZIEzdiy2fr> zl=M+JZ3WOGmSn(-VD;H)?8r_q!ycYe98JgDCe8SI?3ae$;!S-*(hg4EbTU{e`s%#q z*-gsxJpvn6I%|XPY;&Q9zrAMtY!4i)Jrwe=$Z*zY#U=O1+&7u<oF}4!Q@>)%M1RdW zz$;S7s^%;l;ptt$Nsg>;=!NB&h$6=WFNqsdaxZbQ&sT7-#~n8(yO3i_FLG`20f^g` zSQZ+tvxFGMQ4Py^FZ9EYPULE--I*t?|1Mu(t@9nOUGQvw4TT{*gP+PX^);5CnZ5fc zx03P-x!4&hc*ZL)G=7AoE_Q*nb7;+YHo0+RLmnpcJa=%q&X|`q9cYx2_qYt23T7&! z-9N^c=WaG&ZWwxT)stM;?%=i&!awp9rPSOnm%Mi8787!_#b`)<Q9x~9$z>aobNL6v z5xnz3F7o2XPX3gvJN;;709^O7eir-Ii@MEp<4sCkLx(U=cgC;x@BUaUGDV?FT~AUh z-V`LH!UNN<h_;`0T*7Tv&PP$Zja`h*QhZ!f?wF-MxzYFQmu3F|J~?ftoy?kvlDN>= zR|z1qjFrF^{X9QRzRZ>E4s5(TVZMjM0%Gym=D27<b0kRMYI@gUzgv4cxXP~BO5a`- z&9PIyEirG_F*gNjJdT=hsek}yWz<}m_1cEPtbyVQPBO1m@>5rFz7{hX6AcjSP1(|_ z`cJ!gY^~F_t|4xCqQ4Y^4VE`<7%JN<i93J1D)EB9AbmZq!H*XD{{b{n9j0;d38gm{ zcmvFR;H^&>_y??f29~MvFJ}_|JbcL{Gx0+x6(sxU^kR5;s19+lR^Kvks!krNSl)`Y zu$%nd>@S}NY`Ve^9U05BVO;NE;*dY}x&m&{ZydLlR@N79GD<homURMN{|J(o*h$8d z`502s&3wQlun;hMKPGLu1=wE;a73hqDYZ80DP!%s@~2AMZs$RKZmNA1&bvS{8Xyd2 zIfds{HOL#lx>s(Z@Q*h6RTy4bsl1V9+zZjG9KuOt;oDBu<OJ$hE9xPJKRHlcEBf03 z7N@<2=4M`@X!o8#`FJ-`IaOqrp!VP^jEf3MrA<|!1(n3|mAL#j*)ECjpAcl{rD;I% z>a{BR>>ptNeR}Ybe^8{%SE;4^?2Q0N7)|d}RKC^e-%zEWA+C6a!<E(6h41ZxaOQ&E z#`4Z8*vRSTZZ9PAoKij!$r3Q=z8DgXxIC7JoCu~#Ppsi1Tf2_oVhvD+(OyCOzk5QN zJnH`dwo}Ho{;1~mdUlMfIDE_ryBa*Zz%QdZbK2=3=iIose|;=nd8i7T^}nsjobL<~ ziODc{wVS&5(%IElHx`abm>~>+z<SfV3iDJ5xdk})(9goWaNqea6HLrM9Gk_^nVD(U z>)RhIW{Oy?_B}dfYV(^F&V9O@=kyO?FlZw&-R(Rp%S&0<`16m4`Gn1uT$|}S!DqKE zf?C0$d2%p}c2?sJTrX-4|LNB<v+3-00{YAOKY%^@qBlMnJ6&9GrcLpexi;uemkl?w z^gLerHx=NDB%^K%qKF1wHrky{o{zPx!CL2@%D;{OweiYq8ob|aI*BJa45~@1ufI;% zq-&A|9tebh#)xzd<WR1eXsY|0&JvTS`a$kRje&yH*(FQJ?je=kg&PpvM(~jIZf61@ zrCc8v<Zvj%FeNoI<be0vakxp#pTw2wAi&t9?U{`o;8E?uuOp0+B-AKd+G*Du@%usw z5!Ce$AljUNzkh!Wq8Ji7eri4$XaPQbGQLq`*{stV^duO<O!u(_OBcYjV*q~E)?<B+ zl`~Dpz+Z3bK{h+{spfHcWGjd~g3->w@oh;_P`{4Cp?wymv-q~itK0to3AMc;S5$}_ zzllJ266EE+h1mQh6L`JMK1kQ+k`8t3$P5iZqg)!N4=|y5Ar?m)O72{{=Tlq_3)0ns zi8on>%|`zKFHd5rs(UgRB!oAwn_aP&;vHEpm-e-&u$l%;yzY?$JFfWRsbJ4{fo6}( zV1gE?m2NGY`BRLPs%@hb|AH@jbv)HXzS=?`Y18xtzhJ#bbPrmkfj*!2D=H<wU+@{S zT-VwS#U=ZF-JpxGs5AF(Hv0_;y1Iin?UWubK@4+TnlC~aW%jMYFlsOH%%u+8A>LOB zk9Ta=f&*u=&|?trL@PoQ8Ep`dP_&E^Z4NO&nFk<yr)Od<cqe%AL9!8z)5-;Kw;qnG z9c|Om>j|8m4#}$%)u#E&whd;M9~+k$J%NLv1KmSJXX`2ao4Br;<M9pKEA7Dzp__;g zRXTX>ZSC~l#s$oZ^ND#p?Pk9pOi1qOVe8HJ?RLI@fX}bj@WQs^@GKMauK7k>{8^B2 zR+95h$b?ySF7kp|0&DSV883Tk=Vrb*-~H(Y&*-A@EJOUUpJu3Id_rsA1OnKWdUeMz z_k86@M(^_qufz?t;448rB)#ixzS6sh$4a|Wg3>G2=Xrj6mpt8s<q?z=^}DR1JwAGQ zi4S|1VYPJU%xIi)k|Zb}M}q7`qweMp^tM+1v^cu%;@*>J&S27u#%+*%M5^>fZOnD= z^i4H{knSU*R?gvsUlb!5bLOcX|ACvb*$p{&^gb02&TI9?FCKl~KJ!OBZ+ScYS+i8W z@+DF@`|6e*a)~xj`y*0b<3nhA-o%+<wj+8n;c^4hRtt0K{I<IC_XOl@@QZ=}P1SBb zx;GSbu3{IJe_5A2gP!W%x9fl}8tloYY~%22&CINqxX@{a#UN*ys8LADUPAP#(S~AF z^US4eaMoIG_nTg03zbs@xgeYG=c_j-$8&9=z#wnlBkXdIsB_G!K)Hw6*4y)W@AYgt zI+QstCeA$Meap>bP0U)tClyRpycumMcWd476*$)Oe6+dy@^U%}OU0Q#WVm^gzm8Uw z7{|YnO~yWDay+(>wvweCqi(KStujj&sh^eEAH{aM+oG#C9-LVy{B;hDcRijk`5c&_ z{;Y5GX7ivmz_mQh`PyQyFH&v+Z3@a=?nJ}W<Z92dYtorw!KcXSKG*A4CmD-OYhKWV z<_iS8cWC~SQ}Au1ufzphq-CLAc>AbVHCpiUI7+a$=9KAWt1$K^`_JM+QZr^@5vpF@ zLkrx_XS{0Tu3lLD^ZNi3^qwj$@H1HkAuc9_o4{|4QyjlR6P`uKV(R71ZI0gM%dT8a zvi^8p(6X;mP+Gj=Uxt|7y_V4Kn3^*)ux(kl>%#ExF-8^nyHYS$gxED<UeX70-$)$# z^T74c%p!9~i=`KzITwO)A@}WWRF{G?rtj0uyZGUlMTZZrgOm>P$lL2jb#QLl9+10j zUsdN}m$>WvsrHp8(%SDX`ZE^J{Wr)Fe?lS>UhV$_FziCmNaljG5U<9Q(5f4`8eDQO z$3MVG4-l!*Hf>&UZ2@&`S|>kKo$1SH7YxNQEC+*C^aw%7w7hV1c@-5XUI(Qc47;=E z7vdF#lNj{QOhXTqTJ|9J<moP8vv_g2*#Pvy<W1LHFta1rCv(O3)FQFx)}EMlLG}3h z1rp}A8@#^=oR<C>Yi!)z*!0cmY6vzESSQHM#(C%+kkwP`u0cbkcx*F7)m1fyd(7r> zWhUQXarxLi0+*46>T$f$gS-FsefJWT(|n$JY+QSqEhiqZwyp=4mD=|*`z4n`Fn!gp ziz8SU-w^-Vk97In9E(uF(ZyXs-nw>G$fSKpad{@X5Ao+O+F91#?XK&3+a}%{-z#ya z7h+L9qqE-|gw;IrBfzsGr{~N0JOM*<(t%pNju`g=^UCAExcW5ff=wiTVta$+2$OfY zx7OVRhWD1%Ok4l$EiasEt<$u75$f!o4+)g0@UQKg$bW5peSUNdl~ZI0eUGioGd;{H z{W}uKR^bTAevZ~ox<ZyM_ixi?8+^jF<1F&r@z#B9NrB=dZLI-6&Mx{4Puwo+iyO># zoqG(&u)S=YD?)S2%&NuH>MQ;hb+%1@fw-$LxmU|xRSN-kt2GUNA^6L~0&g7AeoUba z(eGF5EBw&0?q*d(Iu8D37e`$~Z7%~E-E8K#Y3t{%ugEd%F)nEwWP2RbZ$@2Ml#9;d z>TdP44EoN*aI9|tQ?cQvB;}x0Yd#4J;lR*#+Yc6o{@~PumUy`5-@dk9_4dULIGV}| zYY`uk3Pp9mY3w*ZL6R_iJ45+bNAAuTRp?+(V*;wz${-x8W}ae(e9Ejk5J;7Yqx%%3 z950_{c0Iq>Ta6}Z@gIs-?Yhd)F+kFFEeY>9cOwk4vGO99Bs!S8=}1aH736xGl^O4R z2-P`$&_a9jdei8tEpmL`+#a?fCk>b0*et}kr#S#`0uIdOIp0(llrIkyVB>6L>AR%W zM&;EThZ%=H1#)y|-&-pm?o$o8=~b=)S8a;qMT1f$Oe&?F=($b!CP=~#>bp0%Q5{{i z>=46pe|YZjjFUH`Lz4;r{ENqerHUn|@|8ly)zW4hoCf*dRs+*@GxU7EjBCOwQ+DO0 z4)IxEKaKl6<;$N+OXj|Ytpo$tJTB^0-3vW0XLrfrsu`#CZT`+7J(D+{L7c664iLfL z`9=J)#4EGoB<X~~cNT@#8Yok|IO>}`!b`MedR-z>l!jvo)u)?vSE})CiTmd?`lsbP zzKa=sgiUi;^9(PgSPY!I8fzwg_Xs|Qr!(AIulybCgT1O!o9>~a%bcE=yo5JeV;Hg5 zGGK7_(zG0GM&=)YWOrHcReZ~^)w#PJb0NH@#!j%n)E<cGWX{5iaL(c^M9^kh_uK3? zMy^nJRiedwW|g7cvg^pBB|c*8vl^;bDC7MN+3n}%xU<;^inTsxxJ22!TeS?yzKdYu z)noU<%Y`39ZI=mFKYrmw;AUG)u7$;@-PEQY=RtID(B9u>sB`@5z*)hsXEg%gDN&&h zhH^XH_&3|t@br*>fVpe;KcN=OZ-e|sIxNar-DN}Jr|T+ovrSzUPomA2HZtTs*PX@? zSm$shIU>x?*u;r%uhpkc+^4eGTcuO_D(&^PGl8$QH)YPJ0?Xbyxm=ek?FLayFqMzV zD#GF5saNf*m)k9OKhc$=DShFSJz~AV6?iacY^-)N&@bnxG~jGG>siTKsSEezGE?NV zzYCSYvOTAbNZ^JP#;h%Jw>hZq8FJPx`!wI7@LVv?9j|Rj$L(A{cy%Q4UFH$e>d`XV z_E-1L>y#DoZgk5OKf6%?UGX6>MDvKJN+4@dCV0%fI-B{2SXSk_k_F0~XkX%7GSvN& z?ybb!V>y-GkZ`l6-=8<Oy7#9<Vcqg5XHqPEe!{l(P3KVXL?13_46ipS2f|tZ11wfT z*dFH$>sSOX%CmH(2~IW4bX?%;&Y3sL!yxii=)h$<$-R8#ij?ZnKn{7Ut?|}noJ7>M z-SK+y<K?TYTHEaL$XbnTT!JFHn-;Aacg8H4kdyQg<IcCV=vLn(%CxrA<|`GPD=W>* zRgSwO?niZWdFXqY=QH{-#V#GODc1VT`*QbM1jymy48%d^1snXMz64T52hr{<BB>~G zZPwk|UX|e(dH2j-W7I)MMs6q+{9&y{4$)~`GvGb(u5Z%Tr7}1Q)!oXSwadSs<6b_G zu)mfY0@If3WE~>9AYMOMH;&-xb64fbSN88(ytB9SVhvq4*Vj-ji+POA<tL%ly$p4@ zMa>>Gb83&o6gE5Sic3G6UckW9Gd)+PYX(9`?z%}|`&cRzp0656CkQ>4cA1dH<m#gH zji;vrEco3UX0HQ~@>;W?G|j>DzE%T;{#`^ZTF~WmZz)|6mYW~EN|~p7cN!t(!rZDj za)!wlEsqLlIn{n$|70}(RR_8*<P&o4-0+GAM18%uF7xBz@w(wHL_;87U+KkSZNSm} z)8k2e#wdhJ=N3{jtKMt)QZN(3Mz!~aS?rgk$utr>8;rh{l~#TRSMlYfe52VjHvlby zU8bPM(>=Y=1X9Zn@7CUwypb8}Bj06mDQ!*k_+ratZ`0$2Q8-diuc4-3VciDUwtV;x zkhbZQHx{`#h{+KTos;D}ot?f(-40Owd?rYH&PP(MJ0e&7YAXa0QHcrV>$7F3IgfN& z$Y|ckzxj;eqZ%>a++%Vt8gmg9O*heO<s?eOkr;1nP~$eHLf$WXI0?u)J8nxkRdWf6 zF=hPD>Xy$4l*>i0Mg1_B%9!DD<@nPB<ZppHd1Q9TC1l0dPT~^c%pGC9Pxlz&zS4OF zEEK^Elhzc<VHJa>e(QUVr&$RPr*&QvTn>43f!C9nQGK>uo*0BWcXB5lb8~PF?(!L% z^bqsS=<Vq?a+euD?OogUHZSBIIQLnJGh2Xk9_RV_u8;g)ZRs`R)V@_FF)#FFqe#vS zr~4JY7>v%LJkGTBO=&bSd3n=;7Ec}uS?hzZcQsy8W0=Qo?&5$`ZA&D9wp6)iaE$sg zABM2Q`-^^{&vA<Wl||N`)uommN|0j;anaWjXb5K(JA(Yl*36qW5BQugUDrJgJ@%iv zK13%hUDV1$9Xd2B&Nle4D+ky7cSWwIWTHZmMzvUci*E*8#$s05K)oB9aojwKvpEGi zS;&)nRn{(FG6%iSEw%dxFbU{%%?kvejTY#6YCe}w^t?9z%$&FG2}4H{Sn>gPs0u{d zkn%wY%SOanq}EWpU*7coAAN;_1*@i3j{O;*q?7dk9coujy=|u4UHO-R?$5sd*(CXh zrHG&KtNZg3B`mhM$YfQRC?q{5sE(%ZG5_&ZsUC`wH5_oS5AIuI4TkS^mZ_EH+M$-I z-V6m#A3t#6B<~X~n8MZWAb&XH+2A3Gmn-E{?Y1o6@^=}p%WoauKsZ&ldt0wb;2rQ+ zXUw3e=)QyiA7kP=)y|)nM^St3xwYM~i=4`1xH8zt`BTP2Il+vYnK87qtT@nsO?4*( z(ks|xw|GxFho3)()F0AJz`s?Si|kE7HRC%S<P>swMJqU46S8#~$JTY((%#>@U4pDp zeq)7a32gA)?zYul1za&@UM0rD1@1pordi$9RNa5{8h1A&t15SK{z)8IOuoGCj~Alv z7Uq2FSQa=Oc=j79PMf^F|6vyQ<`i!Bc|&eGaL|itNZCa?0IyZ=xS1U&FNagf7rT-u z_+95D`s6T*Q9C*a@Ao1!skkZD57o3E+$W!NZcz}Tz3hR}7OI%EaIt!Q+B17$^vg#~ ziEjIuuZ8NWe^j&G)0T0B!5$tsc)fuTYSD$!OU`$L5yDyA{=qk~0miU?O#_|gwQEHD zp$uM{bH=k_=)g0@@x_|fskVoaYg@9D#KhRt%vC7-{OqZ7C$rU0TkhH;Z>Hxq$L3El ztrm3EQ{Ri`_hjDf6L}pp8-emniwbb=qt;F>(zzd!pq-uVq93}?;a0t$sB#@kd}r$C zuL+?8;`ijSy}*XfcKyZd;64pAd~<NiA$BO%9DfJdSoEQN>es1%sQ0*EX~M1f@&Nb3 z^}%>~B7>s2ePD0Wv#C+^v%KTpy&nd@LR2a+J^koDmD<^fzuabizAa6`R){AZnvAaI z8PuN+4{6u+cC)YJv89X_CHptBZP<FLp2-!andhKzk|`Q8CKHmWAWb0bWnEsb4!XYV z(Bqs|ux{GU(!srn5h$LBZ4PX^SS+<~^$W2IYA8rai_Ttgmof1x&<)U98JoV2;%?4w zuNu*sv64Q<du_utPG#!`Uw>}fX0{s*{Ot4)OQqeDg{xa3znrJZ)R1F~eEldq_3Y)b z>IDArP6*I-%;C&YFvK5|Z&OuZ*0r^x5%L;t<rtB+yA&881J#L+YMctFuL1ANa!j`$ zK53S`j=eMwI{pfQq`+-uf$(csX$ihYkgj|_5O{I9b0)VZnBH$+Z&H47XqMYcZ8iI} zGIyKyUGMR>uQ;r8Ub*x<cxa%vqqiqR1({_$TXk544!SX}>RD=t58wtjt;qskpwEk( zJX;?$yV?i!wJlgVvl`-*M{hc0j&Ntl{CFpxLw=yAN46}7?~u|juVb0~DK6iTv_&MI zV_}AhDeGAIQg!Vw{rKc9a68%valP)Q&HN6t##F`V>Kk)af6p9}_$@}pKwmuz!QG`v zU|h0KW<0RJ(uc@U^vG9Uy5c8&Vd*IhVDE!m!x~%X8oPIfTdjPHTVfZ|_|gdhrp48s z{O#`98kuv=&ePzwvMVeH|8kyTJ6zS5>JAFw;)QO&_BKZUMEqD(+73XzW#5>CXMB`+ zs_J{rQ$4D_|D_Qe1fB?$53<AXi}J`S_mHHz?eB`}cAxYJbWQY>^_;p*V&M|#_-vT4 z;2E^uX$<T~bNTgnB2a%--mE<N(5baSM)wfWNj7<@w4dkdy!X=mC5EComXv8E@~2xN zTAD&&aVbRj{FofG;tqvv7zP|yBXa{(2{{a&5wa}&m&4%yWiS8$hyg^m2uTb`?)@)? z0r3OECqF#Y9yHNDvc8=NBqyWQ=%-*M{x%L}ht4M3CM!>lh=5YM*eA!6y+?9IX!@Zd zil`KJDEn?#`9oViE`liIuyKS6+3oKPLZ66f!bQAulAkMcB_`9PaCk?uk8pz6Cr2V9 zIY5M3*i)p7j%II(JOFWcbBkEo)9`W83tQ3B(vXrVPo^Y;*pt<sLX+(^a@kWlH6}-( zA~Yi+T9NF~X!_&AWMK_%AO}GgpX_$33qQlXhUZpl)KVb!cy>j_6yk^Wiiu^uTG3J< zXtI^P1{B!DVXt)n+L+3`{VMJinXg)k5PN@wk%F?`>qux~8Hhb6SviuO@7^mGn*L<4 z7HC-4c3AhJ2M7o&fzC>IVk{rn+uqX!<*oq=KoQCcgzoW0k_r(r4kRll7TQ0&%|#6) zmjbOW&yd(AHrZQ&IIR^kp`4+r5ABI;xr{lLGu7V45?c}7o-VZIW{)J;D2YA7=m|9$ zK+TvvSu}beSxxV`BHxHK!8%a+(l3Jw_ujHY*H(=-Kd6h-It&QiD^vW>9KOoQG!(3) z<oDP~*^@m%voLn<!~(TPbfBps#r#>ovpZpL%RmggJ_GFcUI8hrBUH%Q6HAf_%D7~T z-y$9~kSUI^r!<zJk`)q5_`Z!0E2l`&+$8shM<{=1Pgdb&(Wa;A?`Iw7V;x69$w0!< zq|eoqjZ}z<K#}Z|DP1KgBKEd?;hB2m>?roho39k#_)?@fw6vmUK*Y2jmNcZ1<S!f8 zlj(Y1J)%juB@!PQ@#uCWdo(*?Yx%IQ2E}-$F;rU0`zDN!H8MrY_Dk;eOTCg|6%m?n zav%q-y&{wYB&EgIpLnl{NX;0^{zb1z?Lk8qdw)MPQy0Xpy+%$h1S4p{Zyk-SO_fAS zsp;K=iO`I5LsMWS2g$a@U|LICZYZZ>vLfLcu?9Dp6=CpT)V}@WTt<u{S|}-yl*ZA) zK`vAX1|+j5_>PnYY6kQiln886Otwudqa{*=rhF;s?@#ts9L})pAMYRM=JeGXpBxw1 z8CM>eeNGbzz1L}PJF*6Zm4i4z&%L4SImRjXzI?Q|9S+Yl4v&t0Zo6MYtMP4|J32+m zN@KcF%9{f<Lo>+-1#;L9gQVF}Gg?O|5v@srM~`PJ7?X==pzbxh46iMJe=+x^@S(k$ zt}PTA@x*M#BY>LyzghNNO&6?z%9Sqn^M=lVLF^-$de3R??ZH~mdoeW1E=S|CthZUm z$DxVIckLfMR31rAVuz-%Cxf6s!pxEa&31xjw7A)GbD@zO_Vx-XU4>S*NzfwUJ5xfR zfFiUS{QNO|Ji-q(lGRdRgccI+gF*?-n?$igSCefcIkgTV^vdiN*##VDh}4x5S4-?E zn~8^YZ;$guZfZXHQo_9){h;t6=n-hi7#g|Ep_NibbA;lw9nPhe{=y!e_z^TQGFuW? zni!Wd(7=+ZOJZeD!=*qJ8O~uV;8JX5<?RS$=L^##=kSg*X5WHNbro@n9#KH0E0)<y zMYXo#RzO;cpk^a#k%u5anf(I*k;1S_<Vd0rjFZ#DHuByrz<+a7N(+=CEae3h{gWsY z4JfkXmgJ^X`*S+NTL=+~n`&<;v$E|M{_>N!zn?EzgEdn}l7r?CD={TK2w0|-%uWi- zPI@{HCGSdB{P_pTCi!&uS5i(1J8oJL&K66~{!Nki`;-1*8^vLjIBN1HPBmQx;)eyc zlanb@AQpQqdsX(&yN_5|Y5f$+L}LuShf~ylogU8FtFXp_1|nIko@5DGkvz1g)gY`| zs9P|hIBS;Mxl`pD(S$W;i%l|qHf(su@f$RJi&OPEhbqf!0uk)MhM|LoV=`0M{?5II zhS)G5na4vAr)NAc_TCo?>zruvWLu4U4>}&^Y(Y04B~C0SD=5BBEje)KiFuh>vT^U5 zZtCr6pfLL_YBGD<Z=}#nm1M15m1J7Q=~(hC4lj_jNIV&906Y7){?lPKV<0SA%G1jW z$hEiNShfgwK$4c3lvu2$e1}XU@uNMFrD95<cOsb;3*Buk$C0&{lJ{c#JQH)Q?(#lr zC${&q_I+xWvz7k3UcJIJTT$2{vxJsSGV-BN#ZSHVPK|q3mTE@2YLSU0k?gmB+CAsA zk1JCk-W|?+6#+OH4l`%piVFjAaF?f5=$F!<Ey8bc>uZX_33Fr$NG<Z3j}^c&5}Cq& zFsvhE&lkO}o5m6!Df-z`@HzEpVKhke3&7f%+m3}Oes=gwJ;K1sQ2Dil-&@&OVuyj~ z<+Y`U4{t?Se(Q%ugiC+a$R#S^9@!RAm{z4w5^dEI6IR<fA<j~|`-L^em`|fP&iS1l zm*BHUsRk;M5$bBZj9tR9DXiWx{?_0opH*w?_{imm$oTJHs9_ZDGBdJK!o*Ig{UA;l z3&o6@V|a{><&$r0k~L~Xw|%OB`ut*y2yI$Rp_p_N@Ad7(IOyExTVi1!Ia+;Eh&>+q z(pb+lG#3=B^K1qxFwogP%+feWo@x{wGA@;jj!e?{M!{t)`|;~b>+qL0CL5zMgP-6g zsn$QNO=yZc9I6XdMYl;c`NUXZve)g#x%Wg}&>Y@b-qqzXB|zh9%DjJof}cC=`J6ni zrnG^2TYEjwQ6sb5IgiF{MNX+NtY7)bdGj+$wqY32?Yx@j3@V~?TzAIY-w7of*J@13 zE=-ooe)+Azr(!P5nzmf5?Pgy!jJAxe*uA`#ci!i@beD8W_r`NX1bzB3^K~Ba&WS5` zkZg!|Da@cC{3CT+o1C7-wgbv6Pos<P;kzJF$H!wHdf~N3@AxZTuR@JymH`jH*gFt9 zJYl>Ib9o*ut8TXk(K5`%W%$33N-PyD@JX^<g#U)^Z}jTXun6AK&9iT~o%h7%`L5zb z^3#qS{A2#Ny??*!tmitXm^jhQU$vAr@@e{<az9R^_|QK)oRS#f^hAH5oU53Az8Hpr zxXGuT$^9r!+Uj`IaEwI<#I?VC7Czm5OHzf=!64g)o%Z1IJw<MQ45j&IdOcg(%kA1L z6?2}*J3MWC%gMdoCUjQho~n<}$4cI<kR>XYbncoJ#<9})?j&<itiaahQ4JkIH+_q9 zzb;1t>kxV*lQ#9^hP<s2E@|`)<x{z!6!HGTdt;$CZ<qy@e-vzeaLE(HUwJOZspq+} zb%czIR_AVh{@FaFt`2=(W;937Eyn(&*dvBD?uFz|Ui*-Gcb1o^vWeM1uj=Q%X+P5^ zIkhrIMx**O@Hi?4)46#Ub!y|UT=niQw1R9sm6bM0o6Ukhgs{MckH*!Tc8swL`%NFe z|D^sIsCr+Ma%h_;({!mwh(giDQjaE*{cXi2uLL#7?McZt>jolU7YN@eNH<!sq~zO{ zgYb6ds@dDUde|-DC%8I|?!>=4>ZAVV?BrlDamcr$pS9*PJ{{z%C~bSoyczbs<E`b` zYUx;fyYKJu_~N>S8a3td)HwF>?=k~6iotRg5~_ZlbD~&B^aqnhUG7xr#@ojFHEa8| zXtA%Qj_i5(!?Nuo6b8>ph0GOtjO%I@0lGLci3h#oO*bL`Zjxp_HS1#M7C#=>m2R0_ zE2Pu!%fFN*^~;l?^2zTqI$K!1J14XlY+*g{J~q9f8g5_e_oB1$Pu=Gso%*4vPJLdJ z+2loSRS6eyT%Kvn%8sFuo}Vh+eI&?_{4Q5<pSR=PNHySww(k89UQhiASrFUjNUjv6 z7gr*p2479p`oE2tr#Ub3J2KsOX?Q>1Wq22o^F>|FGOTo&V#L{^V2wm+z^=NLOKG}N zDzm{?6w}ryN&jrSX9eOj8Oo+to1KpQ)nv%Tg>K<DfY(-*yp&wvvq|qRef(_qIp=5R z+4gra#$c#qMBzIIDJcnHNB=b3Rkq^qI`-b%9I@Y7_(RD0ORl-aJ^up}@z(nZK?&NW zQ`_QF2;as_KAzdN>b1|0Df6<T1k)eo)%ly`rTv;LCP-JviG4Xe!)dew(N)y!L-q(U z2gOB|SjG$3=+*}#Sg9Px>ynoBowe>gPy2?M#Qse4#;GgSyc3M4Xkduyqi)=aF`nDr z$>)M|+8MDeS;@;feEj?SC%-qmcT<POn|3XF6td`TD$7;HHAe9npvgb>Ta2)}9DcJd zMxJ{?0&)<iXKV4XZ{OTmZrYsBBI+qq=Lw*-98brMB@_*0EOqo+r@2BqC@T35u<s9t zid&Wh2>b~T@Z{gX?&-n|)U+4u$Z&F`P^wV2YNh7|xeSvyhW^aUVIZk=c>^h89m_F3 z&(3q!smW*Jf2>!#?c!$d0mG~~Nww7?!AAuo4S^z?zl>ptZ7$aOD9e5npIt@+ia-GT zf($umb5@zfo?R30ai7@_@B1v?^S;I4p6EKgt=ALX5I1Y<fNH}~*NE{RIn462Gf}g< z%iy`0>ao;9kG;CSqQO5+;HCb`(onj*g|qt!!1Qf=(3|ngEHjQF=QrRCl-22qagafi zuc$E0uNFztppOcCh&*{&vkK_32rAyf<()F$LUkU^PV&mX67|MCtJ0gT*<;NYs5|V+ zeA&5%KXM+D^^=jDG(Ve&C!R!IR5;%)*PdJ+?%C~-(}7MW0OfLwb8T>No1_8Dzyy^) zIlZd0B61i3y#RQujg#p%RtyOAIYbO$<oY)R*X2`AUOhV#>4CLgo}0FQ8t#JJAO^0q z-oV-bv;8wtK4xXU6(ogV+MczrqZ1kTS;^$BW^wXXL{_N87<}*$zdsy|(3YxM@*$*; znaEo5W&|hu^_J&;AE;crq<rF{dMv@`ZEp_#{njLdY-do|k((F3WaSZpa)!5SjxPRo ze~0Q;zd2;`>sZ)0sq0HxK~-snCass;W6ulIpP$S@tz`ARg5&Ciw?b0lCms3<u@LEP zGbZgX==?Iizh-^%=;-^{JjJvgS+|6U^6CwA@J?`N#~JXnQ{LbNa_qHtosqnQuF<3s znQc`uS?H;e={eNhs+(()PN{nA(}2EWSelc{30}|8V=f+@8!NWOFbJ67ndM4qa~Dm% zA<7Bzq(5+~<g<2BkiBL}x0RvEkc>Y!Q3u_EE+JH^+4~(&gVFEKD^8b|H0xwAv}znd z!4qruVWn7kqMxuh(@(nHS}_Cxy;b~rT?SiEiuk}v(`>=p_l=?C;82ccsY}K@xf8FX z{qf+H4Y%y{#!0U=lG010qBx#<^p2}nu(l(@!Q&>X{&!D?hfR?`pDN|E4Ux6K)i=>_ z@Zsga$nz4Rxs^VXv>R&J?D%d4nxT=md4E{&wy!8lQGl$WO4R+*d!n|cOWiqFKqRlY zCwMhGYZm3K-Ieef;+ikeHoY=@_;S*ZEieQD$KQ7hJf@w%GHEAwES_iPg}?Q|L=15% zy3s|QuC$_X_v^p-;%<B@z4DTCsQNk*5<>WTTqZJG>JFyr;aZh%U$wNvzbP79&d-}Q zY^YV8^Su_Ny5F68=%N%|K5YlYHf@i1Msz`_;x`tjckFgAYI=AeH~a*;$1fbe#miw- zz*FhNKSw-zD9QKl^R-$=0;oDXdT))R&Y5C=&GkHbp<YKi-P9UHCFS4wEEsepkkokW zY4Ws-#$ii*@RL$nYan62K>Chc9@F7_k-W3}gKa9`R2C+$xAIaVO;#sN4T)Q_X`H=o zq9RB45asJ9azl;rHUs$`?=8v<HnAROR~AoKCUDe6gspS@m>%uifc#fj_q&tkYrDb7 z1S}IoAT<@ky2&}?d@ZQ7irDhNO@gbpo42ad>@g}@85IiyV-;&<Cd=FB`_uZTKW00Q zQc@+~C}p&*f$z5lg#Y$7n)1TGeseJ0IWOfV-!^n8(eV#JvtNyw$GP#;^HQmxLQFF- zeR}AasI1A^GkM`Zf+Pj{2OSCiQI_3fA2)_K1M9S+KuFUb{b2pBi;$?n?JGLL==)l= zoswog*#QBrQ=4-C058_(k!3YzwmF|8B=$FqfY>(275G4UX?8%m^<rsC5SW#G{_yeY zrBuFDg0^$vrZ#5+rG@IL*8YMcK~?4OhWGVio7cKsb_Ko{@)Xb8z1V*eYw_xxE0bY= zhej_9oHY8$GtAk3Z~yJocG>J#hI6I_dG~3)fU|u0GSAgQQ=>V_s|&`EH!FL}0X0i! zBH}Rb%PU6k3njgZow`_WBa=+ib~?$hIV@a^OY+^KoF2Gqr_S|6=D6~liAY>q`Re+R zseUR!PCzcBA&@zfHYzt@Yfax+1Stz%uGaI+t&zqw7tGK{ygduvR{Erv+IcIfEn{k` z*t72JPOYqI_#ie|?u^7R-mOO~IYYM1u;BZrf^Dhb^&jbo;?N8fpKi_SYDo1jJZ-+g zSfF6?+rGnf*YO`C*fiY1d;A7y>q55u!<F3ZpsZ5*reWzxUVci#!b!)anTBXHO0T{v zdREnh>qRjiE!Ne`L=`&oo%~$~vB0PF!l{iEx8y<%gh0@us=SCm3U%?$K~AS+PaXgL z?7I}}pHy?;jItIq2V$MUOdAud9ro4Ro7IdjOj@N6<n*eyJ*13YEd1D(#!vD}*Gzp2 z#NBQbt&XHzC|t67|NWCMMP5;P(Pdg@wP}kqQqMIe<4iJ#38ti;CUwCWj+XM6YJ10! zUbSASWfp`%&TiW-?F^L+&u_J6$p66g84mbNp<62S*NYqJ*g~y)8NaqxVZTzraRO}9 z7iU`#czi9izWUBrrIP8Lk~+iE(GJd6iIs-CLY+JhRpGntR<4McbyvoxJRp-=f$9PT z(rWyEU-p)`Wn(Ct$-)awa(`2OsftFo9n9PLp{2&O(l^?lzG1YwlK1_!;M5tT8_^EB zGv8J#-xLk+O3QKPW{}s8ZnZ%qCZ#mGM9axM-K?g1&vA9q`dkdFP&*9N$I&bIs{+QI zznc-<VS3Ap0@L$F2A3OBUwyhx<@Gv!L!#xa6-+D2XvU;4*LPA-J0-=lb=&iIZQuiU zkBg8LWcM6SYQbTuBc<|PD}l?IR&4~t)L!Oycpi!!#9E~_EkAyj(`j_3<eabzYvydr zs7wJf1zid`r7`q|3$m<E4rzYFX7;Ig-3W%ji`*{$0rJimwG=ly{Z&<>I1Q_I+>u7v z%o(Wt_r<}1H-=JjQRLGvUsZ!y8_iIXl+dPgFJZAJSwZ;W+u5NN_?B#F!c6_00H>vm z9}7EwySUu!-ZPt=m=7^9l-4@E=Qk6u$I$X=XR3hZgP6;ZqLtea#@z2J1daP(z37A1 zUlZk1`p8bM<|gaeiMcVvmPAv2+0L1prFVDp?}We|bGPP9Uo84fE@Ho<R^vMRH%juF ziJ%I7J#w_#7i-1O(Eenle$4l=eNFYzY@Z;1d391_cBRhmMegSlb2}wNd)P*J;m(`2 ztwwee_stufC5K(Gm7jkqtTUMGjr!L`&S}r=PoYKqdR|%HQBI%j^BLyfWM{A1yp73A zM+&+ZBHd*m@19*4)60PCygry01k#+PJ`?!5A+hnxaX`b_VdQ?i%~+4(b@M((!@F8D zwk@LuvGQ#G#gVYv#zZ<iB|y-i((is-fT94fq%?{@y#?A9UrgI#BA9<aKWNz6(QpaP zKXE5%#Z!7gGQfUpV}7vQU2ApD;{*<z3FxF1!NgD^N2;sA46upmpGd#G7M$DX?E?tq zS8K`&KFf_#kvUlY{1|+$lmKVb69I1he;IiJ03zc5;Ozf_*|+`!v(f#eC0k^gJXtR^ z(^v@S6bb;qXMj2*>F{<Lv18Flg*RYI*YXYz;Q1FdqK3pfd|X;O)|LPOX&8W$X8S!I z9e`KOwl!PJs4@}+3Ip5`q6vFMlc`4i>V6op1K{I`b&)|Bv9+T<MV5p9cOj*$EC7Hj z{TqNp;o<b;6t!|2OS0<^9{v|vd|G;*+cDcyM3l5Sk41$v2u&fpiWCY+?HY(U*<ut% zsKW#pAM7zWnX!jyQtKXtu~$?&@Cy;j{dbU2KUj)+Lc~Q)O2iXJq}$Hm@xhqOnzW)( z&*OuxO&0b4Ekz^}1_02P-JUBfASHfF{HO{P{y`K#Y)S0mCP1FPQx*oe{l5xJgl@0U z7k;$<Osxx0-~b5eSQ73hw!EJb%kib`p+=Sx;nV@3l|pEv56#H4aPF|%wVYBc9Yu;^ z0BS<B1)RuVP|~tk-ku^9<hbRfFeNIc^z2r$lL9~&P0soYKz{q1dUV0<BY^e2vMHLG zf>dKVQ9?n37XZNH7vWqQ>;lxJ%0>!Pfcsw>i1k!N*X##8AL!i;yL-!u%PBKwTK5iM zg$n>kog!iZM0dZcW&tq1vV5Kh0HE}fDfOrU^zGg`RmtA~WPrOd)|M2L4gfX4J$gqW zVjYd!1EM3EloSQ2tBr9{3S_148(+?(5De`?{7r)h8upp=F$=LGJ@H#{Np4ZfmzC{} zLjT1;=8TE-!}Mb{0InS0TLFLv0Adwl1;9g)WR@k7XOy}^cudZn2tsE?Z@CF@F}MJn zO327G$-X}#ILd_DEd>Dk_9vp&oVi$Dz};}6&tZ3?-WmbIXNfuhcW13h8<Z3Plz=Qt z0P%xc^p-m85%2GZ3%>+V-%ZgJ)&V8IB`xD1O$C5-4MYq$x#LR+Uqkdl6F}j1J6x0^ zmiR3|DmHvdy@7DGuz-x7$CjJ3;Q5$lsp4c9iKry;YaxEo<l6ua0I6=$l+t4%A|U{P zf#`Vy5o>8n$;{LHVYk(Y6n-X>HX8v-NF4}u|97}PuOcm}6iUz5AYviQr3Q64&M1VD zRuNSK01X_e;r#!V5gxvyCOk|-tQmGsQ~VL97){kT1=3~!X<_6j0C4v)D=EQcN&p2~ zjy&uDLT0$T-_k#p=vh$|8h-#h54+t+8TMZ#EDF>rYNEmu&&!^Ny-|>0`S04D=hUxM z*a3jmXaEg6U`0W{jRi`_W(ffNH|)2YlL<ZL2m`QAa43`vel(@N`%%sNp0%YY0C2mF zi<~U+_BVhF5lbrVZKDTbmVj4*B9;sQ;y1dK(PW}o)Gr#?xk%|B>Wb0=)UuWIGlhw` zydMi&D&1WHJYG_KLi+Z>H!`&sJchKy>5<}uDgmMhV!}Jwvw})KZdQJZ<VqImYMOXr z&2TXmz@rGEk{D3wi?CZt3b(kjScoV9L}lUkci)!Pil_r_PmnUs5n>w;0BZUwbI~2m z+y$Rr34gsCMy44KAS6JH>;Lvhe@zUazdDR~LZn40KGQVzppXTSMXDey`ja^OZViA1 z;Mn?r^qY~R9+37?R*O_6dzpT?=(L0DPV1r>aOkme+Y6-!RkoE+K^*J|l`ue-T4CYb z=!@HH^lQkc6VS#HTQO1E<}{wncM%NRwCfc=0ZNZbSXj3;r|cbh%90cSES7iP7U_QG zNb@!ZK1GZJ0LiiBscE9-Eu61`WyU>BmbVce{NY@#VAsSJ(D)Kfk{-`D;(E|G_ov** zT&!d23))`*Vs+PYbyW?mO4R#Y`k#uP0L`faOLdh8d0*+?u@r?bb14_t(VPiSwvI*C zu1l<XO$HJWdjMtJyI*BPLUQFlb}_$W`ln)8ci&c!>c&FFDzhz<-ByxVw8d-Zyx)5{ zp~t$I?#J!d3#iK8-q#Tzj@Z|cL5<H71)#H0@U{7|G@DuY3)4}kh*7B~QlLy?;W0q1 z`H`lI36S-m3L%Eb&y}kU@bB>Hy&jXO%bWo0@jB(KuKq;n$Cc!|->+@dtM%d$t6BY# zQJhnjQxLuWlR~jb(UD-H@P$s9rsE+dx0^Z(ASmHYQ2+-gIO$#DyP~X7q*OeA%TIUu z{jvF)!Ie{cV~xsDezU;<M_tL0gYWlKJ6;U`+>4G_bM5~9<qR&@j+~W|_SqU-(~IS? zuh+F(kcE02(%Jh@c3HJq(5Y$}`}~fWw|iBp<*7%(xP|ebOr3rg{e@p`&v6(06k)p8 zF)x%;uX(bWdot}5rDShrt-Mnn@?}g4mQRm5-q}X&>|-Pwi`~?cb!T4}c|$8FVlc?$ z^Dp}%&UaS|^jy@R6XgA06zQ7}1}}5GYe}ir`nw<Jt~MrB>z6|bz9pzvo|3e=jPd~I zYjp<*+ndcpTjEf>%39v#^^%8!f{#W5sUJGF+@38#j45#;VDH)Z(wAfx3=9NAOrw0Y zJj$vIy;{G9?2Tz@NI|saytPEi>>gLGoDRmBkEz9NmfCf%UvFl7c$bm|6(}Pz%_y}q zNSDH(WC)@}U+LR3oSOT^s%Qp-R-`y-j+1k}e}7)PW)!6S+m8ueULS24qvR1;UXJKl zm*O`kQc3bIvJ+P)QD)G8^JNc_ua*h9@DvtxdJ0$3($``%{Lu3Lyq-1-jVhDc>%2TU z*!*Dz+sVbSjPCXtl(ogly1h&L1gf5StmX6(RyaVM>qhbCYSM(2vrUGFD`rX$Udmb} zgzAZ7TE#8$`FYk-3L3}ZB-u=c7$xpV(r>p)F06o4_q$cK2zd8bClWG#O_7n;DPnc* ze7K+h4sZX>89U=O4ti~w?I>4QnKfzGXK-_Q?X*+x{uy^=nLwfJ98GKv6x!?v6jV(& z+0S(yp<kQZ5+X(9O4sbAp`P@3wMZDT4#(S9led=DX9PE3F1&$x6VLwWW6_KJ(zIP3 zd*#LHKBM5GxHV<R626II7Y`I|=LfjboA+<BDi9QD`%m{h%!Ehi!L54Ji^zNQ?T9|O zsg{??sd=VriYzljm#II8UJm*gIm=d@?-Kt~Fc`Gd8vR2p5cv@U7U1t}5gF2CliX8_ zD(hZCmZjyQ*ii7#q8rli{OJ%E6$q7Jrl0XxYx}@{+^D~=`}B^7FQx_F`qF1o=P)2! ztu1cn(sx>ad^TyjS@y%I7pBPnO3Je)OR~#u0x4}MsLimyGapkWW;`FThL_X2>7&th z=2YAH>a!Sa_TD|ibPL1k{R?x65kf@m%B&1Rv`84AnJp1b%ou1Hu#85jdlFc+>SEi6 zBS`);PwV3@H%dvn-_w2K%_y6M(jnxco3S^ndbd|z4sZ7EIvCAJE<3)?Z#TX8M;3D5 zY#TYW|7Qe|q0uF@8&~ByBMxNsHcW4F4EHeljk0OVn2vJY|7@i7e>l48xTe1Mk4h;Z zC5T7~f~11<7$72`bjRrKP#Dr6NJvVJa-@vhMh+P*-8n{xw8Y5K`T6bpyZ_wR>)!J^ z_dMr3dG2%GPs_~3&5yYw&v>VQ8|rJLa&<?OImkbq|71PfAG447AEpn>sB^wBzpy^` z_NZTfY|xYR;P314jod%kDhjzSCq2bw6SYttQFG}Nyrt$@UiHRC=XmcnQgRF-2p(k1 zS;sysGi<!nhjV&v0xP9tEaj`a>0?_M^m_QVU_lv}{;@+-dPD`iT&4eBeW#mP4{C&Y zUXmqPwDtVpWCJrAg*0!JS<SrEdI6M>T$C;1|H0KXz-5Nc4aDmNIObq(BnQ?f<AYx$ zf7QovZDx)H)NHPA{B1nO=4prqi=?4#{8y*&rTq)GqnjJ_L9FO$&xl&@hc7SJcG8F0 z()P!5!zI2ArV2!eqHV{Pm06k9cLzZ}ZLcc0+&<314C_uiACLF8`g^R({W$)2A|(#~ zg3yd<_8k>UbpNq2N&j?Xc;;|x*;Dh|5n#im_bF0MbHoC$2^H?F&5J-wt+t+LwDo?q z|Fw72@3^@dVt;nTKUkEbQnQ#Ni2x^b;|5W|ELY=vga5XJ&SaF0VE%fY8ceGe=04w~ z1N|H3a~yM8?;*>tnwz7sZI3)dJS`txKH2Tw+-=K?FD_ucICM`!cK3o7sf`|o=r;M6 zAEDO_3MZLeHG_LDUoY)+DtQY1%<frMQF)=a`OlgTnba0n@nPebEA{>IPRl-n5$rZt zs46jJ_%$N<;H>d9;-R}JEM68Vz!ph6{-r@Y>3xDvC-4+3+dO-0wIg9dmuzwj)EkLb zewsDB{p$?Nn;uNTYA7DmYh)(~^DQ35r2Aj(!k!+UEN^a1rX99!sL9K_`{!wR+k(~` zWVeQWD?I!vz!AG^fBM|wPex0qR)z4n!Sw>H)s-?ey$%-w1}Vjpaf20t8zreQl&I+J z6V2x9n?qN1p_YnNb@WM|{6s4m@Ag`uMJ6t%w1y1?Io6cuGTBZHgx=rkaHkiUjP`u_ z=eX{BbD{;*t69t;%Y8)X0tw$hN(8vaY(N?S6>R>SpLNm=+@pD}cuhE=7W|lsUbD{| zV}VbtpLjSH4Sep&%$@x;DpP{k7aU5RvtIw%%|QPKZ}btBH8-fyh_3oEeSX@Jrip3w z!{zMaN3!D+&ZnD{oqg=fN`U(e30n#7@w+II$<YS3MxQ^9W>8t+-h+w#oFI(d=J1H= zs{fn;LOgq{d?uz-Pl?1)=kpWut^9*Y=&3*SORlWRNPxHR3Va5t*jeldD4lv`5!}d6 z$ocfl{nO*Kr#X`fEb-%Bt;7u~nKkEnBz_xH?;xOtcGNq1`?<nL9>s30!)@4K*47N# zL#jXO)crLz0>DK!qd#~;yesswnp-TP<_>0!0Zl+g*PwA`CZCU<%+oG<5Ono|b!Bnl zSqZC-{snl_&CY$lJJ|1FzC_XezAY@yO>*Po&&heFIl<PD%)L!K9t*r|Y`WeBXnIPt zXh3M{XcH5xAaN>UHC%36?)g@vjc&@#qozyq!JquswU9~f{#bD%Wya%g6^X&lT5jGG zi+qOe>7?MFSvyeiQA{_6)ipX}Y})^5Qho5t3pye7laU9LLZ2$cMQGvH=x-aFLvx1> zX<H5Q>OZE+`eg-#a<#WIp6E1B1JrQ{DYtT1y~$X^fT%f@CaZT;pmTq5fm-&UVNFe% zXQZ?kR^59Lh9{IOGC{{pK4#o7LKurY{xJfTHjNqQ)<#v9@%N3H;55qT8uu%rLxMkI z4YHzeEc+gx9cBj8oM86u>9h1Ed+>?Zt>&n3#^$rxp@Y(G5YSsWMKfUX(~^?AR0cop zwfS#{&cuY8VaI?~LLAOVh?njW-6dT2{y!l9Ul>kwkC=v*gpQs=_zmeJF9vO^uzbe< z56cNDXm{`aM|7lQKq5ci?9mj|@ZIxvgAOew{~u9o(62?F?6!HO;{S-wr3_C(QRlU_ zecPDZdCkJmgN0C3;mglu(dWpnDZ=qu=cqw9&qJNZ{SE2=5e-C3F#boxyTu<6I`1Xd z_N<{VwEpCh6?|KawcLY(d(FV7I7H(%xYx1;dnvDnK%d|c=v4&Z>g0GEd>e<A4G!1_ zW6gsD2#;}y0NgR)5)Al{h#z+xuv&&S2Or}Q09@G=;Vo3N^(Gi_EgPcQ#%=~aCp20( zxmx&$okTX6YyQHOVP(NsGeY|lLf^MKQ`_JRG!BO)eDRV{g(SqHbs^*-`sN|whP6yZ z-e_6YW3k9KOU*WKWQp0y6>Dfc7<(CN8I1_I1m9AUT*#k5!MAsm4e=`f5piJ`k^R_n z`OuiqjZ571B=VZwG6{L|uuYB7!|p=p1qBY#cIAjXUA`ouz0H>g+k{hJZr+fDrG(BC z&g~koZ<O42g+yE8ev`}7T%BAH#;(PZ_&>T%=#i(i#Ox7Bq<P2}0^A0TLVGxM+gmVJ zHiVFK{pSR0NvQQk6Z~!`nXqq{VYy)r25c&v?6>xACG}%(ClP>c@P9;MgxT3BBwt0A z1fR{^L{MY@*ITq17<;p5c|vwucbj3++S)>+VtyZoCH>saar?6EN%WUd%M3)oe?*<& zE5+N*Te;R1pT|=-fG9TVDcZ|>JE82B`SOyMr@>zDfZ$&3+mB?+@~F@)6|OKT&qm^p zSpHC{h)q9vl>EU@+Fo<Q3W6_)X@aR)&qk4DmRAaAEKENYIuh<j<i>0!l|pa1`j&#J z$&RU)fl2M5j>t<17Q&+VD6q9g0<K~>SeQZziE)JwZrRW{<Yn^7i|RYZ)vLetD{+Wl zqNSnIYYJpDxBb_S$#Spd_n0)l{*PBy8G<bDjrI30DKI`%7e4TV2b>)9w;vLg`eB<b zq9ycAp2reL8F3DU>PiPdxaTUV&w5SaMEHgb$DSWf-Rf+a+B!OlwLIq9>CCUN?B2pE z7*=antcY7?rEYS>9Se8%krQpx9F<{79L-KTt{1=rRwA2<xCq#q8o4^9{7L7QK=<5& znz5rJIvH@S%toMI3-|e0UV)fB)S9r8p}br;Y)`sS=u=$`O>9gl{i;iLi}XMzC5^(# ziFj-XdxHK$%Um>6_!5j=-=s#G2am3?WG)@eNme`ZJg1ccg8V!vX+ji_3H@&6{r0C( z=)X)F9=nlijbhJ_*yFg2i773^YMH0!SMo=mocN&NVtJ)ur{#R-Mp8egTo?i_)2#l1 z0o!Z=Yl$(qRKRL}i)NdXBD0wAfz9_1&$|Q|>F<A%5<Vchj$(VqZhON1y_0%L_<$oK z^_V>gxgehwY-o5la$C6m9Zc{ZA``HQnBu^5#H3G`3xIB4M?OfFLHm%IWrl1-0Iqz< z%tP*-Q;&IL^~z?SR||Jg6P+zu73g*FQ0H5;@vSMG%IloT=lc<8xJv59Zc#U0w~)7~ zu6qSj*2WIo`-@CtFeYDVrxbL#osG3De$d$7>+HF=ZGClr{F)Vv)xJ?7+ap6RZ`1D> z=MKp$bmX@GBvy`2k$oF*!gPD*?0=)zqm;KjkEc<(WS^8jUH~8K>GAE?s7dpn%D&?# zI*Lu?<lnX!)_pYy2eUDa_b>HaW?ElmhTMS3#%?YJ24WWDdm<BZJEN|IMKppQQf_*c z(-%>C{+9dwkP?_zN@%=9pux61{MFR0-idroC@(ARF=Ak6zh-D;y&_<)WWRODKgb6M z(-ue{Sn23g5!|;0?)G0Xg{<8K+$+OQb)4u-zK~`A?HF8b`-eqx5)ofx=o+ROvu;$x zEFzyTEgz;p#>3>t9^++wDafvP%pO-7>UJyA4rMQ~u4r_>VE(<+6=9H$Zfme>toyE_ z&i$!ThnQ~YRJK7PGSt)2kK>XlWFxuvP4Flyb$(n2C4dSLvG;*HP9*M8K+Q?JMW&RA zI?+S4Q`MbLl?1?AaMNW{9|!cn`YNw6I+@tA?7Af4KO*(!hgxIphNEfo`@4%yCo>QV z*+Chg@WDa1%ijj0GsjoK876y4_`tK{{fINJFGK|C#6^%tCtf{QTKX*;thMqyMNNT@ zm#CyiuNW%kSCjdj2;fz11x>Mi*c!3BXyeOqNzg6|?XstYx%XoMQ_3qmI`9LMbA%Dp zcEqUJ$tBrdDA5uDB(C*pzx8UbiLtv%vYJOsI0Y1Fc!F+g{B$;J`$mEN>+L;CZ7JNI z3MoB-%h)wzmV(tqir#A7<t!(`VK9+iy%2_U)qIP1KMp8Fkn5G@|1@UD4ng`mk6F$Z zy>5o&ZK=oJ=*ReZ$QV~WY-A_YIl-NcQuPK!EPBt+Jo2e_JB?x*>tv>@guvTg)Yc<< z$g2qoQIY!YE3#eeJ0|O>&oYL}I|t8LsY{fZtdlxu8PncOrHia~%Z*GwN*}N}usvL? z_LvaH;e8)`4}r0_1)nX>e8f(5Qgix#{dCYl$8k-Tm?Rq#9a^^N)p@SI!@zHl7D4GW zUZmJ=S7)+sJJS`zskA|`Y{38lVv|MIQ;vuT@@ElV((hjcKLp^ubVM<=C+Px8^-GDX zLBN{3CfPlTCa{OhBG43*2f62>t-UM8Rcz|OTrzCy^7YRf$URCwRRU*rthSW_!Kd5c zv%SxkJxnTp4wxAD_0Rq|jTa>JSv&UcIteS#3F0F9u4To5d{Oi>VGrK}X|06cLGQE! zk5#6kpfvA(>N9kq#Y8X>j1Kl<*{WIALVr9SRRlhcPQT1mp}0feR<JbE2>gG7$6KLb zM)GG#lqSZ;Qo@;X(YdWRq2pQDg@W+A#i|{Hij+=cM>8uOSRKwAt$VrX%gjHo#z-Ov z<oVct2}|!FI#~)P$05{3r=sX!@U*D<tL<*inS<}nE~;<c9IQK7wXC{2+vCW1*aB%Z zOM>yCch=a5*~2=i@7}>GlXFA?x9;BQmray`9%9$!HUA@WOC)e?$C47Sej-Rrq)4$N zTyQHI`Trk3h_OB3SVeqgSL{^=vD`PKb$sU~2L<=9^-wWX*gN>zhe-+K1A)3uvBpil zRS#phB93XT);c?&;Xfrg4*cXbua<5Idh}^3<DGG01!9pB)e17=R5H0g4*>+>x`g7T z*fm>WOn)lh|75#*-bv}9PC#F0*cP-bxFnaq1Nl^oK;O%~c-?nxL~KF6O-}tB+_Bb^ zB%{K3RSl02$>t)X%X)Xp-Irdf%Oqwp9>r$#1t8pce}}<Jg_K+_dgq0@T<5m!C!6k7 zL=25$y8)3`*MZdj@#qrnFz>gt@C}H`kA^t>-tHgap39i;iU4b3U1@oOS@p8*Bvt_6 z60c78Gm<FF1uX(NeW`;8WfTvrAzqvZHj=d>t`urgFx}uLzc^5sVozKL4ZezC+L`HR zI10$V`vJxFlZl<)(R`AFNsikbjk9{)4U>AFI_ecnwkn^5oMa)Fme-@^<h_@86&*!` z=L}|M;>2rBh1_Fis`kHEM4&+U0N*!JTJ4W3tgTX5jwV*5tYND56K?<4Qw2%t{)8fZ zJzdVFl0XDiq@=a!=tyFgCT55uW&z)c^7UhhdGSt?=!|Tv^XX=FNXd7iC5Y@z7YlWl z^)=UC$j0GAb>NfP=LbX&010<kn5>r$I2HO62psZBt|aO!IY(UQTM!dx?zyv@vzc-8 z34qg=Ty`{GD2|$%?fLs>519i4eY^AHXi6SDQeYO_ekdc{9rrkuS=x!?+oL<ZDv3k; zzocpXL>l+2$#}%%m10%K4mgkI>HOps+F2D&SyHT_x3(A2GY8htQ+3)m;pFWH&6&1} z?feQm2V)B7fixdymJTNsWDvYtt8dk5wO$D(2*f@9LcH0N(CcCq`@lG!a%=sIh8;Z{ zP_(sQ#Oj;C@-t|Zpua_+h>Zdnsq`nSSQ=h-z20{|FSHM;ttqKlV>q}XnA!7VjZ z$cR&hXXF(IsN1FX*xTh93_SbK2(I?MEdmQfC)4o8F$XfqMTvRnM11a4Amd8x+B}fn z@p618c~_Sx(aqCiNj8z$gxQGh6$Ke7)7Sxr0K-jX0wvvgh=9GvoXOMF_VDML3~{8V zLicw=3ZJtujjwtY7;tu+Zqov25*Y<WB7%u&K8@WF>z1@GhYQmDHp#k)9wR4HlUZ#g zK(_>aUi1o17I#+j2PXZJx2448Gw4O!lQ|%a2*^|k-+5X~%;NiO+0UA6%zIXdTu0xy zdw7V+iz6ZmqWq2SId0QdGloXX3iFgZB91$`*bTX(*1LA_;N88jzsqr-7j4L&{m(JH zZ_{0(N~}#d8;VtjJ|vHO)I&+W^gl~$y>9c}F}Tu#S)@8H%5X=4;Jr0nzt~;0%H&w< zHVUM2?O!J|2UBzHSd)b@a(vC&C1X9+a?=`PyV|c0XD{!dp4B2{+#{ip_7-IOLEc<f zL-XZsQdyKC+~}v^Q|Z@Bem3~NVq-}MDdEocv`B4A8y2=@VWl`~3StX&ryg=n1+vLj z!Z4(SBjaSgGT^YKa!@g@FT`XuHr>lbIZQR_oDU7Dk-<s7L!bmts)HDK=g^<DrzoOR zvkP%&N+g<S<Q7W%J1kJ-*D2ZjFF&V{a9?U0L7E#wa_dXqDn&L?0i~s1!Uf7SN)b^> z-PUh!lE`UHOjS5GY}t&TB?#WVHxp-`K0^r<%;(rzPkw*NyJZzcS4@zu1Qx<vDD*mf zCMIRF7FMKY;FjY;UdUf4W-n5C{Ljtsw=4~RMI|V~luQ(UhnOWZ^vT+xO2T~3mpe3y zJ^XY2fp~o>k%A@Fd{!St#ZiLYBW04JZ(UxxnPGaNlH4B0@Fak+GPHJkpXU@h)i~2Q zdY3;4vH1{%J&=d{eiDcwW;ympM!Rw++bC7{$5Z+{vYx484eIB9O2zP|kD78PbF3-+ z?oPOG{GelybWPz73w!C8Zv=0FTcDOclmmGob>xt6@$n+)isTY#%FC6?OfU#<h|-PL zcv12UVZ;`O4ukz`pZwVs@At=rrm@6uc2ExHUWqNJk{1;*(=r+{f+tC%cQ`H+-&l<W z6Q67*#zvl4kB5_UtHvHg(OShZoAxhrEEk9K8OBpm?F<v0P-uv2dz<H&GjuI|94Dr| zL#a0SwnJu*>2MGN{gz<hqYU4!X-zTUg_<+*u6>;0W6G?y>0X0Ge`$}{lX7wlz6zue zm(9|U!}wD!_KBSb?02rYptkGn=mtJK$8!(1KOo8$tgnnBc|#QOBMW@-@B&C(wbqmS zsyCDqFU^np^7|0uV%l$>{r!J>1E6DOLFv?vEYX{KRbu|&mUN_l?j5Bd3oRpf+i1#A zRQ4g1mPmi3^0rGjEIhfmsMPA)pbGIjfzGJ#fJ>}#A)2p1*SN{~q>{nl<b*dQcOls( z5?b-m?$eN#voI2*1t0vBSyP)S_UrPb*XnGCx#o|cF^61l1Yq-1Rq$7uo~X}@cBjP( z<%_JLNhOBx_9Z;VRD88<Xc{u@Z*1X{PhJq$o7=+6uAbH0(<~fJjcvWy8D)(a*vs+? zH5`h3v!(wMc)90T=|e<Y@YSaR^raX1TQpl9exrp8HJdgtL`N!Dlm&E{avAoMZ@saI z1g{qL#)Cdtz9k?K#D+e;Q2_P&EPsjX)*d9Y`1vl}M={CLIKKJ|obSm<fb%16-ezFS ztHOGHhJb*os?Qx^y{v3x5-Je7g-H><j5@TlW2|!;1$&zjaq7-}PphfggKB@O4z|`7 zFG9G*LC{QDf8PJds^ELD=Jy{FU*3C9u2rTbJex}IXF4__ZQ>ezMDhDg&92+>SIC^n zRhQLYA<$GAmVcwR{^qTs{2U`E&Sh^5v{BJAFAI|_&<T{d;s<1Rkp@~xE8+nGm!SC4 z^cQ7nE|WUYF(u#egO}iL3)-(%>U?SXO0gdeVjSF1%e7Q>AUeS++NsJ@f}!8yY_DV? zQY7KEf$LvhPUV9s;<(~)#(8QQFkf35L*VP?*=vhY_QJ$UNSq%%V2$yy?Ch&}L%R=! z10du3zPeB6TelpEc!|8MtR}Ho1Ue#BhM30oE;SW3L-%??_Vzg@>!W9Hy&(QCk6)h1 z+V%5t)87ie5z!;eG%B114L#!_-;4>K^`+#vABBdTWe8;!bLO;(gu)~KHKYN`BwjNt zN|Kc*|Bmcy|7tq$A}O$jsisuQzrf8Bq(Q>V^dC{FXl(nI5iHS=gvG~ju1>F*?s*N( zJLCK^y<RmMeqe|hd9vzj$!eGPa(}1O!9qgZ71qp;QNI`7sv8(M(X;s=-%43qRl8|v znN{Rk*otZZpLbP?wNTcyAFhlnhZ`D`oTFDuIj&W{+zHEUPh=L<Zmx5-na29{4Q5!d zp3JUa>mS^@_WRjsaHy^v@HFbyq<f8xT-jPIa#!>kEe4-bPsAJkN5twAet%W;g7u3a zQhK;#?K8SVARPhwwcjKpuM7=nCwqil4=PD4c+fz&+8QOE?B`-+>weATgCT$5^D>(< z@=fNOfv;y!*T2^|!B*oE55iTTG;d>j4F$dc-b6IK8q|c4bIu-JO)THs?D|v-26{B^ zzy@Xqo6sZKYzzU;nT{WP0x7LJu&c)d>BD4A4>W@GM7Sp|^vi{Ps%dEQOLQV#woZ(t zfq7LCiRbp45s%2Fg%8V-6b+;27zeXUVgCnk{9oQA>VNgii{>96WFF+%0&2uWt6#4T zx*OwdYg*4~{pouePG5~8A6v-q3<uPm?=*pO<s7Pr1hN><u%8nV<jqWz2sDxUvHw2b zN=-PE2|kBz<?rp##HvR9A3?{)b52zE=l(*RPoVDW=?85A#+#;Fssl``R@3}C{lpxa zY*L%=?lNs8#$J{mSC?3qSDE4i>rU0&P`Eg4OjCUnhe$yzoyZHBNyqwxpFN3Bf@OIX z#Gkm8yL`1*#|61e)M=?82F8u`9{^5*#kiMlR9J7+=@CS@umI5_zys<1#Mr9C&lg(E z#gMq`knQ;azg}eL1w0czQmpZMdRR6;vCc2~TJ1lg)va4mqiC&_`p`$Jz-bROt~e~< zWcm17!!mW$TnmWWXH^~U`E^IjfJnz8s<An8wrt7E?;ZgLqt-u(3#4Z(*Ae#-A5{KF zYKxUMd$hm|HEv(#&d&M(GFu_nw&Ol2I#47oN$QPqiFrr+Yf}lDITl7l5cK@kVgo?D zpDv5IeR1`Z)l|N8$SWdaYbXg_&#oogXzmTFD$+cF;&7_aiG+o>+ENbS%9s>aZi#_( ziK8a~KF8>6z4z9HjkZ(a^i@Qfk0SYtcQj;g6p!h#25c`ZlSgYgYhMOlhm1=uwMoVt zNf;FYeiZf9doQrJv97?IJn^9qJs+EgZ$QjF<7>|`Z9M|F5}}Fa*C9htrl&mNDE>9P zDIc;o={%HgHQCit#UNIMd$dg}4t9Tx1u4C?i1g}?@1P_lxAlrH0-S6yrBdGw2>90s z>T<bhwHX+O!{5UQX>rQiVDU?KI|MmN;lq2MsaeTw-vGkd9tqq2*{`zK&M9P+&@88* zbmB+=FkFiHE?Zt%^gQ31B0;Xg16<(nDUOoMex;9*)x~tbwpY6N!vh`(*6LV~g#}!u z-$NvkGBx|uAxX_wpXkRZ+`ThpjhoULH#hJz&#CqNo!I$s2rY;hkgz{wGsiW_-fuZa z__@tXdSaJ?1kp~zYt0R(>95Q5v1RgWyhr7?iXu^=Y-mt%Xu9=bR<WFx<abQ6ess7# zIvXc3uS82^5d(b1fB{c?76=L}wue7)WJt2KDAD#(QOy@N9QBeATCGnI1P2rv99T@i zZ9|94wuuDmyt<9OLcV5_VQken*54*sK%_W9?~GGRz7boISQp3pvG_=_&<KET3<4k# zminde)Hs$bGd{4r2|%|NlUwvNd`XEy))>4+DO&XC4&Ahq<5`Y%x5IlCP6oa-7Pjxh z41Nm$ZH@EfzQd5WO=6Rco`WkvP27DuoTZke5>9A)L&}qeBb~4SU6`}@=!@P6Hv13z zJ<imuLEYlNiAc)|)Sa=3<)`@UpqHlHJ}}QD7&W7yey-)f`435Bh(gD`aEtq9MA55A zZ2;dk*+)o)Q{6E6+d;LiH1$%9N5NMM!L*oXiIgJtc0B@QGhvm0o!$rWva;H|{9J0* zJc0_wA}dPKkrGY0L>%O`r7uc^tQ?@UI;3L0Hg}aOHZC+mS<~-ppGc02X{K*DcZB)a zYW^}Ad-&7vA7IjJTytZ@`Fz19($L8CVJH_^6n^4>zbqFG5&Hyum11~gk}ke_C}&VG zP*42eYaHhxx@}i(K&ms;DM?a6K4}5bAmSL&G>+}VYM9hm=Kf&NoqiP;O7R~N%SAoZ zcLi2H(H373!OU5zbQEGrs$hs2{?yTH9+bdDUajR$OpwkNA9Z6zgsZD7-P~%=1OBX+ zXMc=ORE0nS2;XLT)_|W|h204!CwG0)t4~f&$U8X00seM%r8=NeTkE$aHHyYPyeD@G zI~hs%V^`;AD<uRJ$>D)Jsj_m9bSTHNBzaK{<&ibdhhODAjd>upW!PPJ@aOqG*jE!7 zCl{WIvPMCWSUU~xv+i%7tnr3Z2DNBE(-yZ13w@7k`DFZPiiOzu=;O8WjPrTXuy3#^ zw#R)=lb-4L+t0ss=j1$B=ZMF!puLBI4ST9&v07BV@~rFRc&)7!__=|&7E>bOKZ%^> zt?|WEVNe#8^L*TfgJXJ0Hs0yiYw5B3L+^DaKTbv(zwlB35RDAkNYQ>DYB+N-W)6rQ zGaN)3+>qqoFE^spdzy>hEWIld{dKL|G+WRqU#O<AswWZTlwKa&<!y}&|6>ezQ=h#P z{se^8<BVP|`cC7cQfj!AWT0qSkh?258m&j6Ta2-R)6JxGZ_*f&r>s<rC;V1oReP3J ztK^>b6*gB1!%gvbM~UH-0~Q&RjVx>>!)p8e^2|+y$}}WhW|s^v2i%If39yz?>olr$ z$r!AE&Wmr%ur}@_(@@UAHGmd_%;4(1X^QMKoeabIPhCZ~7B!d!daA!t#mEe~_}r5k zlf6?@C#Yjd-(KrJ!|Ip`vkS8O4<;W{%kcFMqvXA0=BLb)#HYGEguw_|2h`E$1DwW< z$~Ri0km>Pv!Tn2l_KB35?|*{E82P$uSK#s0&}1><SgHE>_g#;25iNo+6DqJn&^HCa z-%N}%N5#<GyR$MYzwVJm`PR(U{=Ie!$k*#6B`-Bd8$&;p0y-R?`E@H$e)!CoIMnZO zo!(+-U|V;`I+26Ti0A26OQ(@O=AXb3I~G6l?sZPkotgyA@Jj?f<Z<8Y`~Eb8DjBGP zWskYX=fiD1c|9<8c18HDXwUgzhMbD6t%h`nCnT;JQLb$2xfm1auvj$YdZ07^Q{Qt( zE`k^?G`<duj&A4nHgIq*W0$!UZiJ`hy2e*2S+F@tf8TJbkJPjIll97o00ymtbqDBl zL$1@qNR$Bg?e=_Y+Ersa-{zCwq5PoBozl2aGtc*H);6X@q0*4j+xf1van)mJc{HPL z9Yw6#sBI1x$-M{}JzJ*l*|9lK20Lg@tcrKCl|&a8Dl2FCjkI0Tho377Fo{~GzFFq} zL2JqITXL;%fUV&qjuQ3kfh$Id(Xqxq9%m~VkN@D9eV8tTj2K@BZ{kVZm}~vO{6+&W zKYu8zZ@JgA`iEeubB*1YhkHTzA;nGi2LGp(8B_S!5b&&KPJP^NQNKgS2a$KD{BM6A zS?G29?Hh#i%yepmup6nrbj&&jzTgz}r4mGLAk8P5WC_49u})(Y1)vSBCmG?3JWafD z<`f1X9orc<`kKH0d<y(<1w_^b`Cq<$SV&&?t_d`9isg8@OUn#8IY8`vSK+@{5E?Ib z_g$?rYkotIsHAX*+^sJ55=WTN1#(%6)=yvtiR;Vnn($IH>ajf+Ng$)jKoyOzOwJ8I zvw@Rr;iZmdsHpDUJ(`ZbH?-Dw$c!mF(=+LJcVD}9cY`B+$y#F0kpxjt))FvE3M%TG z*`Nz$FPw*Zy{bmXJO*0*{m_g^lJ&&rvHwFEat}|m?*Y_sp>DO7NylE*&&VqQxZw+6 z<Kf0HBW6cosJNXNBO|@&LC*`uH=A?Z+Jn2}9-Ovt$=BZ}2DTaaOa*iVqXf_Q0_y?m zU-fKpw?pH<Nxx>PeVeP>QKA`S(ag6KDdH@kv{lVmbvAw`a6hnd2$ke%7d8)oiKZkM z#%MK3yWG>fK?sgI_{H><YgCuiP}oS_p@o}G44!gx0*BCML%rS;)dil9*XsOVxU#AZ z`u*H0dA>E`4QGt4)E)BMREaU$Do6G00-<8n3@*LvJUgV%52pNCTA`0xlNi>)MynX3 z5#T|+2QO7y5298g{jf__9k0LO5z0{K7XWrE#J%S@6&&|8C{EiLRi8=_NI&@59t1f8 zhA@vrs5>QhGCRZyn|RebI4K^aHkJ6~JW}(hF%#i`MnX5OcUMSZdYZ(3q}o(@ez!OK zc!ZhEl`sBfIEP>R$31HBQwApXz<B;=Z1o=}G27!SgFGL}%LDl5x?8-(#|}`>wpOG= zT?WNH1)bW31e{$-D&2fDRY&5VO?QC!ok4e1i05*LUrQ-HR^PXSwXp#sCtEAi(F<mx zvx~EZ53&b3tirqT1{)~UK!KU&ADf!a_1aaB%V`Mw&*$jAgn&c9IjQn^-U=e__4e>8 z5HZ}{d{t;$xX&#<O7YWQ;|l2h%`>)HYYlLufz?lc0SSF-{!>9_M||39b{&}ODWZ<w zKD5{FiV?$27X9`^8Dx_@ALJOej3hu6Pp*9WhR(`~3cs^ZrE1%f;X9tnsVoZ;U33xj z4jlLN>>ki)h~2SdH)W<>mYXe7jy=gCaq4^VmIMA?M1AIhq}rw;_A5?%uh*s;295|5 zboT_+6$iuRFkfWh;Xd{nK?CC}FM7?*EnfzW<66P*_W%5<0o7NIO{p#u8E(lsNs<75 z?L{bAvz!*`MwOQSGR^#`Pd{nA|9ac|WsdixjXI>t-id<#C5IN<Rci1Pf$^MG&Zf{c z2bm+&!b-8lbd~ReHh$`J{6|Skn~NR<zWP+3uxnaz4i9K9uIb<K@e9!T97}r(4Y)v8 zyP_BAjpCbvTWg}6m3$Z1u9Kn;3&l>W^cS|XUU@#heeW{nBI)oSQM42>PdzB%RmRFG zYUB!P4`KJ%iLINr2{PR)9GL6h`Tg%c4s$<fl%<U!nJ(c;Eri^6>}$z;S64SD3RZfK z#)@Zi<i!qy40~3F#vw{kbMt@H6lYb5Gzg$m-IQtevsp0vDPGyra1QU{y)2ty)k59d zVG4mS+wL{bhLAG;Zv!gdC`Xtwpjr><0dxaLaA#GSP?wZVmr+?y^<<L~|DbdJ3h!qs z^_k?16-@g`8QojeHiN=BA=rRm<vSZ7<CM$1A}M;2TbU~J_&=g&-AiTo*ZD`!Hyhww z1^4GY<M7P8y+5`l^?_ibLg<Sj`M9B4l9puap$_#UIlW%%@|y0Q0KvMc&+*Z%e-~Xm z3Lvt+c9u^p6K^wz4;NKZ<b~xhNr{lp#^di<Oza2EhRg!~?lKzB@(=k=<}w*}-+$LD zrn*swpv;>di&SthCHyfOWJZxn=TEeLsDMNg*Vom%yS=xGOPNg&jBVgZOH!Q}z#D}! zJe@1sDK_DDwK2)L<z0a}rE^adTMG*CNyt|-X!h^kjnQottElY>>{s8kc^9UO7DR0` z=uQ>p#r>V`L(M(pv(Gdf0K%tc)y!NI`2if%nu^<q+Mol#bs{Kt=gjZsJ|PuHW~Z_i zv@_{pNwF4G)|I{W(-i3HroN5S523`*#Q6<8*sL7XaHyMvs`z93wi>T33_lWofQw4! zdJpIsvV;ZHp!Hv7X+gAD1{EMI)77x<aSO!MRbUSD?!5TiH@+h3=r->3<9g<dp8tp} z=J_RM>#&-<_}=<ogtS4S0?sJpdqs8U8nM$dSH?v!`q-qvy(e)>PG{m<Hi^HhgBUBI zBJo{~a5(|EgTd8zCJ@$TmHh&tos65LcN_{+ULxd|qQB3Vy0`Vqp{*W?*KvFBn{q!e zT9W=_=gQHjAz{)T%PA54Ld>_(rMwIWb<O7EPC5BG)Z1fH-TL-cfn?~f)Wqa-JS+pg z12Tz)Pm1TetC~{%g<G1y&C)?U&A#JNqqNngeeE60b^XEaYd{OQP3&G~&LD#H<hY7h z^(<%O%SbYA-U=`E??F&ut!{=Sbar*y7^CxhSdog&vtR4+YU-CKfoF{$wIp(xFxG_! zq;cNPZ4T~=!Hh1`In%?i`F#4Wq`)FOWDjK_Qf(6pb%2om>}xQwt=l5&ep~$kqdPr; z88ChCg)i22AK80JrJ+ZQs`ik~IxoyiJnp3{QLBi0_N;a~eC9j<u;Q{_I#tHqQfFV+ zxE$9~V=jR%vvk*A&aGUadTh!-k*YiH?ZoM%h9^~zVVSlmR=5$h)Hhd3q30}nKJd5c z?d%R|2wyrnv39)r@DHx|SY2(Mcpy7Z4F7_uCag|etC;RD{L%Eo%c@Nqf~E0e&2jj1 z0e&i2Ttj*|S2yhtNbdiyj7+>|JM~>ZFzxUspuUPS-6@b;?1W0fw%}UTzo|v!Mam>N zSDr_OzXYRgv<{3!`B}25^t<g=B0v;Yo)WoK<>A9$=-;?zUrQL~iMDW}uOm{VIw0}s zC8bm!rxM1Q4=?(4#3}?EXHGSNmQ;Q21#{0^U9-+bD*4l9MrI&$$B_`M8Ok(II!<D6 z#M{ohzPx+_Hn*TXjb?CmHu<G8cmulj?8e~6;i|K5O<qy3ar+kW>w$3JSeKM4<@~Ko z`D<`4Irkw#8{+L#V&<xR)uHQH(^)*&4^_E>DF}AePh<Tc@|}hk9rW9ow>|+;ZwGMD zM}a)pESgVs&k9v7&dLRbKYf|`1{g(Jd9tfvUYd&f4bnDji~>;puxi?7`#jchp8ED_ zRi#1{{Qz1U?&HKQu>Cib6{5@*=nzodXy+lI5h#H>ym(C!5s$P<&h-q)0pj&~WS>J_ zinJ$qWIok@nS36I+KMGVOwc&9{Ez7Qt@gGn-k<ri>|ja1PIlX_jsaq)JG*ihl^~HJ zCIr#-cuFsw^)Fq~>{sM4Ge~rHI$!GK!|vM4Q3JjL&sw>h>@6cwG^yFC>0*byp<Gtf ze?&PCTOelG2fXOCtSAX1TRUpqOl9FwFJHBn)G~NF1g}AoQkniN37W19npv@)9o_a_ zbw!1T=430q7h`kH`5Cm!JK)aXrt{XpwFjVI<Q(*AIr~n&dxMRAc@Axz!Mh{Tu1L?+ zkT){<Gm?&7Wox_*njj727B+FQwK?pbB#fnjQ0Ng4HYIzMW20he`C{GI<#6^BMPkIy z)%(ifxK(Tjl+iDMtwK-s+nxI6wv_V9Xf9AU;WQjdXd)KQI54caYi<O6@m|EV#}z%V zCVRzFYV2SKkgwY8cqToYdaD}u3L|R8)8pV!{-Z){{ldUa)^SQ`o|jWclKX}1T;zT4 z<)-(;_uLY*G)C3LK;C+?`<akVSh*#TGyNxMNMsRVIG6AEB*ShW%R1+~<|eS3qf@zP z;g4I>`k`)wgQ&d~O35<8h`tow0FYrV6P^lHWe-cQm*MQw=j($C4S&r~eRq0F3&O#( z1Q9}Nk_`#v1+8e&p$(zw;+5Z|m|+olbR7E%CuRgA@pD9yhoLoRzd#TP`uDm}?0l=x zc-rdhgP+>9Z_d%w?O!dAod1Zv8?8u&+F<FLScmI2Yy6cD)3(MKt6l9HOn**>+&R=U z!c%2!Po|U|&Kme~`Y%3z+>7;nP}uW;Gum{rS7--<1F2Pc>>*XZI|$?slSD;|ykS6^ zuja90A_Gz?wvlqxP-d~}%FhiFG6IJT5|1_a)TQ-$O!au?y{TOWBg|i4@e@$FzvWi+ zet%|g&q1t7{d8h3cfQ%D@fJMn9-q$2_!=8xcp)I(g#F=|W5Qgc<QiMa?RNBNLjnd8 zuzV)bH3W=gyf(DsVvTLhF}mD#`mDM$>X?_uqv+0|@%}?`nkoS%pB8V(Y?V`Q6^se` zW%O3h!*EKb(kTlnfN_~Ab{}`nzKbx~H}m}vV^Poiq1vhRn@{Hl5Ujq(Igg~`I>cIl zf40Tj880JHnBjWj4l6G^D$;0G<POo}VaT1^qDtAjuEWm(C43VEnJOGi{#72F=%w~K zVLih-wTX)4070-`PukV}Q3d7Wi$~9O7Qef>dt;5#kv;Y4K^M^BiJ3_j28%RkJZFR` z+}Wy-%!Zpx&h;aZ`B7Elv1ySx!zwzXICX%hMJ%e*vwm!=%Hg8{{JksfevB`l&W92u z=KE2_?--tvs!cTLg~m2me_YvZbtz>n{x%E)YLK68ml~c~`Y6}fiL*Q87<Z|CAK;OW zYAMXwwwIWR%U^@&titi+D06Uih8?`xwU`|+n!eYM-mdM<4ubxUd~N{0_GuQX7Zw$) zAs%UH@W&NMtQ9GL8vQiOEaYmA__p?xc+3ZrIfkMB2)=Ye^t<QHmfEW=`oNHne3^F^ z#3t=?g=D>3q^`?gZ8C;VTif%D3}|~st!zlEU%=7R1U#(MvVRTPuN4w%`F=`n+sUph zXLw<?+P>xjZ$P*ICBnpPELH}|9rrK#Yi`D**}ZpuuBEH!V_W+&M(IKwiTT|9bRpd0 z!zN&E(1kOHT27x690+#S^wkT=%e!iLN#V0Fb(=C7H4mxq87{J)sns7e44!4SsM9ON z2~^??iB_^rJzhNyDbp<!iZ(PZGw?NO9c5QapLxA(DlYVB)+h-POZQ{ey%b8UQZ-Bm zIRvjV3XJDze#U4-!3vliHBP=3GXf8Xi`_~jM)xKSymg-howZg};sEGmdlv>DJ|(xT z6jSZ;jSryno%syyQN4IIr^?DI{f6wlxnJA~@7@j54O7_KmdF6{k9A(FpPF5$B-h@{ zK;ZuIHz#U6DZHwhhPX-$@*nD%vngo&eQvG^KIGEK;>BN*faA;D@Khh07d))fb{l*X z%d>ROtpumy6g-m$m=UI)@m{80sBEexQTa5jhg;z3O_<X|x&(1Q(>ecNV&nNHrh(Tv zmaKZ(<KA83lPPYEd@sz=PZ>-`(m*)C{lM3@ZPFv2!G$estqs`am-v)rz6LW>H$<)7 zqPd~zr-8g@WoWnuK*{GiOAt%yI}1H+NQ|}kfm*+t=b1e{Yj()DN^c%IQxDb&*vML+ zskG#BAaiB4ClpvRwO0y*qawiID?K&~7r09~q*QgJ3oB%4<zw_c^F_bAeVI&oRdV2! zl;Ji$LFsBm&2{RRYLu4i%wXlOmdrd`Te%Nj#4@m{8k?t<^HQ++9Jlt@#mD;Rn|Sa! zT+UU(>{eAzH7=o7&!*O=v2K)cK2iK|=xsv!x!LLZJNf|$6|85n=hM_4osIfT=fPm+ zO7t9xJ<xe%HxFQGE^I)e$jt{%6fDtH_wE~V8?QJv`SeE^nuVW9`uDPiy8`(L)#ho) z)&MIR6)dhqT-VdPdZLrxV+;(p+-k<s^}xs4t$!VgnuIpZouv|E+|B+Yx>vIRWz+Qm ztwm~VJRj9c#W+dm`(SQzoG26*^00>SSSPXU+%5t#vWuMS+&IdtXUcqNLv>{|^TMIM zX<lqR7;9=iZT!(7l4X`0X`raPlSj`g+Ks~18hQUEglYzin+C&-Go;^sY(iq6x>dL8 zf3(QawxDJ^lL!PtG4hG!6`(*V{0NQ4x2&M1YY?l0ZK-yhNv401+SQ^3b8}XS1Z`ki zr^F8iQ~r{E3E9|}5}3BPy@BMtxeK6#tVLGdGjl5q!xk>*!*dUlJfYNq?ZTF{^#Oa0 zHhYB(?ZOy6H7u_b9N|<ms5!d(Z@lndgXmm^sF^v*u5+isH^1(-{w*iQpWRxhm?GNO z({`l2lVAf|QN67OR-YHWgsrR2qj`Iq&9xu>=3)Y%!8IG4K8oP)s6}XQ7j_x4$t|E? z6ZRl%!9OJ~Gy?WVZQ2Z7+r+g;lXpMt!W=pqoO9oZ<}f;D%&Px&b|IZjXl@DVS`b7N zd_`A{@T}@<?LoH16ewk7tH@uuoLyUer<1*pk38HUj`8QP_GF_Ej(%cBbqpB~a5Z)n zK2I?3se&11kEUC7xo3L5efL-5;=Y2Zd5V=gw*NJ7?-SjUlZNFu<+zw68hc2()$H?# zaJ+QOW6koO7l9t}n~|729dz&hQpxDd_sWg_f^_lTYEUqnw<$YK6w>o??mSf^4@5N_ z=jy6b=9-Ifj@$$su6BUo%8K>;4YD#e8agFOrZ|*#w)b})=X6Aly%qm3m*Ah*k8`IC z?C_F;Px#a20!#Yc(>F>@o(Sd=*WYo;V755<n3d@$%QviG7e5@lf;0Y?G0JWJ*$GxR zDGY-!m?*otNvaQ;!wA(N=N2wJpI4Y}o1u&>Y~ELN4eqrzknn5qe2j+|e;(k!t;Gh~ zf_NHGf8Zq#hWfKtfaYkiGp_<rcMgoe$CLQ`xL7E8c}<T2)}<x!^s{=opom$qh8udp zS16l1p5bl_*io69FNdo0{Vl>pP|J<^u-8?fR<V`0fp5?u8{=K90k5oZs`u9Ot(352 z+pDlM)G`eG_YH={CgKD}vP?$aVb|Onx*HN_|Do>Z$T`ewy4~9L+c816%UWJaH1tsq zdy(5G<aVK!6Yd|kuBDl@&OQ9a^FFDT5wx!+(rQ+>@pO1-3##85S<%;!<dD|>DwNBY z`L{j9cz7)CLj$EzW4*-tN|nT?Tj(KMC4P7gRq_v~@|EBd6pq)N*2p67g=1{m;;K=f zkv7-btNq%yP=oWz6BHTT&76_t)k^I!?fjL#i3zm@v^pCT$mhuo40iFwc(|l0=U(!m z=Nx92AvxWcm45SZzqry&SB&HLmyK4X`ZFOUtx$WxXDxNl#$j|+uQR#Gci4JOf~9F! z)OZ4k^aDvMv$<Fm)k~D01d^1<f@(A*>|7_ZyG^G`KpMjkY&v#rlHR@5(G)qH1&gY5 zmi?QdMUPw$2nu06qV-wu>~*)`$<C_J??|#YVXz$DFEz-H@heixNh(g`apnKG<M6K5 zA)`d1Y2u2OtW3J6@vmef^RYL>s|q3i^%9#u$7ad^2W<Hol2t=;!Ff={K%7t=`s!Jc z?Bqs4*rao*(+iE3>FM;^f1~dvP(sSnPAJ#$AI4Lb1#ZJ}Y_LO=DEZNPjZ5BCKS+HL z?%V1+pBpv0CbnNcyWe`;@iH^3*6(zSJ6RW}qmf6luSDP@bda(4`L)BKuOBY&WdL;C ze8(P;64fYMy|By^dzoznW|I+$DA&!Z4n}(4Dc9*pcp6>XTk<_tKw@M|ax^<)b;A?v zt;5Ct6>C|Q&E!6BFFyaWsmt(NJ>Ifhtlxa~&Mbf76ax9BSYypz{L;CmEFY9rwg`(J z_Q0tLZC^y=fis3bu?42x!=pb<g9meS@kaK09%a!LE1(eTSC5Ms&Vp>ss?4D~CMm<5 z-w=0lO=LCF6@=0Upq7N39Y(!wTo%ykE*AfJ1+H5YVH<hDvTWL(7zyVQL=|X$$&l^4 zq%HYnX__(7H=y~z;twXkZ!&P#^`Ea$3P-=0RjP2`3iGMnD*4>ma!pyV_{(x<mrV6X zPEUl~vK9wgL<8y@&g%o#o$bsruaV#X04LeXMyp>Bd~%wK|K^w|W>r34spa{^p4Ps^ z+P<&}i-GUIf0TQ7f;X1Q<VoDzr&N+Y@bu9X0LD;Q|5%GX@SnyLsyQ){xnWpSz719d z*<%8Od-v9-&#rmZV)A4eHf=osLgnk7C1!QAL@yfL0fYb2U#8dW@VWc?Q?^=K2(1k` zm-~6I_bg?d{u>4(rZMj2yP)gDm#X3o$zuW~X60Wil$-d+roKk{%;vg=ImEM@&L{K- zlIZ@NnQBw09beOlWoL#<%oiUy4$R>Y^O4>w^uT9AKBatg6&6kn1C+W)#dz`8I9Ud; z?5<9Tpv#LUlW#;H;_ePRV%LUA#Eq53d#-$=xOJTRARU(J5DE=xQFt%yq%C)jzN@)! z&_5`%kY_wanS029$VOR?c|W+7$Kq6fTK)$HOuBF-2!3QriNGOe9gGLvemWuBo-09A zaVMpEjKCV8GZx$hitd+mJb~d79!tTHDZ6)#grDlJ7ry2fz=|o?^r8NGXSCRCsFB1` zx?#7*rcA*8gC_P_#nX-&wEu$6*Wpo6>0{JWNxy6T<<PYs_9{|6J^m>Pkbl{lW*6Qb z`VlJMpLoyew$eMn=64Hx777j)g72`NaMX%n7(NX?to7**9dgleE~v}hg3kV2u%S(` z@V}>_?@&Gr|50GgC#_sKxO4diVsfOWCo*-V4Y!%6shp-%N-!=@Lx~y?Rr&?Ds&Cf9 zlML0KvYH$4sqoAnbj@m)+cyju<cX)ULvFWIgiQHM?LZ2S%xviF%8Ys(Fm?|eJz=rq z5AqD+y5c>Sd*gC<vi#t})dwyRXkP{awKQGJ%|+G;-EC7%sp5J{(J8AsHs|!%Ah;Vf z3tQ^aWpFz=QQbpf8Z^ITp;*%$5sjawh8m~4KG^lIA|2T|CUqt~jTTmR3p^mE=|Yhc zZfa4yF0J>Ik?+zsLD#PT2vBASFbYm#k(H|43lH`l)cxvP=Ccc6Y&qiA)OUr&cp#FM z>P4Cz$6-Gv&Wl89aLPa5W&?u}4LYXgj|>2(5VmqiYi*pgt5Qvc)8~wj20P5I;&&`E zYX#OA)t8sc3yuWznPx2NV_}&{Ay_1;Z_prBJZHYi9Uy9&c6XZIS!exQZDo;tEC0~Y zW4Y>e#zoE<U%qa4-x&<|<)%-W0N71}Rcsn%aIhqykzwyRmoi64La?||odxPJMEyRl z9ZhU@S18i(cX9Jw53(GSddgS!&f8jepl5P*<jbLs<!NOuN<=#6LvG{AcIEFA*|@hL z)Iei1|CA5|HgJVm?KPaw3|+Av{^z)O+AwQw-ZcxBIZj&`t|8C++0H=#>fDMg8h@-; z#-DbnV=DdtC3`l2Yjp+{SCfWK-&eY6)*sKK+Q!7Kcy-QQvgM1K7@*z!6}&a#m!7!% z`%rUxXoOe-)QW#FdzS7H*kbn8)yLAu#o04JGkYpv^KiWalI?znHlIT9?a;I(KF6I= z_IDO;vu03~*2a1Nt^QfLL^dS#KJUKmEWs_^4M>T-`J42ih+N!w{aIW0%!{{NV-g4e zf8cJdT<TjKdMD1_n`2gTHuzCHKXU3><%VjjaDoYPVx9k;-!;<@`)UNeaJ`tq=RT6C ziO6}DQJ3+QI^_5)S9X$tM2{lG$u!X=#R-B{GDLwZcbew8!LWvr#(xd{s>7l$wTX?j zXA2!-kD;Xvt3`cd7yG=IBvh_`Q?2?<yls7<*2*rs?%BijsKz&S@F*^fqn3D)`e*67 zn6U<HkNkXfD#U#Q$UEgn@HpEQ2x`8TRbudtWwMsn_X_6iw1praP;fmnl>jDnwYrx1 zUyo5moZ!&y^z3foUr}97M0C0-F*=DUqZW((UeQaXvz{uOL&aB0H!ao32GvB&y%<ys z8g5`2aVa0xa0>c#1g=xpvl{)}9bCVm2L?2g#@~)=bq62IHR|aJERim&wgdPF-5r{& zASz3p#P5$}?SqQ=?BGp|Il>rwn<RDv{Dv2@Fkj${nqfvP%*6Uwg*vEa;7OXv5vZ>o z7N{Fg8IVqd(qZeCuvf4(uEV|`bLA7jOPJU-0z>4V>Dhl=?LM`2KXWM&bg6<Wv8xYx zNMUvEyOr0{?qo9-`_Qh8epjOs^0CH!ux}*Mpc96}U7SZPaPC3XB^C80B0l7XbSDNZ zrH+X1Y6!|<*dzMk$T*d^k8`|<?T-T-nT*Nrp_C<!YHbFP;mKjczDHye5MpCeiFqWO zRaw0glWrQQ<F4^(o^HMZ(c8qoT>i6qOEtk+r{%czB^llZDv3ELa&Gp2^&e5q({X41 z+2OtvSV4FC>}))-Zl(K$$xh2IO0cS$qw}8ldjaIT#{GbG`-OE1#ah4Zl%D@%=_<pb z>bfYRw3IL)B_KVd(wzfJ#|${6#L(R-(v5%&orBcSLx&*UB@9Y;h&0mie)HqIzwdMJ z^W1yRUi+-Q*Iupk+>MtCv3-$sN>woysHP?(P7%uIg+P@E!Q!vq7<j8K`C~?{>gGLu z`Rbt!j{GMA;Q!{&biHLfvq)5G_cXcLXB`f19N_bHc4^N-yIeB<C=4&DDl4S(1@PA5 z;d6e;Ockw-Bo7xl6A6U=jbI_1-WF6~zOW{s$@2Uer&hpI<ycoBoZAM1@6~2Ze&MY$ zA}HWN9>;EkyHkVwaKC=sT-dQgEIj2+^D<c=A;NZ;4E6s54z*RaN48aebh;>z`u5Wn zxpO)=3?K1<ntGo_ff_dvqb~B9)0ZQq7=f}nW`6ur?58-G3-{TxXE-=mPcVvQa^`0* z-jGqeme*l<t6=ViL&>BYB4CkRSjQ?T=jz_AsQob%pl3PF=7Bi<oKlNA2}>&YvHpJz z^HW)jhWUE>J+FK0v>2^6#%6qiP-Bf{sxY>{>Aj_`i&O>Htt4qy2j-@|@(&^dY-7L` z2s%K*wqCe6C0KIuKdkSg*7P>~S=}8?JZn<Vn3EbLx+ZoLVd4YdRxwiAt7L7Sd`913 z$uOJpa8(&dRQy)&de-P^nAb6uYlzmaXN&7WBpmV|*4i(TkzlqJ99!FB8^3SC#i6!T zk7}{Y&Kt`OV7&}wb(y0N3%h#XA2T>^z&9GSKydO^w$`p|qJ3+@7olfk-VE{9ibM9_ z24(~e7u*>i1pTwPYLAMd&cCBXzpL<A-ig1RGW?EtPwwD<SbM)2AHx9uVWp_tK-e=? zS<L<cKD}7I0N~wH6SW?`W=*s^Oxg(vC;5XE95Qt>`zNjAavQn2XP^sjzQxUlX*F>5 z1A_ly9+un)z9U2i#c(2GO9!>ijQ+zS(nx#6e9>XTh}3(pJGEd053(HfAJ!1j1EvTZ zU-loClF<!8aBbIbw3#iV3oQ5_8|mWeji6rB$bVQ{{}#2*Fm!9S(F1|jI{&56yxH04 zLCwjpYv-zy)f<4;`X5x+R{Hgydp7T7BPaN!(G8<k1EOm%_#eSF7ityf@n_dCFt`v| z79}KtRdHWj+8g|jIt5jFGWUp`KV*n85nDX`dr9ol579cKCEaoI1_K$-c)A9E-EeEI z*?Q09{}3@-pIPhb58g5Pv=BW_aq1T6Js*r2H$1-JQ~;5k2)Gvl&zo(bWv7K6X_48y z_g@&d0gGCjoRwu&CuR?9!D}j~6Isf29kafUnT%O&80y&U9u;-SdpS<@wrLURSony$ z$op93u|zwq3;r}|eI%G=xgt$b9MkwHk-rVrzr%b&938oG)P5a?5pg+_D}RjRV|t=% z(4wTMW$z^m<PXl|=ElN|LY3@Vn1(_CX6p{9d>ro?8=KQ#2Y()&%+8~vBAd1f!>sjJ z^j3U8ZE<5oJdILalVY6<VQZx)RXdTR2Zj3Ayr&R@`?>eVv;!&n+9b?<L36Q{&m`o{ z_O;g+&3vpO2V;umt@f8zk1r-c69iB16H;rlq`w7cwoV_{y}-BJHc|aCi1q1}?xrE_ zLv*iVmrv00BvT_t7T;GUqp~QydlT81=0RBhJ)o1elu`#j?6N~>zP|~P&v1!`LLE*Q zH@j}=cHnjO9h;!AAFC8HmYCd@&iwb#U>edjVBOqJ_Itd41QnAv1zylEu9Flup=Ly2 z;0xPqCY)*wcq{BlH{PlF_@{jjf@gXgHS?LKxM7((>)WGr^&)AqHtbAd&As>ZVq!t( zG>>y!-wUJ5rDUl7DT(BpA5%o0p;w}%Hw&h9iUS6iI`(A8pDHjCUqa0e|C|^&Y4xTb z>>&Z(W=?=l1IUqt>;0DCh?<jX%djk4d6YNnY<9UgSN2dj6s^U;m(3H9qo))v72CU! z0sA2<`XE>{treCMiO7j{>@}*6P)u-Qt-q003;)VJShxk5otp6-6#4#1inAB=^{T+_ zJ|L}0#<>-=3S(!Ro3i(3ALRbnn@5%Fk6gVbPhTlLx~4-*`1yQ1i7@4_yOQF)J2O5g za!*iQR>G4BcGgkZKyuhwPixg85oPn>qv+;M!u{%Nm&^3)Ax*ADZqyzVpb0|Net_9D z4qh;rKM)DT2@YN4D}OYgYqZsVUrLz9-L$S16=b;allopEQd{r~HTc>@yTLI6k1!OG znaKvQ|BAzu+@W3-n=_R~K3;4d^lf21@x5{#<3T=MobgZ6-aExk?pqe2n=kW{6l}O* zdeee9VN2b;nG$yOugrejEuIhGl{oBVKj%ni55HGmDRxbaeKSm=#@`M5o>qO-wC%#m z&BPWk!PIhPba^39T&U;tNZ*cG(Zu9zlvhCZ&yiqxUD*^rErP?X1c;2}LzTDQTDhqi zK<4?#9ruaeA@Qf4^$*;9(@+!lMcp#ov59M!NBzOsI7&lp5zeM{84_ySOm4*xH1^M5 zgbioPWTq3GU$%;SM(BUa(*nXT`xNLQ#akCL1i#wFCD%$=Hik(t@dsoe_7L7nGXLkt zk!@>tQI_)y_MVl~V|Zs@Yr$`*RqXdqOQjpz<jwp3oF}LFoAoa#>IAiI%T@OwjyzFF z-dSd&Ko-2H<;3&qZLc-wV&@{_`%mb9RlJyh)_*c@27`FZBK(x#TOCPq?i%=_)>ibM z8U*EK%qHX(ZCxj6*Ff!^C?zsRfVNyj{|Sx@DsTc7PgK%iZEMWDxw!$hUxy^S9&|3i zm6499=Kf$50$Fn+bf-#NRAwAo-1GJMp<`wY%uu`Kb-_M`qI$Ba?DYHaB=TWULY$j4 zu@}-4YaEY0I0HQY{uBKXf?BGTZ*r~lhYxSB*a<o4tJLucw6lUKMQ@!kOK@^uUq9p$ z4eApz&ZP*-$35^__JPAoMBp8j$43zZq*+eDR%SG57}R9hW<NfWkDFU9xzFNxsq&xG zUmJ<|&A-Fo9Z_#{qx~#DJX1_5zveyx2YL~GvDQUWSxK<})6gI&V?KdAISH*SgFJF$ zLZ4#OULdu>B5bfJ+k>%oY+JrQLZ73#v^OY6EyA^$7j9p0&C>!$E3C_!Yovo+ZrDF6 z2&j23fhF(x?=s>Da6AarCA)D1DZ2yy87K5O>+x9B<v#$`SsU>+r+#Ih>rBkZP@6hx zI+TI%jUBW?<K6zkG@mJw?Ox)l)8VNBdfOSCk@w3oqZDyMky5{k{csWzrItv}aKt0S z$xrYtuQKuI+QaUuMm4TuKM9i2%`S^P7m*+0!^$p16Y_aMa~oPB6I96slvdPI_*@e@ z<~EpC2RCZ^>EF;REl(Hh7hi_|J4wJ^lH)GF=091qhJZzkY{>P&zwv)#KOrgef_4%z zkr_a)g$)emT|)oE>Yg#jROX1Aj9{@F*PJoe4kvCEOjNcb8%cpan02tIU4^PP28OsH z8Pa571~~69z-upv)0QNZ%6MnY@_qG{eO!iC$XY{*h0#@OxR5Ab3i)Mx2S&L3v$%UW zvzWk^-nn2fVaq%HLMzs|nv&UQjh<zjC@A(HnDHY=s1M^)-u*bm`K>zBnLg=S!8g=; zJ?fhAG2+cxftp2GhM)T65B9G7v-81!R7SRO-?Uo89^H^%3HVfkNKNw2dCl&c9Co+D z<lSlserFOGm7TvjPbV;bY893h(0Whv@{d-L4r|pSQS9oNwRf0SgG2j!o`I_M<%W3| z))h&446JD@u8(}`<@#-#Lm6J0XV-^(hPxnyAOOvQ^bTAuh40jmfl3I4!aKTq(Rq2) z7ou=S)VJg7W7MK!<GcY-*cI7oqG#Ri)O5!W8z}1!J~J@iMq2X|S_bt-5PHAzY0kJu zQw!uj?ak72<Gov&Ds+f2JX9c~jq5v<O3hH&b&h_o+;Pe&T|v^2L?r$`Lb4SHf6?F; zsJ!cCz<2G|Qr}HpI_5~l6gSq-<|3)jNb<g~qpQIFM?kA1#6e@0t#2^8BIFP3kUc<- z%pH_>OtMuNMRsGiAd|rN??c%s+YIfF6vrCIG?SkDpV$0;WE^nS{ENOZ$2iM}abvLW z2PGa6=hAY}(Q-r8I*BYu`2pBK*lpl+N!=mjA^%x<nXY!6Gp0<Q2znW?xh1R~`*zO9 z2=SF6S|cPREd7VK-bOhF=3zq6(6U7(>=9vT5(0$;D8vEr);mWZ8XtQw`whFf8w7Dm zzjis*b0VxtQn$&3E@`eXMvlHMSwNI+!yquPp@Y_Wg{r1IeC`H)u<Tarys7z1_7P9h ztMHZP?=SD+0m`0jh#iVGUstY-mXK2qLeYjnrV9GRR|-FYGll!#dKor_AVsFmRE!I* z+g`cD%akopbr;6}u-e7wkD8!RxK0r)xpc3nr;q-GforzR)sa7WRu>#E$teLp4D{wv zlU(^tyQ&Je$YFU-^+bA;1;ka6rk0ZNK-~R-$MOngJcH~JM>{OdE-g`L`$a@D{K?TL z{kl?ObF{>G!)1QlkWidR;#@Gx92+X`A6MC}Tc{HDVv^z9?n?jYt=_3e2<DZgESdU0 zW5r)ru+7B*o-H}9*ZA5-U-Q@d(3Qv}nCSmW6jrt~5o`@gXp%4pxh^qBEUR36s8sA8 za?d5}QIN5$={0FEFjx#mjd<hXKtNy3-FY;hP#+*r>rg8M32i}rAT{{$c@P`|Cv08> zAM%LkdMV|H_M5F&Pq3ic-_j<)!Ia=@{-$j1+5)p$)sgc%)q8$lwj!-i#iy+1q!spt z!i3q}n5;=aEyu&?_h-{X>Go2P2amr42sFmA4kIDR$Ov1|d!zI6+kaSgdpa>kiE@dw z>Zf}RmgBRpW}>*;e|-3-Yo7PvRDtT<f>fH_=WDu{K_SU^175EHrO5Ob8@ug$g@NQ7 zb;M(4eFJU&Jn7PBT9um|q=$$qnp;00*t^qCjQ3d(DZWhayIKv<XG*SwCuSbn#+ zBDAM3K|`b-xfJXA@b^=p`DvZIEBA6KFRlCHAP>iF<Vb1VeC7p%9z&!vZx|bciYVF{ zsw)=TmLjHPnG$L1KCT%zKN%1XvBV6?S47=C|Kgzht&mR1QW?iWuTBt`q|E%IgH+9> zkY<`H&MQ1pdE|?YA63W#OTm3rM$4cyOn!dnRL>39|A+yROC#8&H9@x+i(#o~7MnF; zSI^8w!Sw|gI2z{!>Ez~PtSedJ{}N;N5fd+}p}C;vAGK2%il<za0NR!1C#&Xm&}zUh z*``241}}Aws%G+Vc*>h)G_H92FL}C(sxo~Nm*tMye?VKwo@Kv4uX(H-mwu=s1ecR~ zZHuI&F7HIsocDE<Ej*mV+>KINd*CBxi2VX`?h)rDhUrazU6x3tcBNVNZfbq}xv}@d zrsp}B$&Ul{{zHR9!tAS`F@<xkQ$<uCbppQt_eUZ`@NN1SwD2|a6zp3V_E6?UPF%`3 zMl8>|qtu6MrUfj`N6TSzj#TuRQUTrDK0vZJ^X!)P5dEg-Onli6e_fx}K1DvA$yt`u zmAVnDgsryMf<37)1k~l|#1T?Gc3cwIIB#W}XJYswYj{~JG;>#mP81EUT6{+o#9iv0 z0MYssjgWc$7v~kpYpus^34=7DQuT+wcZDyP!Up>`PZkg3RL1}c$U=Snc`w%pGH~@w zrbP6wwX#K+R`XUFXLVImK7bHa(X?y?d;FP?V?f<+c(4gx^m0m{SIi7=D5tsWHWSDc z6$a^`BEXJFRA<j11dKN3<_1<&+>2iGBo;w(93A=zzdq%%Y%eC9rQBK6nJTM$Dn#WY z5<D-95LS15y<|rD`@K?fO9WoS-WZ5RluMiue9Zvwh0UoDC?vhCS?22c{-u?3OzMk3 zSR)nZ`f}#?pRIt@$|%osXCuK{3!{-qA|dsETD`KqeebdISXXV$M;+dC!B~y?DSZSI zoU7`_pFOSqfxT{^GoH`2X^Rxor=ho{1%A66Y<xbsjUex)`?M!l^++Omp)Zdbx$;7d zLEccF{hsETVk9GRxspGzh)U`F6+hj675Lp79nSJyc&i!JGzW$8KF#tBMe+zi_9#yE z#2Op<Mew%|Sx5YNG^;%5>lBLI?eiRJeeFXj1AUnxY(6^SDp#LuB4dzf@V(gD%t z$lKca?H}Q{#(WUFBpDtbOy!w*JQX3@VB`~B3GUy2cm9EtU~U13fj(qWp)!K3a8WlB zqIhED)MR#8#*M1hhhR?bIA*oY{br&2|6#pqCl)z%Z0<H`AjA|r0eUGK{)HgS&jsV7 zU8~vj4-gykCgCkusLlvCp+M?upvcSIoFItufCXYGptlX2BvrSN5ZOn$WMu2a@gJ7E zcs24c{rYJLjs&%ih@+%MhE3^zSOWj#)9uE7`KXQovxPLxcPI){8_qZ_PNGOQOQP%g zqx4hfKYZ}yx`x_%Zq<K4^n@RfcbpQFJJaoFT|>7jkXiWIv0vJPSxqc_L&F%-g#{CX z^dvYG_8BsB@O0xzM>HS`j=!yYS=vAJljdhRGkiPOT{k_@{H_9#ZOD;Zi~9;-;onzq zHdh?tsT;zO0mXQ0V}YA~_h`Lb?x-wBo-w_AF1Ovf-+@ZH&HC+UoB{0%!by*+cK>1d z(B<w?$v!Hk$-tLCIgnHGB*gm=?@N?ekZhO|{FpkQR|M&3XFXjAKx=rM1K_dH+G;D4 zjb`!Dh#Bs_eI6l(h4%gYVWeq@qQJM>y3H|ub9ImCW*2Ho(6^uK5WkZ9*JYy7an}mY zuLLPHOvcLJc!ZR@sdx9MI*c8R^-#SB*4F|Qo8lU-9jhx&iPIOov{B*^uw%&x(vgRA z+IrE;1%-k12<3$&R8uxz<tL)UrjdhngFE{`YNZH`Gy|}K!8KoH)rpB~#laS`!ZrF} zCB#@YHZI1sqC&^baU`&lWQuR9>hF?Dzf%L`8IXcz8-W_yFN}>7JASq!5uxLOd|5*K zctUh@SlYvpm@^P_?bp$*oo1D!FZv(WA8uY-4?!eiO!V-!G~mGT6$^+j=%1%o%U(Is znUAN`6eLT`>=4mIN^tF`nB`32mhpV)rjRG)&7l4wT1u9g8tK5iocnf~UW9ETO0GGz zi%h$Xc4Uof9Pce6++ET{FlR8kStIk^>pt4hZ}7x`gmH}3S-<B@sFS#T4x2;Bcgp0x zG3kKa=<-_KW0u{r{kZkDFWjwVifW~;Dhq;n>;vN1;4cy9`U!SE+o+)t8a}?udfB6* z#DrHN3Ciilp*3&Ab+Jh^WbEn{fJaPx%_(rx7vJX-U+?PbpV{K3da-IGe@-AQK)I$i z_{3JNdS!M1^~FNDKq*`E8gb6HEm4N$wHr018`UU@svV^8V#Xn0ETAyp8{33*QA9`R zR{*bnjhD3#iQtVR0#yV*1Lz-am2JC(u9_zy4<z|2YU}<AKo}W12>~#(&|arYyIO;_ znr^3bIYMN|LFWp<YHwklm=7s}*1zMa4g*1&z(_}ASGN*pmckfPNFfU-6UPLZH%T*4 zTt_vHQ~=>l4ZwEJedLKGjJ72Wssc&^!j%ZXIM(JD#%)d&`{fzPx9zaLB_b|Mu+V%j z>JGnXpwI^9?W;O&AgYbZO|%SKEK`urunp#q2=}RJDhix_Q2U{;wl5wrHS5m#u4iUk za(-pXWyv3&Vr^Ne&|_huuI4VeOB5xg`9ieJ^rYu9Q3Nr_(^E)=Zmct@`=_2eJzSJo zlQlF5$o%5Qu#p?_)$dizd9A1tn_aK!EyZ1D%$OSq<$UX)!6Xd+a^MDH-A6tR`OBR% zflPcA8*D57HPdiFr(p*i0=EhoMD%yB#Fvjcw7dU@)yIOFQq`~fV(vE?_`r4Oc|vgx zcJ}JaKSj(5fZHNfQQe}jxc*<}ClP`j?<bt>!F3X!3l71K$&Fq>l=)NKZ!A2=Y@$mG zJD$oSuyH*!wZ#*u%Qp$-3hxO=mOfX?e{$LkqZ{d%$uCEC4n9*Z6stJ!tS-<oFPvO= z@ff?%wPY7HSn2S0@>H^>tU^PO@q*alb)nUj?Yfo7<un7#hOMlsJ7d?)nL$ju&}pL% z#;EjAg$A%k!h75%&5zJa$TLNLG}!Se44!8586}a;e`;p^4n2kJTy#8G{EJ!yLg1=R zBU4W0^BU>b?h%>73nkA+*ulB!`qxe;CWO4+Mlf{KvNjTs@p_Q=uK{62?AZ42TSp{v zjT;5tSX6GQoOFQD)eC;!*R$+>Q{b-1B_yZ0hQp5<*@bDpj$_HCnOB75!l41mLEi41 z0#jGUsJ47!M{nUnUJ1&BSF8=lriy!({pHNx?9Nr_fB}kQL95?3^CQna1PO)zT>Bg= z`l=R!TjVsK%$6z);AYR2x8!iL=pmPX4BP-yatX?gQW;~M{Ma{NiocT;+MyLQaeFf= z#mnux(>zWhIBk<TIPRfmVVzLf<TI5Q0?R!mB@XRHan2Xh=2;CB$?F<6aHXMoYIm@} zC0+9V$k=Q?R*@g0`o)2T?-q5$k1<9Ulgb^rUVEh;idN#Ny`w_65=C6yea;UX?lu=6 z;^lC8B;|-0a1_U5S+AC_%iPH4=dDVoDvjQNQfkA%0@vR4`NFWEObvaXb~`sL!jz1G zR`|NhvB^Vn-#f!al9=Da9+GXs3KCd6B07zF7VODiylkCNh1zga><TZ~Viy|fO58jT z3rYif_iX)e4!4*is1boC#|)#I1$E3Jgk^Ojqi>N#oj*i|Tg4y{BvN}P@&F0ZMn;%? zld13>TXZ^g<1^w%b>VcjlPm%<M>TTPqLI0&#;Qe|oj-6Z-Y8`AUsBD(jbNWh071<L z^BMj;;gVm|3EMXC#nSG(CEgk$A=K6eRsb9{gGQzWbjKsz2gYho649{NLj3EH?_yEK zu@D-OY#DY7JSZFqTh@>_-IgVF{ZlUh9Z)QrhSE1e=mbfHGqm?bTxxr?#flyPdkrkw zVG9gsJfXxw`d7eP-Z41CFJquMmClc{x+w`79C>QpI~jLU&npwOH6_>7u+A{Oo}p%g z;-?>;V~G*qlA)z)D$E_)msft2^FN-QvTsBL1|v%t)fz`8EDnh}_2FNipCPx5x0bls za&MIvf|mmZ-b~!A)PSIDXVyRWTdHl-upvM&@ebIOwvtHJ?~M<}I+~#{BH)rq#Ayu% zTC|6lpJXb&B;Y-!D}<;%`&p&v|9WDtEu*dayWZkZGg^(&tKY(AvU~_=k8G|XZ~2MD z#HKGa-@?(QF!&|Zdt$M5WZ?1UKdf5?N5?B$jmXk+t^P4Q@R-zV5hMUI548M}3CtFJ zTh<>#BxT>PZ{uIV#~3*hWkXnuhTtSQr*rk~w@5>j2NeRpa#(-N=>_T3qK%wHRxQiH zw8VsC2URNG)MO?Z>h=XFe&D*!F0AR4&&1mV3jmiPImJ+1UOLSYU1p&boX}X}lCggJ zZE$5f@B*fMP(B}&Zs^$6TfK-xI#uY5*0w@T^qj~!VB|s&aD}*}79=-SA|X?iCy8>N zcHU^r=^&?_y)u4uq>PMS9N5BBi71jbpa>#t8$mS)rH+NTuzR$@lRIsv3}C8lh?PFu zir#4*@(W0pTz1UZFODA!*~!M!vkt>9SqmPbL}?3vwj|kPG=z{U7hi=SMp_(*6d${d z(5~Jk0SN*k-pF>WYz*ylphj8x_i9&Wd#Pj<Z@9ka${1kWh4sDtY6w>>7EM7khHM|t zyhqs8d+8d0E;brE%UgQZwj@&TTMl><819?SbpzJEaE&=C3{!NBQyEK3z`gWx;;_H} zn%7a>fd2yb1-A-dpE)*P$2<9LF~3d2?>nRNWtC>Eb)MIZtsn~T9=hdSc|NjuGQ}|p zWp4yqSkM$`I0O3j|LvfdSvo|F20v89{=4Rs-_z;q@;%g?^zM!H&G+GxVR&yWS#Fdj z2LyQSa5jrYHIGA0jBISZ@mW^L4H%c3%N3tI%{H9m2>f@ZYf-%a-gK|q^z;|(Pkjh% zko50wg>j2`K_g_Pxoc%T0Ok_8ifi?f+#PewF>)yMNqNyMFb}5jQu-B02|Cj0lSrMO z+{*{PRVQV$=bQFc4M%8mOuH6rR99BVmV=4%O`>3(&+8D|8gRmV9NI|`%qbmW-_|rD zR{b_iXUJsO8h8in_v)+CfZLB?U|{1nFl4^J773R}?H5BT>V{_z3ZEt$cM^WBk1;YY z8EMp6fAE43MyE6<wFy=i!X!C=@lB55<VMi2R0NEp^$mH>n*>nRQ^A@)d;=@vDDuZm zY$|Tt!Nyc_$W+@ZP)q-!3NsvhTS$Qg_V+lsq(-|-;;2o8&~HCM{gveGz|*d7PQptt ztQX0pG7#QOhGy%GLw-$#A4v7P;5r9z7Wcfv=YD!<E2_KD7KG-n-(Bw7^RG4+8uFk1 z^o-^Cw@(C<Qe0@AjhB{5A1YN)buz|Zz{8fUh4^X-6x}~AJ?POE@fS2*fF=94G9l0T zC=I^4+?L*{`U1J&-lb^CWy}EM+=zk3&Fpu~a)$IyN@I%GWMt|x7ZBBzK^BK4_-a*? z3qz}O0y=noy0K?#9$(-{g*^IcIh1~m6a?j(_7=X09lJfdZWd_WrdOxQai*v}S812h zX+tvFtwUp7o?|3LE=bx4b)A3n{ixCSlE_Tfqc7tDl{Ns;pk9>Ah(!4t-4qRbl#muv z>rq1U{Cq?@W$-!0wiL59Jxn-DnueyT$D84<nP(jQ3FZ_Ad*ov?A`O%KOnB$xQp#q^ z{s0ki{ylKfwyD3EY2}g<P{~6D1HqAv2F8TDFn+WvLzpmHxtm2z$0~LN&LBgiqcbuZ z<2vmVTQZW6W-#x4%j<0bqm5x(3SFOH;LZ)lt<wfqPJkeBT#|fcmB_>iTLfQAI`$@H z-V6Sr0@>;cl*m*4%S-qSFVU8}f(aP`!7|3t2DU;W#mHHy<bWpUZzOvW@11kt*cCcg zu9w#!(vtBx))^J1`BkQ!g{u4GU=hL!oQ2?KSXdNW2E>G#Y<e8#tX)DbV()E}H8!gp z%>aR5SAIOV(|1wy%DrjhuG)MeCtidpJf{mBwL+Xvf@eGM9xC1<I>(m^F(b7q<e?E# z>Fpcuwvbe|V>bFg?aEUZ@rX`uO}i7ZP>ON{GnK7QK50wVnvWJ}SdvK06%#fRYFvan zV>{Wa$1XHsruCesu1C3}iqmT0nPbx+@fE4LoTL%@QPEP6v4+Gmwth3^SOoLA&lS{- z7uo8*VxIp8l4k8+<t;^#`V%RyXZpUySblQZw@`bKd^u-=bDZt{?0%+oecQBLOSol9 zMSLz<`=fT^sa3>hcbEN^@|pEf_fjhzqllie^^Dtpnt8hZsZ8O*D|}~_&gP;vd(FS2 z@+E+w0DuAEin>41*J)*%u2elz#-qh^0H2Ke72ue3Maot9i8(3}`n${kAKW+mV3%p= zpvKA4Xs>6_i%eLnS$IMZ4}H7$jRnH@YFCxxuLfKn^e&LAr;jHzE^VQjH_cder0f{L z;|V2Jj*vhU>Ib+Rs}>r;u*bZ0Y?7GUQOl$CA#U8SpGs5NP6g<EiFSO(^97&ml?a8( zKU7h9El;)FDy$!FV7-Y#hQ?Nd35y|z7vLbk#ApR_iizk0HDOU%%dZzZF<v^wR9+yE zS5PWp8QR7ur(w4NW~>&D>{>@5#nY_$Rxs-cSfM8S%)t{PVhsjULW^#Zj)+2T?y$BB zhy$wbmYWYpS>Tm_5nayAFpPXirh<=Vl&88TcC>d2sUAelmKkBv&0vRkqmr`^QAm+b z%4+;RE5zB@$J0zCGSX1B=0O@ENczgu;f+SU0bQ&!Z*}wo#d_aSZkhWq1#JVf4NVs% z078~ZRXxd!E=w`+mLInMXq2O9HuSr?rznNQ9EV=!ZBCY#c7VbYZqQ9p1Y06KheADv zva^W0B!8>hFOa9eS#l8rqDDB$@nz%=!&-h=2D=uScL9c}wj?-_IRqwQ$|$+>Izc8Q zO(tc=L^AaLI#wyUgnS6#-_I2XWa~?QaOKu75-c)I`NA!|0v@933}2!vf8xLk9w2{a z)@l%|L$sc=C8NeYBUG}imS~q#!0T~2%HO8D(z8VxfcMg>jSz;~4j7??_~)NgrUn;h zDl~lhhV0NnSvoNnKG<6-T!9acnB(+M)ClrNd2Biw&-}HlE8pyG!P)dQZY+*b^*hSh zU+kV5ZfDvJoVT2V5zofmv9pN|Fo*=|iH0gv0Aqj&5D4d+M$Y%jdG_(LU=Ik{wmuGq z%y%k)hUG+;LAo%QvZ1f<f>=jb`&mltBa+_Htk3ea1Dlh#IV(_uSDyjt<lLVOIG!Mw zsq3e8hjhy%ME!sf?@XLkD`FrfWB}F5DwEDdBtQ*e0_ll74@WX0+Sc)qhz(<A9SVqQ z1@d!TngPxtSrK_+nVQf9t$?02Bm)TOY57Hn6aq<Tz8~y~rv#3Qa6QVu@B{<V1~_0o zHW;jms^ZdPABn=Me*<;-a2cd9GKIWIi(O4Ytr7k+T3)<8fv-yt1yQMUy6m6^>7tkr z0Sp|Fg?8B7F#y!PuU#y`fuB=Z1<B03PxB2G$U2jYut06>d%7auj_vXkTIWvzcVvC5 z&%d(ugV^|uY8KvBtFd(cK~uFw7}(H`GWqTzN$gh|$M>mJ(f~O+^vWbr+CNFB?Q?c^ zZKt&1X&Q?OIoYhvO-1KMZ6fl{Ao&>U*msO33bo9J5mIWI9o6Bd!k9p}3evP#7q0?Q zJ9-4@CsKY)dNUYaDfKw%!TRgNq(b~lvBin-M{d4XoeoX6e53o7Mmx>E&EfO|aM*k7 zZ#J;hl|#zVwb<lo@hq0;et{s>ax5-onfsOccX(NhkAAOjOzXvP+9Qh1%oCpv8azhJ z6UDwAH7yQkqCS?`+l79X#Es)J&~otMsUO<(8KHQ0^+DEq`O~Rpp4?P+STELc;Jd%5 z*a}|woHYi*0(-^}t_O3e90&5)lDGUEac)$JcM-*yA+?hT9O95?D`m<(_W6QwvEoe{ z(LpbN>SaAi4Wbn1O65r*%Qa*H3Es0=a3N9zUEAfvg{|3EIg#YO44=xxGxzJk6*@Y| zFehw2W?eS;NLBeiC<H!b`>NuzKR53jTMd+brD3113@M^rGWhDle^|cjE^Is>#B#F* z`<l-cjNOvEHU>!7ihsS)f~S9{@_C@9k+H9mcMa0HvYE0)j{MUIoRt7d#Kr|tU@^?4 zRDRx+z<GYA25<bHSJf0VXv6|ahI@B}wrxOjl|)ks<3W@1RYt#@#FGs`34DYp%EwtE zsWdb)?~WMIgD?>ts9WU^_GSo?LQGDma|2<5vg)fSYr9<;2bQ#eN<>^b_(l*$OAIIC zLIi}CAZsPfnPE;;ADcap!p{#``f^6VeB;)3CTQLG<aaCSnyzi0$tanR5Ihyd>Gx0L z@f7T-ZI2<kD%#Z*(ydkV&tH)hC(T8e0XGmst4HzE;z*`JJi@jH^)hP{9dpEFFFK$@ zN6cOriVvFQW?@Zs0h0BuACKFle8*;?+8jC<BM<azt#e}@)<!mj2b6{FG>cXCs&I%I zAr95FVi^8>+|RNc9#uMEf1OL{%>SHJJMz+&bt;cys$2l&ymhY!v(}9?)cteHK-D-G z=N0{?<)j4(NC~&yQXNaM%{rir_dPB(x8dCb*DKA5U1?`nxwR`)yj*Qdym(ZrzeTE2 zA3paPLw_irLPjinfy}4sq$sPLQ;ND^eGrL@uS}M)oalD5-pjgq^2gH>rUKsA{%4Zl z*Mhc5tKd<8rN*6{IqstSc}6*w=gf*e?drwC9^n}I3P9Viva-HTLPFihK<rZE@$b^6 zH!a7U%BPD5o#Y|&j8~@v$HVSQPfg&2`-u>J#373;=!5Ype3Zw<7CqVaETwEq5gE-( z&`PCe2~z}X##Z6rH)v`lla1>wm;c5c%ET&`n$fqqDW=j9Icl@?v?nO9wtpkB?3?yM zwrW;GVh=mXRWi2+)hgAAX^kjWU2brE5$mP&KuuVve_I8hM^0%6`e+gt&VE2vmRAC} zCBFs3@zCJ3Gf;c8rx!Vt0Qxb@tSxT=0@EkDDmn(b!dv>bJv<2aGKNi$i5<f}yS~1| zy%h*lP=1UV3&@-*RiDNZ!kSZjNOkmkPR01NI2eE3xmcnAvl~1L?q^C;_WQjnyy^cr zfcI^qo%9;O7PH()4xxFQF5&rUo1Pz!P8E>Xvi_so*loqrY&x{Bcag$YB3g)mY-Gms zj!^FK#6s(EFDmY<(uy<#ZW9tC&cCnDv(5U+xwEGbIDW5}sdaPi!hKxu8@+uX)2=+I zh}c-Ed18qYJ0>B#{o0oYSOLTgU-zSNDtNxJWZ)>2{c71mjqUi&a<qA;`O<m)mXH%N z8fNxUP$>679x6PCU;G8LO3sXezOMlE%F)(t>aB=%Vxx}lLYi@uc4G)p2u1-Yr*Hja z76R!O5)yy#)VR`1ZdEu86>?A*j`Wz}i0NP6^`ZKc@8AA5$%}q&Ls5eycAZEM;W2U8 zmU><CQ3Bzh=U=r&6IrE$%ItX8ciG_%YE0UHkf!Rakg_lzg{ZvD9T%STbqT85(a4@} z{qyNWGg4!5#+1TT$f&KgEb3Q=>FHA~8HW{tYTILxb(lM*l}sxuHvZ#n%>uz+FNIu+ z-cZLwt1!gK&0}1+KT>@al3R2HU%}VGQ!SfBk{G+BUen26$k(+FB33qd$Eqe?iIB+a z@<Uc--hWl{V0r~$NXG8PB$Q#EoT$d1LD(;S36!A(+&&R2zB$NQF35W-<Z$D}<7Tid z+kaT3v0a-(JTl6qs%Kh4^y`9yh#gcLvOw&03*nf)iiztjpK9&S-u9hR{28*ns~mfS znnu&>Qby=%AL1>ZfZ!8_cv0!IsNe*3p0nLBQ#h7oPYah<=`<TKt(#P){A>G4n$A=N zy)7LZI=5ff&9*<2pL1b-i8g7h)f~=14ujyag;XuE)pH$rz{=`MDr-^@s3W|xQdq7d z=oA7{`eQYUo;AxxqJ{#|P|m&ml1}z~wjO;gYq1O02fcSnCbXXuFO@idW*@ueXB4oI zCtf-fTy9Av(*oMXFy&luWi?&rzx<TtwT>J30sx|1D$;9Ui+X}JoqPN?TSPx>WN)^v z{G>C{7?|<}Y^OA^RCzU5C~-lhP<(ilOXgrpZDS@Zhul_1np?3X8)KJG_NrZ(X}4RG zmP4Sb6?zU{Jz1{nMY@0Ul?>&JW1tq$ZzkHDcp+&0Dv5Ba9Y4C^@i8h#8RueK2oAYi z_3TY(q<4$&0^x8(P1YDX74FG!&7vzcgL<ODgCt5*P~da>knws+{H9+Phq7|RcKnyp z<#wQRBUu2WiBZ{^<`_fSe*MT)1eXTYUo7r%o4~gu-oR=%Bh;FZ`yu|`w#R;Xv_)kV z*1oNF6e&j)+;FFA-k*wy#r>cB8GGAjclqhJ&Yp-h%Z}+RRo>~*4fZ&x?JiDYaOw@E z@fF27K?&yqZlS)rc0i6l?;O5g)y#&?Xj%o!Xj?Aa=r{i9+s$bmB5GR-^IVkfXMW#Q zvB3Fc{$ON<9a@5V`^GpoCOlX})$yR*i-_*JviG4(Jkhc>{Qea%moU+fPF8u_-KK5( z6%eZ^%NU|TgkPv@4qF=I)aK^AEqU)|ksF!KH9eBb?Gf!Wa>Nvq61)Ex;+?>NExlfw ze$?qirL3;mnnjI&0X3ePLLSS01HAwI*J{l+@j_n+w}PD}Y^PPl^R<oNw)tj%UFF8| z)$(k?8ueB?zb>kKzxn5gKMwrjLygVx>)0Gi)0n%a_snCv462Q-Rf}{lPa^Wv!%_r? zu*a6?x0(f^*!>2~sXUK4BXPte4-2GA%{42!7A2mE!sVu?Y+9a7oY*6Mw)OQ~V1nK( z?EOP#Yf+<CPO38k`7I!odSI|Gz#vFZnRNyuN*l2|vGOOiowqN{D;BPlzbS8u?$-^= zLJ>xAN|bXJ`}vTAjtaOvlv~j9e2K4O3OKh}pBi$OgxrJ{d9aV{;$G_?_OFUmq<3eD zyefVv;AFikKtISv`3)n{d9IqsEtquFaOI2y{DPSY!;7W~4TfJV012=Uet$A#EYw)O zDHsd|IcK=hWS8h}x0`byUi9x!Qx;WFADou7&@DSZ<kI<f@cb}MQ|1Y|l?5fQTW6yy zya8{>S5??Yk4YpNzKoOi@02y09=xleNc|mV9L8h*sW%%0GD5EZhxM(HY$fk1g51<9 z6`JwYtKGADN9Y#WSnW}>46%23xj9WXgmGKjrvG3NR`WLNo*TGLujw1~7h&F`GAptd zqB9P&q!s3xNK!FOBA+Nj_X-6I>ihEL%$wmj?!fQVCNVvlI^b%%2DTqb*bV|AN78fF zK6Cq;!)GGxBXDKiR3N4~$h`mu=IQS4+E!rvWV0u_M|i0Mmc{fr$QVfGG4djKSq3k* zPzF$xt&wId<+Q&&-}+*qvKT_uQFWo19==a?IH!}(mSW(CI3ySI|2NC>-7<4xxbAsu zJx)eM3NFt4Eud{=!o~fYhR+CUgDATwbS?`qY@fI1!QcQ^a<tot*R8sA=g<7}+Yh*o z00=8JPRQj<+*6&=&}?hRSn=*tZAWYwKU?*Eb`8?^%iFaxtZa#2iap3XDt=nnj*V08 zFRr!XKFRaO9XT%k`0Wj`ivoZ(NwP=8R)0fRoGzR({ZvkF67;V7E&`U^Z51zAH7gch z?Q$$$_)LNM=N_n|Mw%+Gj3}Zj%zx#d|LyDFrntp1zcU4<JOlJB2DQxdI`9xLOT^l{ zhDrzCc47E*u3Gz|J~X^&aoD9c{JN-X+8YkdTkwMLT_`&$t~d^y>u5deNt5s|T`%Er zEhdcOOxLZKgW2u~mK+()6+>-!?xuNXfBbW&JKq7u<rXI|>z8#ZKP|+_VWLQES6GHP z%uhC;!9h%GjGUTRCO13V0cUM!J#H%HCsRD%g0`$Y7D(NTUEGB3M!6g<??ocMyZZfn zb5qqv>L;oUrB@y5WoFp2@ODG2hzcmDa>v+G(9wl`v6@`TE8W%_n9vHhr6~5o9`0!g z9S3PQyXV3+BQA&p@6&9yLElKzvmEP!wGqqX6rBc0X<a*2H=5;&B)cl19i#%P4N*l+ ztn=|pdE0X5@I-tCaie_guW=bsNclO0at)ZMl2<;4<WGKSdb3$pj_PlLP3WDpu*>$d zMyo241DXkpN{9LR)VRHWfwC}?%M1x1`?28LrNd#V=cosUp^`R3iRN0PI(Sx|ZR8^O zQs8R=7ix)reksO5p%DOJ+;7$yc)<C+g>hwcQvVAvP}53_V@-(OyZjWrr*Eup*0$FE zT0-1A{+=55r57;yrckId=6;gk+-O)$g#!v{+@U&6V9BcpiYNBTTJAKvjd$59+n60o zoLn;+Q?!>%w%ad%R(Tt4cCgwl(dobp{To1HqJOKxNW^;q_IBx}`g&d1^<}*8ktl%j zvppYq9#u=8n!t!S-+-tm!P(Owo!*|O3ZCJNtUgShZiJ_a(UNpTenh3>H@V*;V6Y22 z1pfC6ljJk*CRum?AVL94b{B(rOwHvqHdmbIEb@Yzmp1biNzZmyIe0W}B6Goy{XL(q ztvnW~(h{PK>5_a52*_+WQ*gvsUsgz&LyD=_CukLD_Zt7H5A9^9Xh@Zh>lOf)b!LsG zO&tW;Y(`XeLf$BQ5rG-W5QXzz$-~pz!A301o6~M5mE)F!LUMBG;^%@j<JPX#-wK9* zNK?6^b3zamL$olJRm&O<=A-|x4i#)=&Up+1&@OK%C4>o|sW<Eue0`x*62{zyrIY(( zvw!X{D!NpB&M2cyn41Ov^){{sgXdJ`bsDanhPI{R6C^WAvg)f5m9s-+Su@tmF8GgS zx%6(;Qg*Eun|Gy)JmgL>|Ey60inRlAZR%8EqG8QdXhW^Y?@Ug^Mm||2vRdt-+kbqW z{>Jh>`soVs{d8a-sS@3*o6Q!^X7^W7N_P245FBgEsH_s}Jd2nXW4Y>7gk$Gie6#vq z=5CVxpta(%;pKIxpc13T2mE`Ajjt?i1()+y4zVdbaskA|`VXJGN?(v^rP`u2`Vlm0 zOLkk$Kdo#$+0Da@3VGwpzB#%#e^+vy!3roAklUqeXw?5~TUj=g6UZkwach?eNtP}C zs!7D3RiPkY{?`cp-K}5iuBGd3{^4_&e>U@T$IrHCWeT+REr(VdO~bDfXo5s#tF(fc z?rx$J%c;?U2lrfA9)H%~W!J(yj#F{SV&O2&u7gDCl8__050@4F2%!Cw9%9tBKKUj6 zg(mJoUXav`$(<Bly~|E~Vu5=1+Y~{OPiL0x#^PfuIX%1xeqVf?_f*!7Bo_8hGDn<a z(4}lCP&^f$4dF#bu&BIEPNMPLk?s@Jy1{(%UK-BAn=T%6>d*Q*AiZY6^n+q=2*e)W zN=7Zb@<-vz(eZ_XJtxCzHkEEh_P50@^d@MX0xu|C`q~7oAA95Y$GvRU;%W(q+>UJ? zBQq~^$n2|VY)jt?)hqV}`ktnJvJCM-!vapQ>m~#B>-^Ac!GJQg2seW4vf*d0h2QJy zpk_*c{+MM&i>?&>hZUgrdpB)=+R)2ISXT<o0>3Dxmu0=Qs6E1PcxOiC@1(Uq@d<9V z?7FD%&O5YG`h3upff-EQN2^5TY0%H~?o&Q@zS=puP+Tq%n%*iInoAzX4bU0C`zyk{ z+XKWVNl{?{=0_)oq&d5335_3g3CrD6hEZC6)$KoO;kX#@$!5!Oj!zL{ejX_Ma}v{r zLq?(E?vvGN@S#~dn-X%S>#{a}mJ-e<Y*cP-!*?fBmQ^zk^n<vRbmpXeT#M8u+{paS z`e5Mjaz}ME!EJ96{d|IvJM)%Fdh<UlVL@_xXx2?--R`-`x5|C}9d(fG&ZlTua#KW^ z_Usa~49$1vE;}0}TOT7)H0XEEbK{)9H`4)w4H#L_2u!A!#z=H**h}|u$4NO+Lpu90 z!g*B>A-%I#jT-%mTpqjhYJr}r+pwQfPMve!Rr#kGHi^Q7R79yd=JY^)N2-WK1yb9G zc{;dsiri@x#aXkc@Q*BKz!NECJ#H$fXOb>+5_~x2Mcl)uU`%6o!fuUqfgd2+IKCo6 z(Ej-I>i(;lv|J;^2AG2Tb=)8jH-X!Cu$5du+BxhY@8>6NR8;b~1Py~0IcjLBEf3^v z<yY!LnpIIg1164)^NTDU(Js;dqWgXG1ztomr$%&Ay*wmKzws>-qZv+eGP)*&{@~-Z zF^)b@=Oo?{Ps=<1rAPagmZd<D+t7s`*H-ffo6+$lUb*!=Lg(#6=qp15vbLe0!oaU6 znN+jJk@ABpzm@`l=`k-yPouwi<?XTVisVmh5?^;&ymD5K-PYb^&&7_Jp<rGw)Nnj< zJ82v|Aqt9iy-BummpeYm3kf4xv6kTdQ$Vl!Zfm(K#bKiWEj;GXik6_I%BA$EOS#Sv z>+!ZccW0nH{kWZFlgEqg`Lkx>BjdlU=9zv*_Q>!9*23PlLyFw+rCdF>OUt}~jYEvm z6Lk=+5iX~aC{c9u<AHQqm<KMS#S1qt0!8bK7c33eyQz6tGeeAQB9>F1%3~nv%fD zO<`nZ;rD@4*?rjxs~yY^Eg&}eBNL*$BRa%PXO(oOY^N3*SbR1!1o+<DMRIg5Spj@8 zxC5{RS4L^7ExQ(1Noj&6OhqvY<!8!m;g`>UOe@C8vgRX~=ZchGQPUPDjVo~};XI|d zg0*2##*bY;f@*`<FG3%5{o2%I7O~KP?0{!k?ni?9yzx}0>J?Uj{0rZ1KSjT2N!YJJ zjYjjF2>Dlr9G*kn{Sq>ZlXH#Cx?%Q|9<eL$fMN+VG&H+bb1g0I02O+VpYZ0jW@Bl6 z%e_ieMQK-j9Mh7Fsh7rt22ho!FQr$l+=8LVVW;3S&h#gzf`GtI%Soz+#{-4H`qq_C zx->Ae{mkf8s$=Oq{h`U|8s|I2!i&rrP&%x+E261_NUkhr1n;cZlU$bF?cu42MmV3o zk@}NSw+jAUCnRc1%fge`OZ+_Zn~Y-0%D^fsQBh4y`ElkAu46=n+abZ`P1Y}erX4Zh zx<IZ{2(FamQF+OsS<m?HQ;7l(;iUwXLVb8qhMqYMlLUp;dW_(GjY_n~<Zb1|@*H|o z!?OM?p-J;9${=fXTXy4(g#HFA!`$<Pi=9O6wdSO*oyVc!XeY@!$#azz#V?=?JP+&6 z=+T%&+&|@JO)3w-FXO7q&ZlHuN$WBZ%7YMU^OB-gq{Rc_sGt$UuvQ_|EpdFq7P)c< z`eC~Ww8-&;8YgeS%i@*B_b;-bA7nfQg^QG-&fg2(O;t|zF?Q5<M+T46%4R*x_zR10 z*)OYpI~OgpyVuEHc&Thwy8?bN=&*2m5%@EI*jlXnr;-^neb1X5lx_2=ZllmIWHn`? zBdR3wKJ8DpE6RM>I-6YlsDXF4zNCxVk9vS@Uw@Y(|Lak^TwLCQJ5-~!R6?0i8thvs zY4lZa@s*FC?&|!Tq&D5L?HnE)?WxiYV%j)14=MO-VWFp4u|^`IYBxAiZ*?jY`Q`O) zN{6$Fm}@}EM_@jeF{&Lof7(iADShW0PMx3b%zC69_yIr8HDBbEL?AzGdVI2hSViW0 zxps3XnS}g@<v$$dzB(`{<wi^jKE#lYV$%lv2*A^EgHw&7&!F7d>2MDZx9`mw&itN_ zUb^PRBuGEzd@n<JQ-^?PCje{d2-%yq;jWXq9dtS==~pVBFKy_y-Vls}Qt8QxJHV0m zs8+{Yi_y)>Ub1OyRiR$+ElCcxU*%a0X%yuB@IE2M#}8OjsW&-8xCsjEkqMd=?DVAp zGRm6#xgGK<ai8^yr<SwqGChj5BED;5VZ`L66kWCI6E7E&`1f-^_ih;9Q7gaw537}7 z-NV^(<CZ<%+vR!aU+?Qre~da*Q><z5e4pJeyU^_=fGrfJ*%;G?GDlY&yzZEuW@;oP z$oLq$jR;}K9QQSZWXv^u2)6(DE!uTxF)~-dQxN9!y2z&f_kagsqav5ls?9*~w$zt? zm)D+wBOYq<b+&~>d<>oGrpM2J|B;-mr&wmU@lD$#)!T&luN!r|IfuUXNKWdsv2~oK z(MP+KqMrAzV=-*@|5Fwt%_<-#MUJiS=yapRLh3<UXy+Vy!omq5cW=jv;27Q-{0+ao zkYXHK$wJ7i3fcW&+pI;sBT}LyRN=d=ZF3lFmY!+M^m|Q}EX2@GUZFKpQPvR6-q!Nw zXXw_11~xC;dg=YFcG(jBjA6sPx7Rth;5d227Nz2Y0pW&HxMdRWfjVdAQnPqhu{&hZ zM5dz7{EWN72Qf)!@Z#`yaCtF<)T|qQ(Y>_Jq*OI}wshLMf-_Ta)MSkEw*|+<s1Uqt zWZAh=bA)5;uZf5;0KY|4BaZ6ISG8iPToS|3CN-xSab+nV^=nYHn{p0s>}9gbPaC@{ zl!_!4$U<ZYTA{u}>(Ww5SFWqvB~b$d&3rE7qRT6!{%M+?RI~27>!&!SEvHIKINi;< zlEicf+W<A+P#Q$aCQAc%{7fJBHFNG4^bT`6+Szq`;MlEIV@S}$A@r^J=bc^`L;$0d z$>5N)KbQ1|O-srK&TYXl*e6*aaKgO+YhVBF#oV<e7+Zc=k3xPtE-1#z>9%T%&*pwO zHjO?YW5uE({Obj<R@--EWUN=ei2m)yCnM6gMR5d_ZWQW;<30~_uas?gzp^x<tZAvG zvpS|@et*I<#fUHoNsh`Vvhv@)>9hzKhb{``EEwil#Z*nXi4zaYsG8XZt3;P&vL+Ak zd~n)}D;C<(KR9N@6k?<|Z;QO7_4lGEe8i=X-L_OIh7}9Ef}dIS4|6aXw6@HhjWf&s zL`xPYHAe9{+2(L;%*7O+HSe?#=8g9<rj0g!+*e4RX)tJq461nGH}+`O&75e3(Fp!= zTKOMMUmX|K^Zkt=(p}Oi4bt7+y&xUZi*!miEZwm5(o0E6t8~W#3xYJbq%?wv_^hAr z@8OT(?%WeIbI+OAjdR||W0+^zW5j+Kd1LfP@S%1(GxLf2&k_r^8)>nsGCo^k+yXx1 ze2sj9zpdsfAjKQ_p?L;Iu0(mue)h^qFh`OgCOG{2xbZcPb;edE3I;2&X3FMThsT@C zCPVul6ZAauf$6228l2MTxre!(-Lz?Na*0Xjb!L}t?V-K{>Iret83|Ry@cNYpLzf!1 z=S2{}{nF-IuA_PXd(M{|ZJz-N=3<YFs%W!@jQly41G|@~Q|w64fFNVZ#&n>$u99^O zTFIque4*b?lPlXxYPgU`MZm4FpilAMY+^T^n(3Pr{Cc6mqWRc35jsvwb;?`73_$2S zQ_}$r8vbauNxItUZP+(ewhCc+)5+;W&Hnqw^peN4nB&^CGvznv)09W%pPbJN6s~6p znu$cq10rm=eP;8_CG8N&>3&<THXd$T*O=~Ira8<Vh_C$;hN<I7-<9j+N>F>OYSz4d zaP@6b>r$u!9`(vq&+BwjQL3*sb~xR_Mcj1i7Y1N4=59}EV-@id<~hiQJR{cP#I1ok z@1gT@on3bKC)!XFele+`eoBB#5E4wFCurBJC*|wgusb1}Vd+Yqah~HCF;(?hkjufQ ziIUlcg4>Un6coh(`y=TDtnMa<-*5DbvbXbiZ7zygekJT8>QrhsUjc7|^%L}t+jcH- zk2z&P0s~d@bqW?nsR|*ul~+5an_mmoQ>Qiq82ljovfku+mQ$JaUrgVO*1W8U?LWf4 zGj64FDATroH5HmrH*YCpvQzQak9P$^)HzX3qjcsi@vBB%$2p@{;^UT%8jZ;5U0g!c zbn!7vgz4vUMkmO`Pnswr_5duFY-KG>M;qC&ki@(kB3M_eyGfSGGcILRKlf9cQqVlZ zl-qrHTQPRPw4zy|4TXYIk-2n6GT4_1g}5-uy}ot1+Y*pPc)7&zX1j=v0KEA^O+0qA z%Y=BxWnW>V-<naoQ70)N9^ZqF8GJ~(#_&sF13poKy&z;-@)yO7Y5bZD9P5ri?>hqY zI=b7Nim6df_a=JM)k|tlJTT$*d#~D0;f7uzqj}>3Q;-qZa;+VdR;}YOZ9O1Xqv&jv zG-1_?Xh2UoEyk;Y1$w28GwYt#Mg&z6C=W+u=K<gp#>9WMDoe#2^$taWT!td-T3Ff; zj946kypCy4S~wcy=Muie|K!q4`3)L`n^6-x#Fb%Nh_C(i=6GT;Q$PSCh`n-n=Qz-8 z=ojhzcOT33oOQPHLoke7S9U~#-9o3XRpXV15GCksnEibV4eOasjLOwc;dfm(g6zWj zZ^g@6B*;&ZZhukO4vT(my^<W~pOL-#stcEW62uBz<|<ch4^Tx!TYM36l{q^x{-|eL z?i}tfOE7&^ALpji*5(=14q5(;FRuBEk@q6-Ev5M%2aggb*2op@#NVGz!U3x1=p!W2 zX1{TV5{<bP@ng`el~6La-Y4F#w7$3&4oFvh!8S0oMeMm!t^;yPq&0Eu*70q`JNT2U z0^cBf3*IHnbyjB}d@yX(Pg;9cR1es~s4~`)%Iq!Hg$bX%T5|Sk{b{eu=IfAt^JXIT zAUsz(P#No?p>^z@Lu;WwzC9uNQ$nc&Uuiy>g@qM>{gakFO+yQbcx*e~1}M|{!!83( z=PK<;j>-fJ&j(*hmxZJce^FfdgVkqh&dWUZ>ytej1tlWIC`1djNl7|ZD<{|(H90<X zHPNafs)h^L0t9Vgly<^W-1`w88%i3~v+_u<%i4?|zt$bVwu`ShY}1++zeK(p7Kq*s zrzg?%fu`H$@6`LMNJv5}Xu=#=1eJTe+>Nm_5Tyx2QV!z9CMF1IJ$0!uyfUb!z*Ta1 zRe)&{d$H77=*_mqvvK#mrvCF0|I6;Mfj_Ur5mO>B=|GLsM8JsS*73#V@!;`hBifWQ zSfgq6$1<n}Rh)4+f|Wu<6}ybF6+fpEyul}2=BxBEsm)KnU)a?XTm$|AoO)aCv%Zip z{L!Ph(a1K<>YbrHikDx#O)Sl2MHBdb&l9Mk0lK|ah<gBMFKb{Tu$>;o8>tQynO};- zFzt913HpTgJj)a?%bd>*1wYl2`{zApFAECwOK1<(OQrJhQVrQ+Dy5?r<$i$LUi<ju zx<%JVxu5eP_W55Xyb<SfG#i!Tu^{l?uvrU9FN(Y7RY-l?$5{}C3v}E^G=Dv>Lq03& z59<on8N88usJ%#aCrYJU=e+)tBiL4Ne22d?CuS<p9%#7ABg<Q>8SgetPM<k_{Hx)2 zkzg29Y!}Z4nM3owp+SY!54!%Fw#>)byib!Bk$S}$lGN$_gA+P_G=q17A;HUh9HakM z;I8dE_6M=Ff|sGC@eu+0l*PBEPM+7w3kygjV@N3<O|IIPha9khi7Q6tj3h!rWxY`+ zkLOrnd|7!K2jaX}ZmM1|)FaULyCK8j#o21!b4x_4aLoi@I_po<17v0BkBK&ZMezCJ z1ch)*^q0BmTg%w&j2SEE@o!f;dAxcB&wG28GJF|Avc#MNRSk+&iQWCQ#XOIlBiubX zw<t1sX(%u<y?|@N5WW|ZP`?xCrf?%I33IN5w>ixIEBioIIB^?>zI)5NN1}=}u;7dI zh@o5`3JYMQ{;{~{7g~i@UqLiP%zP+GG4-1;XyS~H?kpCf=ycdcIS(JLw~16n*}ro? zB0{{nENwtf80*~<d-St#B70*xTU<rjge%iG3la<)-z=K|nI@(r2_enBAZlUDvR8&= zM6SWr_GQV*`<-zSZwhmYm#`NeVofc+f9CZ_v@@kclu;c9l_%C;eGkSPQ(B%~5KiZr zKFz0goKgmhwI~ij?-Dfo<i%tqn+yBe6xO_z`zyoGTsLip-bddj#oUKh^!aDDH$G7w z40Gw#ogNnMWnE#V7GjS%n<?w%;c+`<HSQah#$8YE-7`xC94S=fG9mBEO<6o-C@h6` zEg5N-mtMag5&w%46>JZZEnZ{7DY)uM3VQB#rHBWL@b<y<rc4ecDtvkDFgf(Tc6(T; z(}a*S$-BRY5Pb9sEhqOJ_gCrDeB~sKdQ&~$7e{#3v!{hPst~P;5v{uR`eNr1X$wEo za_(QW4#h)o8ZJ|2709XlY^wf-2#+aCbL^M25#dJstF9ZZpY9azFHI}wIr{I#?kZ&= zf2ytfuzB#j$SRtj_J2l9o%pS`m(yWYrb-QLCP_`t(bC`*FR^wC7B5UXGY;;ox%5@& z!aeYOh)6}=9hq?4DJI2p)Z$3J+u!Ck4iOGfw1xm_Cc+Ua@ZWSg5v;!tiIL@wB_^^9 zX5OJya>WsaZy?`UHw$eKtw@5y>gL-Rmq5(tMC0P33{NLN=iiGHF((}NmKX2+VzA>4 zzqjkqEnO|V96lXwywbxg*$#B^Qxz^1%t+T{?+{bH(;gbcD(?rm-EVw7>w4k}{ei34 zgHI3Po3#>}ru~cJI}qotFRvL?TO0#CsRw9M#d^t@8i%l0FDlc~z%FRk;P$}Ez}}{? z6XV|`#z*@0fob57X*~Rjq*@|-3i0A9{bCqGYVpk~<M$Z{rvhXCTb)!Bl^^6ML{>_s z5>6Q2I>f7dFZ?`p964$bI8qIPmc6Q*(CP6Rw|bRd+?i+qIwpzbRHMUKb~4)I1eqks zWpnPbUpXZ&Owuh=9@zk3a-wq64|5n*xoXX`b%UyUj$}rjRqn>d&+f7`cX0x!%~CDq zx|xMTvb@-&gBn^;k}A_+Ve_NjuJ&^MU=G&7PlRhrQJtPj@Nc5yWMAR#1w|WY=F?UT zAv2u$jCVz?wsJbD#-EDeG}rww5H`>1EmqewooY{ECmb-7Qr9vP2J|cb;sOcg?;UD# z7|HkPnTpQ%i^BEop<zz=IIX`yC{VnOj;1bMX>qznz~+X<1Kg|8h+0bq6Wh5W(;e{; zkbTPkLuMZU70U$&MBS;h-)I#Qj|r_ManS^Em>0~5^vw0REE;q+=LWb`7}}3y-DP>6 z4UwBQ8s=^2iPbaM4~Mc>A{~V*o2f|XLnnKEqSal}=fug(j)q=e7X|jmLWlF0@xI8H zF^wKzy2E2{2rG)AO-W?O+d>2MKZdVl?&N!c&M^4Y#@hf257FSW)PxBV&Q=0tGS{D1 zaN&5qOE%kWeA+!|NV9KB$Jll%<F~!v<<5Um&f2<{Ov`*iGJr>LT%lY)CfNs#te}E2 zdZh~*46_<dJ6;mTq;sC1Z04@5qsi{cS2&v%5BIreUdL@Mlf@Y)_GVAKpiCk}?TAT@ zH#?E4uPKYE?YQyfPo>jWI|TkS%5T=AnRxaQF{19wdPy|9x_G=2(D^GBv3S5ap@5~; zhN>Q^*QBN#k;bzc&N64z7Xc#0-(Ig)d95&Vz&TTl(2bSox#Z0|=?lPY`NN9En=w4& zFvyRHuvA$nlR9;IE5z5w$%Cm-N`9!XZuIO{EF+BqPq#)%Qh%bU4qM8kZT~G^AkpmG z<DXAZfi?X1u_|Kp*gkAwh6ZB}p2z+0fuTDG_*3@bkplaQ<ZC$Um$^&ontb!sAL};C zEu-hTx^N2qr@Aj%JJ<T;qlRx>G*^sXBT7brg9tyka8omjWeTyR%ExgJ+Pk%IQmQWp zJxf-1pj0qP4xcf&-2f`aQg`0Jm6@vdh5L`(jf$hnXzCtXqQ26D;_$)!a)2Ur-_{LP zSnZ3CMT;#Kq-W2aIfJ9Gl@~EB%U>DPKsVK2dQ9i@BbdwH5mt?$yT+M}iWBCaVNg?t z8YZ!n=y1Fhce$!P!8!6gc_5|bCzb@s{!z>@kJsGilwIrWKHgvtCu8MR1IzkT(I7zs zgFL?t8AoBEet~`>#FK}Rq<oPIYN*Luzs85Re13u}ZkQ7;w_6r?Y*^sYB}|?3UZfHx ze-+~hX|92sIyfJrG85kQW<L)DvcAN3lqeT^X?U$dqQVwXIOqoEgHxRwKe1cQ1U<yC zY=momCi|`XJL}Dz(Y?a1&-gi;W{my2bG7}yC=NZMNrMRc_v;4InzP;^-E0$yHclGo z1q=M2dy^e*_2>DQ-?@jR6O@GG+9gBRr=A82d9mhd{Px2*7HxMi(rdO$dnP6%!|^06 zy>_2UAtC(yn^a=-r^SMQ4v2v|dxo@N#@W9pOOT=5X$}p}3He#;CDz~5@k3}Fx9l@H zpZN_`_VP0SRG42|gvlGW*FFO`B7*XHAa}VhH>Q+xD<HGGsx0>DS=*-31j-Isgk#>q z+IPm^<z$kQYeW^QM4-HIBhHVtZ<=5t3eUl;o_x&I-r~4%6n}`E-cFa3`W~)@v5OGy z)ao!jL;{N2f1h-w_T|S@-y#D=$hBx#3yRDT4GmjThN8aQ(~w<^3O%tndWK#BnYx_a z8_bsEt5;550ULk_loI=0a#B+-cv`tmfMdvO^CvnG=EaA$M;GOcLG>ID6#bS=p|H!@ z8W>i8<=1W!zcu%<SiEm}uDz@euOFEV-q&6!Swn#=n>f!MvQY!6kRbu0sR(0dWB@74 z>2L~p_CC3bG<l?majvXl`C(Pex;gX|<A$@VoTPp~P61WqmFM^4R@+ToE>2tZOFF{B z=)nZaO-A*^!17&=tCoThnr~s4%Iaz#flcJ8^<2Pt?nQcmk}p9#C;7ABibVVT<X>7& z8m^rlzC8|9-mii`(et<iG=AVr&R*chim+)6UGtpQRGU~&DU=QFbb^)1AWqX~b@$0C zPE<=Z%by7A<qAO?z7QlBPR(H#>I_b^68{^fdG^CcF0O<}Js{7F1c%|enrE#<tOj2p z{l@3tqzIWx=MU%U{V8RBCD=3hKJ*YG_!i*Y0K`F$7aKLX-d=7Zt-sO!i&aw+892RZ z3%Ir5O7yHzTOmIt>eu&{fVxqCfzF*K^D<obG;r4_y%jZ@gq54<c=CRSWYoxVFPk@H zliHVN9Cj7bYhzE}`Mp+d$|>sfH9~WEW{RMLvPyUO8!`i_`yOE)!Tsh94I#1i_;X?5 z%DmTHJr^bAfKdf0M!*o9B9EjBfQj3i>zGOXo!My4Ug<AN<gZvQ(<5$caQF{A|AN{= zd?t*fsEbzOXoSs;Y?PZ7EclZPURYf-!AzBqX-xLwmx`PpBPs&0KDR?XzPM|KhOgpb zM;I46&!zjKwre(DIg0B~pP1xGEnjg;-W4r6pI9&~1kH0i*X9*QqP^pEFOiDsk8WsZ z&+pj+(Jk=OQ)#w#iMLhFYt9R;0o<8#2r7pIn6g;C<v?M(EAgIbx;fjc!p&E->|1gz zA_SzEs7I=-P3*r~R@h~!(Z1|F6A>?2^fH5CmX;I=8|~5F6&u>Gw^gajBshlTv~Ee* zTH-12;uT>hn&!&i)kfz(emQLG&O{rLx92DZ%Lo+Y@@A@L{~;-lu<>jXrSZ@oiJzQ( z*L`Ay#^l-CTEWX8+~a=TF)=r+_Dh#AAwnj}FF8r<1Nzi^dw&Z^J*%sa3uFp2t+q~= zxQ~`IF?hV+vVia;sf%YlU}5M;DRc{4_WPLfZxzZJa(qvvv81@AbAkcYp2X?!K-{5< zJeTaN(7YebPpuKYY*~BGIzHeLq7Wm|l<I!o582}ngy>HotO=hNk?xQ@;=d>=<uQZs zwQfWFmG8}TK7TUORv8aI3tn^Ir@i@ctNhjZ>jc%Brav+Q>}N=8&TsC_m7X8uPazv9 zCi%sfT62l718^Ouwh*xy)cV6|d~HgY=i=3$O!Z2nmUdj+9kN2DT}LCcE9g)^aqL4Y ze>|1KwRN7kz787ed}t~f-ewmv=*53<7RGEx5oT98j`kLd0s;}Gal^txs)f+b<G6G2 z2R8mj2=GtojRjn1>a?{MGRfYZ&7oYpGlIj0u@p+tzgy1JLe;Qn0j6L&6???4wD);t zEGK)+5Re%H$<fKCbJ!}=_05#-5zO3bW8YuvaJ0GUAsS*%OILBBOgH+<`cZ~?p{_;B z{uYUCR3qG*x>l^`79<W+&zbR1UNeF^Nn6wlew!Uopk*2B$6?=MIemLgk7I182p0`z zUMnP*QVZdEWh^Lpn=zVz3>GD!V*f*KZPyh<_GyTq$2qZr+$^YZ8J{otD>)-R4FI#< zd=cQw_)bby>1fx@+jJeo4N~dV1L(r-oo|$PW~KE~X0WHZf}&%DEYIrmx?X&+9I*X9 z1iM^zy-SahyYK*KYX`m(o({&3(U%n;`g8^wf*A-N0X`2KK7j0LhfFd&D@U|P>a+$v zC~Lp%aa+_TBy|f>+vV5kkE*l!fr8({RR3|p$`5OHSd4&-qF42-yIJe{bJ=14H6bM} z!~sm^fYTPND|GQd2lU?fN;>UgG>Y(~fM8gXF?tkme0A~w`|Z5P4eNl~CNJti75lQ3 zAG0itCA-3z;cCYn4{0;fF@&6(w#tbfD19MmN(e>4lP_<DbOfV{Ni0I7`T<ndx6m!w z!)_NPTb^*H$`JS!z}ONpb<eZD+aod2G3-FQKyE|>En3pdp&R*aQk4~88%rL+vC+!d zao7+?f9~|rs&;sSiS<YLF~w;M0cQ=NN(7$X+oZJVLaw4P2W2^cHn|h)C#kgFZn~sT zeq50)H=-({!b6$(j%Iga6*6jS-X?j7N}u|>jNl~GG7FY!Rj}gZxN5;BC6xkh$n$dQ z7Sh(u++W=D6!;p=K0U$|Z<*goj!v|wY;P&yOnbm)bcV!A+8-J|A!A<j!s>Y)?;Vn1 zG}*svUl0g{zv>Cr1>XfZ{{GRTBY<|_xE|BIW_kyrR2JtMAM6TAdjE4$CsXuR57$VQ zIVP%-9vePZE|VZ3B@}HIR|+ZJP`s(rTK}kD?UsqWt;oUyh3o7*rn7=CYP50Ieeqf| zUj~FK8&bd7sF>-?NTPnurjlZOO;mIpa16OK791(6&QqFPxMM%RqCgw4OAh36u{8D{ zf8Uef?)b?pdFUaFIafq>l!UoN{|YkA;rGrw4bYn@(%U1aNJKr%l=`OYZL->=pXw81 zZxwj3G(KVU8|>#(wv$ga-lSqvl|N6%B`6G&b{lW1xm=N9rq*?n__B&9n&xr|rZFbU z7CAt<531piKJQhcTNzzJOw2(uzP^F+OV%<D*cIb^50=A!S9k=c_omfGKGGB~zTh() z@jFMuMivFoc5u;}p-*^I*Mgc_##@!$qHuavUnTUw^yizo6Ui@z(~Ndc!E2p@vt;iN zH@XGu{%+CibV)%tdmC9jY3v_k1vlb29!A%Q4m-R0x1~gdwC~1JTN%D`QC}m`^cwL% z6EcitVdt-pYsdZ=6}PFRc~7NG%?NJ2N-J>+d(Lo*_o(}rd+=iXrQ{rBN`{Vc+ZiYD zRI$h8HB6F>Z}+18J>2%9Yu&KGu~XNG#NKCu9Ktx49GLOtEp5p!lRoiZDeGO-he;J4 z8S<CuiLoWn!G1kA_ZT0T!_L*W@Tk<LFRdF`mB282G&F+5y02PJ<gq4PpPU+2)7UJH zMY{^Y)vX+gy(7yyX($6Th$?@pK29m-=$D%`@b^*zW83LZn1)Sn0T#U060qO~E$2Tc z-8XXl8GrQONpQF9yEnDIFnu;py0P*5O7h|v@Gk04(V{-nOA}F99=+kc(7gdGdPq&% z7Te=0IkY>=^WJIkyYBGrx0eUdYQ`@A!!Ib>L-RhSP3;~=Oh1KBHN#sy>rI>tp<B6W zLM!rzgkdj5AsflHlT}0Z0kLbO%eW&FR+~DPXR%*^wKxPU+#8Qk$Jw{WO0Ch#g=yuM zNzx>5<80Z;op38)ieuavPR&LRd3?te_^GOT#{#!HQKF*xi}U3@Wbl^<FH7_K52G1a z=q@UZxn$Iiu~gCGvejUHUeyktMvM+&MxjSlqf6ylKkWm%WQTn^uFO|?W4cB=GjSvL zvob1<Nn7~Tb{d}&8;6}J{9XXgE@_wvs6W3yKTX<<qhnpp@mq1ysT&o^g8D8BZ?Qj; zunrO8jn<1+C^Q|FsA=loGm|EJz&|BkjdR$}$Sn&BACh=4>FImWxxNFK#1+f69M@h+ zlt+&kmo9<79>1mm#fXEs5`GEu4IggVQQN=Sv5faNpR!i6TA<xDGB$dT{|+zR>s`>Q z_UD2on%Xc>E<j!+2{iRH?tSB#;FL5;XDS`A?VW1eAx8XjF1=JX>OSVS_-k*1JQ6Dp zdI+zOa*M%7S*YOI>UcM~^!AZCCwfj5rGtC}EvdV^L&1&frp8~CBC-Jl_Gze)4xv=) zwHjC0nDWdDj{ll?aMCU>GfPh0VL?i=JS{N)k6|%I&$w*B4EBPpeuZIqX#Bak5_8vK zj97BqOtujz(}0~7OabGkfh<OJK}|bTDTsGO71b@UC_Z0%qBp$6gbf3Ca7m%X*VM^J z<`?8I$~l)Hxqs(GB>8xxL!K*v65TG1u+E5hBU%qTc%6Yh2qS&@rdxSC$oMk|q@`uY z3TyP!c$u3}<f3nX&k)WE8`!>u;zwZ?s~`f%q_UHTMMNdm4567CA0o5G8WDmMeH^V4 zwlgWD+QX{4G){oua#Qn+&wmIvnuc>$XP8u+^SaP}LG`_~dn>I>6jvsi9~_pTEckT{ z(CnwMA@jP&kmg`&;tSiz^QfZNJp*>XuHsp$lg&$<kS3YPI`SBib}(be9hdTP{l1 zdo5bIA!^b;yYxbr#ycYdH;bN4ZK6(`#|xFdLNWN=-l}?ZgQ<RsFflG;`_xmr9|G&I zy4{%+hhu0nkJm(mlE2qmxOrf&>u%FA>s(agFfQ}-#)t~=eWWQMSBuZAes!@B@l>nv zQ|uU~WCtSNz><%h_3XevK-|h+Y;=5XT(ssgA4eBt6lfI{KPR<8lZT7#j5xgIx+aS( zahnxXyE9RnwSICqU8k98(EreGuqXHlq&BfZ1JgJQ0fp3%VEoY<{smBc{w9&KUfJci zJP-3o6UZ1=&wcR)?;Fu)h0@;XpYT}^>e!<EdkeGUi)zer<_tgmc+$mdOLvDfigDG^ zN_V;v4iv}~D2@O}C47KJMS50-0xr5?ad6$a+i*k>+5Sjsh@vd1XhJp^cUn;d6QA=b zhMt>bQr5m_oFQVw=?Dw^h!Z`VqbO+=#C`7dEj*?19e!djLgM3o<O^_zq>m~3(a^2= zktunB!n)-6Q+;clelPh!*fYnNAVzJTmyau-c1u=5YOa*ph~_w;?i!sMtB$@l-sWSY z!c2+)3&kEG#@-(HUzLUEUALjjKOk1spc!_-Al(9|U}$BWh)@W$i$+paIVV}#gh<XN z4V>B9N5}fHT*}Tz3_ki@yj|MQbcO6abHbp<t56?-_QU%8(+Sm}hS{klo?&5j4J?Z+ z#-SH#KLTsp)Yc9OJzFQ@gG@b>Spor(hsKEz>T8vc$DbXYAd`#tVeG<jL=)=yFg03g z3zr<Y*0B2;0iklfAv{*7tqzir51R6vJ=7i6!nY>xCv9Q^3$g9&`8)w%KZ>Yt)QLQ> z?Rx2Eti$lp_1BEVEQ5zHY^lyjhVO!cYReof#L#*Ey*~(ZOc65B6~E?`k~#VnbOQIV z+JV&uly2BSDZg$NUg<`F@o#hKIF!63{-W&itiP63{#3%J;U?_8*_k?0T>%Bk<F$rl zbk*SIUNmmL>@(;gERsZGuD|tn5P3AdMHan|kf0|}I^^3K8kw*UbHCQz&zICY!v+YS zw^Hiy^6YmC<le$8O})xq)>EtLCj<<KU3AxTSM`%S$hA?ishH5Y$NCq9AEQQF5CHlU zXP!BPQao!`Vi@{!U}>Ln3m@%8s|XId57qarERomO<4SKEPk2YPnLnE_!fF$uk(rn3 zAj{#^^~yn!_aeaBL+Pg-Q}&(4TZ@B;{(Ve`^Y)b`_SMww3g;2NQIp|zJXqi3q7zVe zvJIPA4sU}93ET5DiHrD|J^C4kga8fG`Qi227Mr3&;TmE0XP$7>3V$Z&5VW3{Qw#-J zAu9|h|8A|{J6P{8@zE&(6anzUQTJ)1gF{Y5BYR~1Y;9{xBoZ0oDuhSTj|crw<8=^Q zzACc=9RXaFEH27F@b}O(>r8Rwr3gO#F&ywgSBI6ldLL|j?We#v*Kb0T`a4zj@$>KM zI2rj}KhP{<azng2fkj;Ym2_3bcXkPv{bT*j{Hyh%)t-pb7XtBv$0id~95%ntns+-d zGtt)y=_sUfDhw-qr}^SWmme|<S%T98F~vi&Q(_DHc*~SCKe_j?;Zg>t+zlncgFk<4 z%>%UZSub%e`Eqm>mAO(6M?4oTSKQDFnKH3W?<qQtrDhWqNrc&b#}%bteHL$DcBlS4 zDBFjMK$%;tK`6GvUjDNcRC=+}rCtZ5s{G}In)Ld|GiqfwS<>ghcWUeV0fcS?WmY-2 z`uhUjZfTR!`aUf9{SJ6o<teYzm4~ud%$a4_#ZzB9ApzV!IbJA?2RZC|4<#Iqw@J<^ z|DdsNw8>(Y;L~I4QI!JkyV}Hizg~?G<Jxd?s~$jrSmm7%4fd?Rvxz!QKHr$Oq!y(e zVWrgWqc#z)=;4I}$PHE#%cXc}vg|WOk@+-XNn1E??5ly@sGPn|IAO?OUoVUdqK+5B z*GQmCh|iYV?;P06Q2~7W<j(*)B-G%^l^hgZ(TJZY-Ur9ez|XsWaF%Dnz`r5OscPJ^ z>Q{?n<Ys-WwZqSE+plUn1C)+BQyUj6i3a_!nuf6hz(y(gzF2YefV2DLO<+(oaLmZw zmKpBea=9{GOvgqzACw(nZS;oQz4xvDdmaS7Q`h{W0I^;W6TKBkONafL+h~&i^2gbY zYCD_+8>fxKjvgA`eM9vMWU4GYaP=z2hio8}1TxaS-rcw~oI>lF7zfP(IOt9$@ioT; zrfo+=Qu2!D^roDLYw}!2gYfZf4vQAEz0E&j*)Lt`7ItvN6XX@U0c!P%Gd=_s`<V$j z!{w4YxOi!6)i`@!lz=i?8burR{U*_v<=_)F#OrIsl`j{2q!*HQg_e#>8SxuY;EIAi z_?qjxWpuC31#)#mMkgDSRfP1n|75-i|Nfn>%8TJAYGE9a*dhAj{;<YrPVn!~3q|yD zKx(zlpYmtVu~A_j5CTsd`sMx6p&HKTN@rLfS}G5PXf=QZg<}OC71xk7f?OW!x&Xi% zRSoE*0226MfW&8OM#c4T!;WOf$9gAo3lJZL3y~2JgI4CdAIe1H4ab33u^18xO7Qhu z<dQ6%!qjJMDuarzQ<)-pYi0G7s0En<{1aDw4EjUn3!iTfts7y=IOqF%LGsWUX`ubP zB6ROeEVxntwJ*J^gUh4j{SWmw;izOeboFE)M%oiv1ld_@>x1N#HYo$#a}j!%i0M^@ z-f#FJu$q6gk8w&E2p5w`IgYiL2^MIfbTH3FgA2px>gFekYbQ~di;aP7?nv+iYHfK@ z(>2OlZC~AIH_YIWR05WinMj=AzHreLqXHTSG(MVFe6~YCLvU@<t&Tev2ja5}*+*N2 z0vbFw#~+=<{<L3h^Hf$u!Q0T67Fs$?ePeL)U7E8F9e?`XTfmk61jxDk`ItiVOB7*9 z4+G479Hn7Iugr-|E2-Tnu@gryCYSZ2?%s@D>keJm@%Z@okzZ-xP{oak%y==$WxmUr z<nJ%$NZ``lINCjyjM8D!uir@D8!gu}U#B`p4hyvBfo`GPLua!{6j?=Nm0D||gVvZ; zk!|i|zo5+I?g1pI_%CopCLQaVyhfy_DvRUB+D_fqfJny<WY*@!w`g>;-Rhx_#!@ux zJDja*lO~{X6ec>dlBkdG=3iPw51)=5Awv&N`PyjBw%4H2XQ+*EwQ<Li7Zgqq&stB0 z+{1*FZX_gI${FuMLa+aswkI@|z@?Xc$BW|($V4TUO*NTi;(dh#EnZ{snhN>6)W3p- zi+3(v*GM#`N#uHM7<_iw#M8qME8Fa3?~>;V#ZFd2+mv%l-Jw~!Qq2?<VOTWK>3k!0 z?<3)&)6A~&b7wb9wb&Zw&Xh6hj1Dz*b#Zd7h+^^+)?p^UGmd7bH;8|f?}g?c!tS4A zPOIXESV5gs?1Q}#iK9vH71JWyJ)ptVInhF?`W^EFATO7KzHWW@SHptL7AU06lH6!- z1h*mc;rFDO7*eX;z__AGH?fz;Xcj=#_qPVNo?rb{x9XaU$@sdQ$3y{BL1=HpyPnja z?r7c)yT#BgzI_-pcD^3j^sE2C8FN6q2~GJ_VdFqxB#kH+Na5bE+(a`MPKa~3UNvk* z!m!$qM7-+DJAF5`#cNt(p-Tp^wx$w9A&3<Cth9Tv>2hHcqqCokaaiVKnrPb_#B{1y zdR<rs(-q<ujHA#)kB>Y9%AEt@{;w0R%?mK;Snh}V2Hiu(`lluw;-uEP-PfH{Z;SvK zwnYRH<-;131BcLE0Ohf95L!q^!m7u`VD%3`a%|qE{#ftK2I@&TKOW+QXNiGlL$*%* zbYe<?aIkH{0}2$YO`0+j!fK2W^2X{)d@~s!51nAd-7i(itTRaJ(gSLoj;jU$sQIQn zq&oH7i*(O%8uv-PhySAFW5=%P-2*svc}Ol_`)MQbJ>N>oXgIS>cyd9u$+U*YjIVXv z`9g;txNi_48tQh=NH8ZaPNg}a={VLELD0I|F-~Mo;+zbi$B)t~!F?ka2`Z}<tWE3h zTF(&x&Nz3G<}Q%DQd2ujCF}IBYn9;ndX@s9;!LV?rpYRe4Me@gR@-R+KPA|CKKpoU zVDBm0mpW@%kqC%}3y8G^@gVGs76ODDbB`L|0khdJy*{SLiGdI&O27EdfTd+s*oi4K z)FUH<hplRu7u{GVx<*tuG)-M5R8@pT07qy=4mNsy;93Rl+l7<lpjdrnv&>?PzKs1? zg^kX504wud(<}JLLHfaDuZMb0IEAiNf*RJ9c|pmhvhaLTfHF3vHi?>_-!naIA4UHN zFY_+k61Fgq-T{C7XXv`{oclS~7vM1@v2i>x*y0CgV$d^k)A2Yk&rSF(wGux;Mbom# z_ARHeL`KPY3AwjvKG3dh3O$6W6g($epB}}^-vp4T#}D!~J#XWiZj-2Izg0A7_2OW` z`(>dwlkJQ>{ez^)nwFi6(fP*U1>&%6{4U$`I&_OTp6o}YCcLry1}>syIL5jvl)I=` z_O>F`cqO0FL(tv9LB@nC46ALY5a+FrX7L)yjHAyOYqlUEIy7;I%0br#q;gdo09RF= zV|L!q40$L&??ySN=3JI@$!_|B@1TQLu?PG%g)C#2Gff70yM7delC)-sOVoGmqY4uw zUv8I-W3%)ymD0N4Hhvb(Y9e&Ssq3O~q-EPpsmyFI^scUsiuVhBU&O$K6-d?ggU37d zpl%)8$vxk@>4!s3YyxqDnC9Rtk_6`1l<{Fp5d96+X!wTySe<Up_c4{@&Onm)Ft};a z&~&l>9aN%*D-cv2WC?foy3~R>mDAwaT;@=74p}iGp&zELl`W`SubHn@OicxIsO73k z#F_DWTiaiIjYwDb;qE-teRq7LI1=In#^<*6^#4&w@%}H$Y4l#v!R-5LJO1+4EX}e5 zKH=}%IAw=xclf7`C_&tx7Cap-+F9dkwQ|*tZ1(P1g@1UcR8L4c9vP5WDP_{#Vd|HV z8)SDv#R0}Pu0@Lu!`O_sMjQ){vPM6tI9P2MI8YWdgN#}^k(>EXIyKc8mTSv&Ezpn! zNUbaP*D3d9K!%53N7Y}H=fC(1K)%V-KRDxl#;he(gZMEsnsyJ{6b+ICp{d!rVrftT zfC)K`GB|R0o|)W$Jn&)&jv=P+U+JwKoT@3jL?5*gsaz1NkHxp`gYJ-dA_f(u$-|Q4 z9bSRh8~M5J{bJPMBFkpenx8MA#n_EpQQFva_p<~|rLguTm|mK|P`+_N7y6b}x?+ok z8&e{U1x#LIr`g?E=!fzsS;|!nDP7@VgH7hMz3}YgO&S-SlT-}KNi=pPXIj@)6SA-L z_X3i`I;_s6RbmY>@S35(%>!quQWJfQ?g|J~F*!m%m<PdYB3hs%)0e9XQ0?`3bfCo1 zY~X+l(P4yqlt~Z+b827-LEciScW66T<@+{8It-}hUuhH62Z2b<7Ic+FdFa$YR7U6~ z#CY5#OiLi=Qs%Qt!2`C~$QM5&?z*`p!9GB^`)rPuG`uf1<u6Kgg78UeqlJ1Ip|K+& zlnk3kB}v*Ws6Ms5iiDcZ9mqTx`~^Zus~-khvf$iw%~h#yCq>jQk=rFzbt2<RqxkD^ zxJv>3kzaCp^m{s}s=JpIm8g}!xR?9*MBeHQ>+Bv7ej!zOxjvVJ6^l*T_1@B3zQg4> zVwl($;zis&S^z>L#b6ax`tdDmZ&n!HX`>ec%s-ISbE{*7Z2JX4Ifap*gA}?@`xom% zF%Y$1TB#Wx3zVmFa8o6qLSly$j@t=usjtI*51n!<pux0-Y+muN>)^!e!&?BbhL5iA z-s_lZ{$Hu>ID{<Ii|<^EF=G7lpq{`kRT4MAdXZp|b15&e{*21Tx7o(faCDZhHF-2G zs=AGaoLlA`5iefg90yg9P}7ShRjc628sraBVQ-Cf2M1S=xK|FV?zh?%tpt8EGCOF$ z)sBP1?bs13@$yE<a?+fJt>epg-srEpFljg36I&$%_clbXE!#_%>Jq|Lxs60IT7YK~ zP^a+O<LW%{3LgxG9zo7{ao6CB43#fjEn&EDZqvFmo@FqEX-g5iKXRKR#z@9U)MS6? z<m&63P&luz@i8X&pJs9wkRmZ<x|VMB`E!EIGsoHhEX~1l_#Q;voa%g4ZJy6;FaoR9 zna!TampuJ$wLugML!6l$tBh@Q#{fax0czo}l0+EFs2>^EN8e=OPu3$cT6Dp<@yBIz zgr%c?RzE)11n^ISm&M0a_|=Z4zMhDCp0d_6H4@R}k+72$A9jJABdbvB-NErn^ASeI z-$L_LW4z5L-pmP?5{atBlF=4ILOk%F5fv6IpxR(6a;d|dhGmN3271X+zSul)({k;% ziA>#5?@(i-R5DEHb}M}FuZWTd&!C$hxaVx8vQl)7To8J}LuPIRN(Yl>KNNV#Ei{n{ z>_Wp7?~|gEKvjGnBOTHXK|&CGV0uc-wep!xu2uzP8}CXf?t_p17|6{nfU6+^Gi3Sl zqyta6D}MP0AOP-jrKEEHs>JApnXe)d+WQVkKwmg<PMl(ukpja2GPKSnsZt5zd6r-< zkVnAlS?~k1(8y-6BkG_Byv~d+HE|r{j_&Y&`q*2pnnKmX5bjZxj+k7&Qfb#p`du!h z>z`L)V&_API>A)&cwFPVlgH}?6Cej&VO5|``l^P!C#9MGq{$qX7=<~p!ui_Ej~fP| zq@p65;1cS__R&TkP0Dn!&rxn_-5APP&%JEwUY<-fw$K=F0XX(BlD^qCen_pF=V4$I zQPv~iD?K*_)lW{cCl$q#$2xshR%xj6z;;vRS22AD7hgMW)Hsf-Ywv;6d}Cj-Cl-PX z(qPXi&7Tg%t#MZX3OPyN5suSB@S>Wv1>kE*q%`d0m+%KBrpZz^G}JpY5-zJdZ<<_p z!l(*tpdx6K1Tdro)aER5(K*!e^gtrc%csfIwOIJ*2G?r{J0#D0BHrmLEylkhobooG zpD3)zukvjf6_Uz&TPvRmb)LR%G$ODG4a`!KdRKu5tw1dZF=n@SA$Z{Vw!V*>+Ss9$ zgt}KGy@sCqg5<qxX?Kixb+aFEpG*yJCDU&spZo^klF<XV6CG@9k9>JarB`+s(J{B% zDc0HT;l-VftuGo9U3_aHvc!Ge-glUP&7wNt5L~b`X_T5w(AQ}&r2|#%k1>POD|t~$ z_+TL{8t2i)dDB5b3`}p8=Mphqn(r&*O6fj>P1Xo@aK0(v@O;&@UFBQ=b~~+ay~vv2 zf0Vn{PJVw}NUho39Z2VTC#jRfb%kG>U;9OnsBRzZ(>*u4kI>F&Y_joy5d^z=5g(W& zP9*0nIDV+YKAn&tgygCsoX5Wi{L**-?XwwJMvH1Y6yN1KS<~O`>$fhGrweAfbDo>= z0OASznH7_w;H*-pl9S~MWaO7e4$-9Tx*%WML-p23fDpX-5Frcr6ZPqoLD2*9zBp3X z|MD?W?qJ$DQ1dYhvUjYXsWm_lkXjFUb-2HylllU+Eh75m2|yWBu<tTZVGAP~iWg_6 zP;2^%M{1rm$@_w+w;MoVrwe9)c@Z}yXW}@go=tY(#EO43ZTdbK=UJG8TQ!3Hom?L8 zw*`qg8=RzgsOLrPCk3PdIQF=^m7@%Pw~%AEh6CWrAF*2uC-`rDHsoZ5JvkiY^xnEB zWKc(Y=8Hw4uYzWnaKZ85^@yL<S}5$JyUJ_E?>1!Yua+}+Js>^POFx&I_^^yU(#=;n zEDf2nxI!cvZ&HqC1Xw!;#86+B7Eqahn|nWXgt=xN)*eXRnN|CfrJxSGwss^l#e<(e zX9ph&(y6z|?TSP64@u4TyRgzcBpPO+xWd{cw0n9yQbod6bQ(WbhZF30UAg$y6sGLu zW|L|S!3yXdRAsxCGd=+40EO1cP(7LYNPTE)eXQem)o`o2A*I7nzas8Nlct!fRX^~Q z7pwh|r91=|wKhvG_L=!S=6+J;r^rD3qO49iQ6;CgD7?kYegXhY&FnyU2?erfq+Yk0 z%W@!YmE=!;({*D$OH1~O_C><y84nAt9W6H@>z3}0bA8XnOt(P~*7Er10GO1<1cnjK zaq|rS5C@!Qr~QK}m*S{nr~ZVB4U0hsbVk#tB0e({o9FbWBCl2AK>|KuTU^wdJ=QOr zigQtAUaisD^re{P4vA2F6CpjON4eT^2=95I2K62SKwa!%2`EV6;^tqpB$-aB0k9Zg zq(NVB|4|?sUh_7emPcYj<T{GJm?)2nH?pffE@<6woI?<?T9qfx1k)tv$9E+W=Z~*r z#0C%13{+t5UTdXRgW8P@Mnr%MiL(tOQZxC;bhnwOgkDmF3f{Mo{feQ4UB~trs}4P7 zsfZKn5ei8WrqrF&uR`VvqQ%P*?5z%iJ7c7&bydr}fpZS|YjKb%B63o!e8p(zqEk%) z<nxh;l=L$#N7L<DZ=lgNzE8*+>8b-kKm;TEE$7hb*g!aF$&^tB2nLpwDfM!gcfGYi zKp&&!lIRuM=244_VpRab=~*+u<IvZy0>IS;>v$bTjU_d51ziE)AygQerYe}Xhey=( zKEwVwnJT~vIu%!+h|Jl^rde9art(IzTSCVVqaZ%6oq3$9c;A8=N9k{M)=3?PE%g&r zE;^eZss#%4r|T(kSnI*8kJ+t@>84g8Ih<_-N@h#u97<|yt|oo9wSL%Q{LC_uHkM>X z+@yh#_K0~li4#m!=VLN*J7)1H8)Te#;>9dI3`JYKr~XDk;p<SF1BC)7`C(9PVSdKQ zgd`7u(yxy@!l(Ch>*;RF){Yq5*hJjHZaP&Hgj%Ro^~{WuFfla9$5d^qO**SQ31LfB zb|lcN!8*o62@ysHB9KD1jU=DpBpQG+pRZ2I!}!xCiQ13_oD_U4l{7&DpK>7lu{pH` zfT(E{Jrz#80c}PM1qJb15IYQ2Ve*7$8w#XT@WaSA>VcDIQ?1<sdNptZ=OC$)qeZR& zbUhx73HQW`2EF%qp46Pfmu0%}DWl~M^5ZtGVr5lwAC6Ill@!AfDp0M>BqUQ6^j$?X z>9B1X3~+3n+{X=`1W0{M?bkLwwSw;_dw4xlPbd^-=S+6T@kVrgEEiG974FNkv(z>= zHpvv&r49=)MKeKT!G}-GN||+n#fuBj*kzo(L}zFYGKq0(B?Bl$utikV_bWzlKO4<| z!C)w+eb1(@aRo^2o6N-0)MY9aDkxuJBc44#LnPT}FB+S^+*4)zm7rUQmnZ>_x#w$g zGBk+Z+k=Tp$EI)MBeO4)C#Tw<TdO4T;So*0RE5Z#-(srr$L2o2L?$sY240xj7IST} z-)MJx__7Yfr|L8b8}3{x1OQ9gan^{PD)QG{23y4DoUp3=)J>fTmXTjX$jLt=<Y$W7 zdN!xSeGkUYkU@~RjngH{6w<R&Kb@oK(SO3wk>xb-P<`U}$qf=dzgmkT-Nz0z{!xC` zvpKG&T;HKgA;`&3-8e_6VwOEEMLZr<-Y8!EQB<UFp6Qdb{d66pshtfK+?dgb8M|TC zhTMe%QK#4XF-cG#GrnQk2!j0`-8*`+?#jHrVP=xVE>fgJkyH39ccFs77S!KR-oemF z)9{sab&7VOprYG`VL&ygu1ST#Wtx}8l3kiGa_pRE4@$KD{aTk;Bt91PTlEJv@s9|o zKn<Tn5!}>IYiYj$d)stWPrQao5HiKC>tD;CvtKeMR%{vmo0oeGOyEbA>~DGm_{EvT z45|J6O4)6SNh%vcp}g%qxv!LST<Z><N%QH;)rbX*m*+UHs#-cZTG@&(IC2hPi$jmc zjmzKU6x_-Q1DxJh0N_L6qylLyIAnCu%FEu-R7oj>Rj?{lyexjxd7!h2@QkA~gon<x zx?Y;_tzo5%nuw&gss@C&O^nQ@wYJ!ANZE|d>A14Xgx4F-1;RM6zT_<`D%{&^ZbZeY z4=m2>RhB!*vKT=(CWpDN=>iItsF=pRM@vR83TyK8M`WmCsUsk~=?n;>dG-yGIJ1)4 zHr%!6qR*MeMB<ek%5`|Ipx@zynuN|hlgEV>1;ae9(XkrbDK!Z8F;8)rSN8mR6Cw#8 zpa<SQSTv~g@C}G^B#}%b%i7d2H=FXK1|q-moTa|}%$7Rw=|}nrAm30W)(+q!tHJOU zF)ZbZN3w}t>v9h{0uw}V?r5si&Gn|5i91Bjq-jenEf{sm`?79yRK!@+ZlF_dhr+TF zd|t_N6)DF-iB3O`(&0p9;W1kja*M}HHt}o(D&{>go%2Pnxzw9rBa2gW5u%_W%Tqsp z_8b-M*|TRT$iHVqjD-C14EnZSk$lK{)N%uQu#25boByjl{Y;keAt7A(FAB3P061r{ z9Qsmsd+LU5X-`F)yyWTQ{$ZSKL{H6y(*jucFADD`=y9=UsY0mwlcV2kvn9#>A_OQ= z^NTyYXzOwJL9mH1<^-(mWcEN}dULQ+svIs@TG?K@?Gu(qYYGcz4CM_k?NoXofxKkI z)OO5b8O?g5&FUA!nsuV>1S?f=k;!I*l_I2EWS~cL$Qu=+&MQO~6o^&Hh^gQr9K)u> zrnKNuxq#&&6Z7C%Oadh-&$`!r>^rj5Y?d|4f9O21-o3mbZ#$Z;Ta-<ca7>S}UvLpB zMpCM2vl+3ro!DEmaFAQbSC=dvzOIo?EWPl!zq?QVtT-R@dT-Eg&~LWScdkOH*s$8A zB;Q-NQ38=w!J|B&7xf#vFdyYz+9T+}5Lpegd3%OU>!_FztUz+O_xPM`zI3ScOUh}Y z*aA?3?IJ^_Bs}6TN@C`%)1%{-D!odm3Xjhs=Id?U3fXws+&b*R8K15&G!G9U>q%?n zKQ!S{pAD(3cV~>-j`xmr8<C~F6Z=hik94owYO;PW((mQL=9b2OncRv$JpM&_5y~BE z4j;RCy)p*-S~@XyX|j<2#H$k?E1My~rYbR;xb#$cxOFsF-gz1Dfb*-~Dy-_k;x^!k z_-O8u;@89@Wdqw{%#$o6JQ114JnZ@UFAB<2p0wtD@KNqv=QEjc0{h|p5|jDT9kB=9 zUnj>%qLJq9PoLTD9?5Q;78GV{ck}EHWp+DnobHpu@sasO*2C6-*B4WdtXn%ZmsQ;L zs=2yj{trdrpsnM*M>Z<!=CKR$h483S<>ngMG4}Q)Hz}qwQz8DB!9wAxFaF@@$fP`J zi#>=v;cpFF8r~QDMG?f*cCt7u=Jy-&_+HlVW^EG}==~QZIy@(=Nh08ZzopZ?;3gzI zYpXgOFVu9thqdjE?w&TA(u0rsBd%X_-JIgl=k1n?HzSeD39?P?)(VH8$6s$N(sEgw z>F(-Q3B?@7ERdL1GAsxeB^k;s3&kvlqlOAUp43SAKp%pAc}50L<*D&p4t{Y#|G0%y zg|ch2T~l0^V=5393#uuQ=*sb9H)Dy7p3>>GreEE}JP=U%z$FmKaSPmtgyT_M2>3sF zgx5&a7%>V1AEj8ckUVM%E)r}?tm$eoZ1d|{V|iun6rC0eey^|0fu-AX)t``cz42s{ z+3xQZ2xE|TP6!@!!K!4<QfUVxJE#^g1s==BOAsqF{GQv>CzuMv=}0QA|42!WbjyWe z-e2GDU{xL>tq~G_FBMLJw(KICd#h>s&uM^2dH;k0C0NsAU_$@Nk73QslE{Jp|2d#~ z!-Le34EP8<SNTvN`-uA&g+n-I*#%RPWdS*EBr8@OrcT2DWc(+{CI&eXumVsB`5&y! zi1bXMVxMZlVm{>W7%Da;MkM=Nq_<tye#&{$S_mih-Md#uiXu^mm}w(P7XFh$2u=qx z3L(X^$;GfHLP(Ho_W!34Q-S0Sat)A<{!e=Y<8!2T@F3EG9n--hm5jor+t&9q;WEBD z3EIeck*FgF@ZYTR|NZ)J$jGe%Q=8;4PQf`DjO-*tHj49_N=RYE|9<|X{zsVnzs301 z6^%SuiQJHEg^^DE11>u{80sO-2UKr3j(H$NZcb|d7?8tq5dzO3$ygH<od2zi5K~bU zVGP4VdK8Ij`Tt2Kj3I_$Dma6YQ$<q#C-#3T|2OY{I+53e<QSR6A$Tu%th+n6_wT%f z?f+(h9Hs=D79(bYHX)e!h+V;#5G?Q#sC0w{L2ATQutbU%CDcTYJ_f0UFiHujgD?hZ zTQSJh{Eq^;lvoX{>EPJ{m{75vrJ(7J6RenTKV~5u^`9CFrH6E|PC>&0i4l^C^}|1* zghlE9ERFHGt&qyUxe>-Jff<F72fi`LhD7QAU$cL-|LMT}M~&qB*N~{sk0aOnKO6aH zf^W2K|D9Ptu9i+><pK!=C{#?+$Xig!X7Ml&9{m4|!v9|Y@*-*zs{F@7^zWoJ@(`Rp zWPmgcwf|{w!Ga)nTIYX5JY-G(KR#sNzbXGG&gCEXzcc^qjA0bkCjNKLkY<A%2+~rI zH4o1#ACjQb#K`M$SeytG2LErA|C<Do?cYNF6NVM_&lZrgLN>^SMK&Z7$T|O$=7Kr? zkK#Wvq+)RS|7rifKBoUa8WN;pB$*Pj{b$k68UH*5Ii`QCB-NpmH+d_i3cd<1L_!lt zS0Pc~`;Y$rJo7*CEdRAgrUm3a@Za(OInDp0>R;fQeE&aiyn`@|F)=30VJO3xkx)CB z<AhWwVh#;+ib_glW=>lSIi_q5ohXM@BISHcZB98QMKvX<_bTb|{@>o8@9+Qk{T>hO zcJI2b`*poe&)4g9-}iNu$Cd(Q{5L%CM_ULS0$eH0{f~NRhcq7a-~Ss8Fo11t*nu8C zfgILw5*JQ~iuS%HA0I0nMmG6w^kg7U0{ymC{by*%x(%8)x@>%Id|A&30o=g<b2%JO z`M+-fo&bHRjDd|d|3}sTI{cp%0vg~e1m<eFF~S72CSmyaYLNg42qsE9M2mCs?Mve` z&b1Q}g-t-9fUp7NfdKtS4RBS!mXWzYC*J>t{%`Jzz={87Qe*$S;{S`viEw~#AVABU zHpmGF)dH~W4;4MW{`;ZOo=(8-xz&uBI(0?$1l;n0(60jlv=~W-x#ez<9B#RxQ2-Xy z0;K<E2!OTT0*JEQP)VQxwd}ukz?uI)S2m7_6aSGX3<tdcOnGna`m2NM`D+7bt?v9e zaHHkaN5)bJU<Z+y4aoo(5b8jAfIHggS*o+)+5TU{js5Q!2^eC&6Ipwr$(gs|J^?<A zL=@JSo0Ym}{&pO7vF8to(SNt*QCkkXeQ<RmTdR*GbV6$YwFH=h3Iaq8{QmE1fJlIo z|6fUF0BQl8!ewkU0W|8vMw6ut+6+dn`TnsICRG15*_-nCHaCHrfI{BA1HhwD2l#e; zLlzsX1po;k|Nn>uhWS6g0T>D3oT-2!Vm2U49G1HQt`L9dErq++t|uhRCA~c6V)|w2 zJRLpuB-7^Im2d7DEeH${<w@gAuGdaL=>K2N0<7Pl3ZNdDK`2M&mYa(^PrBa}JkB0x zo&9&y=0<Uw$=weNl^5Q;dVA+#C3ZdjXZ-(E85jpz1N6lFZ(hjU4Xr@tJ6HYnTEDyW zxNu0UwMP5n4}=lduG<`c5xHjJ`~qNGSUmtN&Q*Yd{U5~X;dl_hKmcGnz9#ie?c@cV zs6R@qC2099zAJns;{B1kpmf3h<nWmZfGy!RTo5qx;UIg~2&5e9EJk21I9xE$g$#*r zp3fFV{@km-em40?wMzD#g`bDH&sV<!@vIn_y#Bc5H6YpsEj{=D82on+Ak1Xn-+srr z33YM5UBz*Kf#npoT-XeCxb64k*59&;Kc_1{Uce`-2>~#)5n5`kZTsl&>iYYj`11?@ zT@E8pu0FZ6UbOnzWt^34wYFN0hF0%%t`<coTvs=}!*APFE&b%#li?@0<XyjAe>+x= z|2Z=1e*QLm{alWy&D2eO1X5~QiHAJSyi<L9UA8(rDHe5jZCCZW6*t)%6@I=tbgAW7 zWx^Bx&lBR7W3RsmUGLh|`92@H;GE-Ul3q1J6$ml=t0ru`?vix<_P)7OiVR@*8@VOC zJYXtlJ6!o>{E5p_Z_!=-j}Atz!jmmnucaiDA|6{D!2I^aU+f<<TDhL{!A@03_S4R7 z5EhcP2>u}7baMQq+T??k!ekk*f|i<q*72mnt9K`=jS~D#MgArQZOSeF;V%5@k)?#{ zrIwe+CN7W_uG^V9h_4-4O1e{!;a->~Iz|Fhg&fiT!!P!h5WR|A{7vx_fA+jc`b-u% zKqtN(<GKRfUA&4&Vqn;6!;*v+uY$@@VZ+CS>h+kP{_C&C{kREsnk+w5d=<J1VMg{S zZrfjT0V(!3C69bV#f-EBr2UqC;rgN+phwl^Kwd$$QHN`_5%A;URZzXIe9V*eq}xB{ zR<c#i8x=+d?oP?23_R2uKvgne?ST6!kG%8e$X{IYo;u-DQh1Un8R!U51dIcGCbWUY z55B41f&SJB-mSu5=p>j^IUoT5()|A*7(%`F+VtnII#J8Z=pw)Wbt<SHDF9}%A-jae zD@AwyY#02ku`gSac4DY&mS{kn0IT34bby#r9k4M#=`V|42>kZndXi(g@Nw_$^Y@G# z>x^7)jh1iBpv9}m&)<Z-bh2fnWP%l(H1g3Uig&?z$(3zNSU2T<Bx<K|WpPYCjvn%# z&Eg>;fRE9Ea{u`L-u)uU^V)*@!@G8;KiC)D28R3Q54l%q0+6P<acszMQw|PZSEe0v zZ_|8G{jJSsy%SQw4?avJ+;DQ07-ML2fLIK0Igu5DiJOo}zy&48`;K2tA8Qdj&in8~ z9G1^ZR{M>#&mPC%MM)t8L~*t1!H-G)MoA_GF|MOYhw)3nMkm{(lU^o{e-MX#0$v3c zMTnNi7)U@6A2%XOYNQkHKY#&m0EZ1$DAoyA$@x(IJCTgoo0)TCJztoBlTN~^megll zBLjICTRg`%VaC<L;UkMYKwbRya-}WDWQpCqDyc}f?VgzsqBbC35*`ACaFWaxwf|uV z;Lw;D*P3v9)<?$rf$HQ${7HO*-JyI(p=<T{w>p&@M0M>#HYBnx+3}WWL-K$0Olr*8 zMSwFvsDVZbnQBA$$ZDtxlQ0pIhQRpYp^jC^ybQpLSk|f|nHd{w3Sl7BY`78`<TIl3 za0p`^dMg<;YR^Z2Mkb0}Zzly@9=qp921<O?R3SJ!UdtutVD-dD(lg2KfHbjYZE)zi zAs+9<4nt<j5)`?*Xrq*Thi<?0fdhW#;g<duB&I$`2NFpX2r>ZlS4UPMBsU;n12i*m zBBx$p>_CnsP!O;jznWS5;Tp~c);H?*E!HFp1<B<3nNtP5>!1&P<9%L=3DvNvgrv{6 z*5#7oxFY@{UKOvT%>i*Hc(OPaB~9=x8mItqThupDK;&M)$iRam><$n&P+}uO2Yj;{ z22f&Y9G5G~<$(KfI*?QV@eGav>7PY)vJ)9h?X?^c{AG+cm}mGY84!fa=%thlKeX63 z+3L2I&<_R49ueEA;>S_aPR<~NFc%jNbF$@fQPMaPGE>A4$PtnKmJmA7t$>1f15^MR zQ~wJ$1SYZ~gA7QOnV|!j#e;xKgpk@2R$qQVw4eLj&ktb<B_T{QfS}91)DFUcI7N~? zMU%bjZQZD22ZG0wRT2Q*a4+J02-YHMGjIrm?1A7gii7m-a=EjakaEbXtH7<|YVLax zTAWd;El4Hc@qPr#hP?txB#~jUl`tBcLDm)sdii+2|H4iX0AF~hlieX!a*V?$Xe75V z*A=gBckp)TN5IG{H8acj+PU8~nc@R*6os7mv@d%LtWPk!eprxHU8Q7jD8b+DKXaur z00AUmv8mz3BLbgt84Q^q)R(rDOdCfXcmCk7r=3cKv~2L70rf_yk7N8yGKlKxV~?_d z439Vh6%9km4WExB@489ldoTo%dOSasGE=`AV?wG@q!e$Y1wth&oLC^Cl=%iry|_P; zvoke7+6i0}Ltj@L&kfPe<p3dS1OYmR8I8ayY_7RV-Yx1>$V&i`5Y)#d-y{H0OJWck zS!^lp!!zQ#b}FQVh=5S3WEIAH)p90S@4G#_1p$<LT%BvxY}A0TjUOyjAfn;{UkS$5 zNu<@29V-T-lp5ByACbq7fI;*043q0(=|g%#JLLh*!i5uHh->xSG&yi0m!Y%~(t<{s zcrM!g=0H-g;fDgnVOAsWGiJ4PLyGU^l1-LV9bj2P*`*ABnUMrJe<1R3LbH;U_j5n; zk`devUU=*41qN98L4JRkY7m5>nZa1s=bAA2GtNSbDpBwfUKB|bBf`zdlHz#SU}}Qh zt_FN-xOoaFa20UOqT7xF58>gPE-!ElJ^&Je(neF8XE*f722L34xHJk1nUK)T1XN=} znr<Es=bJI69&lMfz`JFdSHdF+TUe(05auuxy3}G)k3d;#1Z!sabwZMCBg9GmpdxSB z<W;7CiDpx;m1|IwjUquK48jR0mwmDm$R}QS%J$}P7kv0c^X-}lyEGCiJyv%#;E}@S zlWJ{>v~%Eu)XaiP2OG0zo9Iv!(=)Y7bK0k{s=r%J2bm`d%Hth(!UHIUamk!xsRKcw zjiZi_q7BrWp@*x3r18Mv*=8m#$d+9=_q0iGX8#<$pYIPJQsNl}x%jJO6NC{w(I8y& zhF^6hY!IEBEQ7F5)09}3L1tFs{WNnw)ouj042r+P!BHDUAlvQ!DC=8EQm9F*z1dKa z?df!Yn{cn^R{!9Pk{p$j5#=aj(cVf>2r{Z?-XBe!>`nng8d*+wxTLyr$awpmv=YFO z$Pl_vJGWaMuB4}~E=_W}_Yw@x1c9_9kSFmFj;W!)*K^OQNOSopJ%j3?2P8qG6Am5j z%1c5>yCBSs?F-pCgyhglO?FXLmv>Jcwv1s|&aZPT&0Vi?N)+_*R0&D;{PbHyfEQG% zI|HHMV=j-Nrqw>aBB5?3jj*sbB_0e%r3GAMnwvlhvyMq5?#Lf;@pDIPqdkD>TqY1z z36OLiWJ-++Ah;5uFbghijm4moV8fltE#?LDvwAu}^i4y_N~-?_%W@qmx{N^PEixuK z$dSH0t17w)hSugp5E@B{JR92N-1vSR%OtoVKUiITJi(5S>YKm|`feo?8T>1(q!6NK z_{r)IsUy<*Roa3PL2u?QMa$BBq9*6IpPeC1Pe_ImM{aJGh)^;?4~Iswy@$7r&{5se z=mY{`q|J<kPLbBXjrUXZgG9mMR#wV0*S8tYVIs{4zDhunDf%?B73FQmG@F4t?9e#B zwU>qkfvBi0BlEevgD6#;9L>qe2TH<vz9*166>Us7xsz!lsY2>Rj&8y>q5(IjI#NPU z&m2rG%<_E97W*HCIMESOx79F3ME%iic-bv#189CAWRgHobx`LOge57VJL-$dbuH8s z@tIsUmp|k1l&v9Kag~vQV82<KbqLf$)X&xQIaDXS1o;T({W213GNBFvL2;LophkR; zE31nqj@0u7eA_#8p}(XD)eg+U3#nJH^VVIG{GGEMZ*&Q!(K*RSGnd-M_BZa?9d^Mh zDG7u|NOt9t>%m*&2<p8^r*1XSEuskTC%Z457xEAysP)>Z>2KUiFrkkG4bzQFOs+g7 zIqlR}(?b?Xj`r)s@cbP*6Y#Kg7)lANG3ZI{xq*wI2E%wt;6+~nrOVAY@3m|$ErY1d z_d{R&_NyPC6C|N~N;lS1j;^evlEcwCTve~!=de;u7xCTP2uTRpBM@q^$SsJel09O` zM2lV`tGSX4lv>1l!iZQ&38;rza&K~T4qv**BLY=*OcDlTM@}%gg%`QO!E8|q?tH@h z=pDu>tenmJIx0ogMNv+B6mMC)<VFsuoUI5TZQHHM>@C_lo`iz*h=wUdWNxaad;>$c zY<Ux75~#hWBA2oI1?3}pv{L1bv;`pnFRQzqo0cuvk&RQKcNRP~YJ}0uSC|NqUky@w zir8(EO(3dk-UEq(WY7t2WuV3Vj$Ba&LfY_~^)#y2R>V`u1Oc-5a|vuwIE2ti(62&Z z{Nb6nVOU?K@MMvLB-Rg&wUh-*e&(ce&!op6cMY?2yPD>4ny{ERI&Bv1Uf%Ed<HSt= z7&K!Sk%kSe)Dhh)eIB<|!+@j;6(t0b2NZds*OL!iug|rB<mU37sMKUjcpHeDLmZdU z*ruQu3`I+Jp?tnM2%C7+M~xz;i6t*s5G1MPqb+V|SR3nH+L99|DlU2AgcqSQ2vj6W z!8KS;Ux0^l>$}?p|8PGrgh0Jh4<DHV>CL{a<*DFYEr;~XA;Z!*mzu_E#Q`TuO%IWc zjrrQ2Gd{l9cFVs&RZk|o6p1c!yq}?G2^ePyR5D0{9}6tCWs-V?t#JG0op($OaSyQ{ z1rDSG`O`P3>$NTCG!cbtszqRVH%`uv%m}TfL$@sTNY9&t)SXtXs$sm5rBJFz+|X@7 zsTK|-a*%oVfCq)pGk}=vTU03D4xACvZ6+(v5U%W&suES{*N!nD=?$NWC?EhXh&i-} zw_Sv%ghF90zUp4$t%+vi_bhLPMN?={o3(ID{+I1i8RH2zkk|r*#MPWb7_uA{kC(RC z9H9jF^HhU{>j^5~ld%eBYSh`uqx^0?!#oOzn@~gIBdD2L(xKD}TMJ32L=goR1<E3a z1XW7kEOVQNO}QX-mRzt%ly8v1?cgzLsG_A#mRyV@F9|kDhZIi=g81`6RJbFz(TurS zhiIoH{7{n=un{clVek>_SXe0Bgq3uUCq!vxkc$Xh+ellG*o!UtB>1}2<!Csabig6< z=n^{Gh$BHplHIpJa&cS{lT2djkq;=J;pS`=^m|G&CeX0P7W7V~{w|q&>iU-wittL@ zlir#s=?(EZVOy?my%AnriWW_e)Oal{+e<Ofq=P(zD}xjmg?;0vN^LL&!tSENrbvQb zLq39CD6JdED{ytF^wBOXh`}|8I1=`BL2po_fg5Q{*m^WAR)Iow0wO^Pby%w3Kh>p% zJrnG3OS(!9@YH_6{tBgX@KVA9OREpmn&25ir1lRZL>iijlYn?)0DhNyIHdv(7(%DE zfY{vJ7SAdR8O!Sh?X(i`VmC^<xS__+2o&*-ZP}<j5q+s)MxhXUT0PGY(^qNB?4WQ) z9Bh|{#}3&jQ;J+B7f2K=O4=<It{I*T;!*KJQdG6%5XVkwOwg^}CnwAENAzjX;Aw4} z<}y?dtz$GZ^xQrHx9SqK9Q9En><mBmVmz8U80%?Xz|&+JxSBB4smDix((azW0%rb` z(yZM%%QJ^Kd0M9W?H2HH%#0KIm;-Uo3RbaLGaL~iq1=B|Ez{zB!LzbG(m}_GS(Tcp zf`ZlY(g9;>sF|Z9GE6%gcpL*=P(t#fX14OirQ7?8>rq>WQnEsYF@idU0!v8eneCz$ zI|UNLJVyr{ID^k2;gQ4)48~T@Y~4cWzz{41Mk$y)ia|7@l*2>}VI7bXIiYh71Sc6K z_;o_{dYg!zqGEB&2^}3OTJoMH_W@=aTPB9N(Sn);5YiuM1kp}{Z(p0F{)~a33MKf2 z=&Pjug}W{?2nhs<q3Yozj!{ms>(P|e5l&aKeNypIf>f1WW0!KhKil!ElY{86PKSlL zh69ZJdg9g>Q71{5!<*CzKbjjvFo*HsJh%wLd|jrBhqGmjWt~hIjVNtFi>BiN2qEO~ zt!43j-YD{h4zQ<m3tVXF&R}HT7Uop6bcP#YW<*vz!63E@!DZe{b>*SDhr2$wdMBF- zT#$4HQa3D4juw;?m%u8Gua>46<Q4NL(v*41Nl~hC<}|TMXFiV26u57z&h1)_*3-~Q zf^^SXkxpo4@o83WWjwec4G|=})CiYEY4i#uJ7SSl;yV%op8P%%osSKt!}<vXv|+Co zD}?U{h2-Ar;?!Y3@Np9DxkI~&rC6ns79|my1QisQLDD!n;g&@0zDoGmq=18QCBnqX zMjvSV)zO(5Kx!eOb)cCp(t};BAC19N6E({i?Q}IoO{ozIn-v=`^m^}Pry<sFaYjk& z#afThjcG5#kBVqzf>b{{lc#=`_)s%gc077ps^V%q99Vbe?H1R^>@AZSlkp7?A&@$( zpsy+&eL|lt$w%9Y=1npJ(Yoggqi}n5u_FYyn?q$v(9$##<JZ4#4b|B1SU=q2bJelA zMM=BY6P(U{EpV+Y=JjTC(XxlP5|KdGDcLLPt5lTM=Ov&&h!+WJCuwe%=o&KS1(m>3 zuQjfYTN*47OO_b(vUJFINb~5UAahZ)729JPfnI7LjYefwLviWl+xz`hCA-dI!R6<r znp68+q=`4KmUFFb1`^J~R_&*~Aj3Q|{I1#8r@kr54n~+o)Iq)O5WD1c@2MK~9n?ip zH3brUoa+dCnwX@o{^Dd!xnGH6Wi*q9a;Q=tYr2j`De}6sC$l*TvH{!fU&&~(Pg$se z;Ecg?p_-R4NeHqWL9+|;0LYbE#6chA6HdN>#9~ten@5V3li;OCf&(Wfzez`rCOmwW z!*%6qgk!LF$&%|zQ1w1I?yYe4smH==d4EVMjEUNYvCaBw;8t%a{;U;cbQ4n<&8cz7 zaWy|q-p9Z4G{LzV1!fy@95M(qm0G%Fqnijh<o#elL5E0;Zs)N<**oOTipwVkK9WX) zAW1$vD6lU|4**yK{I>wf7n`PYNd77rZG2j?fsiEj>$)Q1K@DfMq_%l7wVYguc;#ST zrUtuG(4uihuV<;gN7(GC5iys4h#>1JqK3kzRQG-GJqlyO`mqK#<FCi@X&{kXgmx}Z zaGl%}+ncC7pbGDj<suqt-NL&=KPqy?@xs_}J54DrScJm_^0D^o`6W$QelviPCK>&7 zsayGYSPfJE21O3r00%SG?X>JHnF9KJ@|HGB%}f~tLL*PgFw3)Gk;1a#HWXA(V0cMD zwQ+9qznk8f&U{|HBw+^^N;{eLPIE|Rul7+g#g4%`7K!SC?6DJURunutPmCP1gY%cO zxj7!q!tUPTUZKe0#?d_Un-uA2*~nDL9s<|Go;lGR_6M$Ru&+fG*#E8a5o!(V-#z?l zKh~ynue8?(Qb)my;9$9PB}?5+et}~LEYwgSVPSR!w-*-o_M;Q9=<%GSrGrFezjhIB z!GULF3F3&DqPfmM7Yx>u^%6EGX$9goT-P;AE#L{90vUk=a{E0SGu$d;X|!PDB$Etd z1{_9!iRasuG`t<PH2ah73Y=15JPHVsO7IIAXC=aT3ZDJQPM`65+zN{CHBy3LzmwDs zRN<}vrp9G+X@N=kR)$@pJ0$iyYEObIU8^L~S?FBeB#Xm2p*$=dtJKer!K>x?VY6f! z7v>FL^iOu`+jqj+oT*Kez(iP&c_f;k1}?RhrQv4al}FjayG{<A+yD?2KT8X;m35(B zZc(4v8upBNr$|@Y%6}6+!pg15Yc>k^NY3^iWKx)Ap>}UKh-*mq^K9{CeBCJXYSvhe z_);wiA>2mM@h~%vx%#^wJoVcZtJbNSmpM8aKGOAqD;k--mO%AXLK|VEXp+{Oe`$_= zQ?4BD_^@dN7v2In5Of0RXOYq%W5#!j!G#2q_0$Csh$QczvkVp4J1jW3v!slRB#M*x z<_lq1y^vkAA@x}$=?^caK?)lO1xwXTqeoSvol)bOp5PK?1O~|z+ZW7F5iF~^mED$t z&<ziHncSztYA7>QnmILrZ_8^{@K=;GV5<ubV&)4(9|W&>$;Xhl3Y-u!+7qlwH960F z)rQ5xOkq(4%JMevXm<DmrLVETU6+H>$=@|d&k2G)e18<H@Fo|t+vKufiVjwAkYM0_ zv;wF7`s@3F9fk_~;G_(%F|(=B$*7UcZ1>TijAo-a?zh`6o&Bi<U0z=B^oRpT>}OsY zunyPBjl9ohQDEJB(nlk=^bVBe?H|6bE%@ay(jn66NMVrIN0A*22kqV{P)CmOr0@|r z43{oMb68B&k!QN>oA=PgWERIbh=f((p!+okWa8OJ(`S8dog9+q&hq9PKb{Wb=H2`H zwqS3wUE`g_QW&9qn3tz0t%u@MWb_DHlJByk3;M%{aPsLLaRRI{C{xsnhzJ%;;Z^g; zSW>ZnnB9GX_X4ZC8poP@$>twD!IyOxyMz*EBM(eTn<vHD^n9VU*lt@cvtFAAf=QRc z)`Sw`{iIv!JGD~{QCi6L?F~6>s4;#X$P`ilDHlh<-JBb5J7?Ax-|&=E$~dkh5BJk( z^oT80ZbxEl^W+S>dz}b^z&*lKrIZzOjJ}SEJ3eRgw%qrEj$+}JR28~Y$nna2sEtXM zl7`4ZN|0<|RS;X#x$2f3pE#nTX)daSnq+`9^JJa4##?MYyn6CBNB@Y!ui{5bpLDmM zeb1r}n~d%#Jd3rgc2B^c&3qfxWZL}w>4W{a#uFHGqC`@(QdekIHNQ~N>sFFt@KJVZ z_+`$Br;_2-%n~T(q&2YZMWqGg9y(vR80oINS?A!to9<gU-O&x%p+ZSI#AXi5Prooo zxoGV{c%)}xo%|E(K`+Dxhj=4Zifa66)ke*eb~h%4&lo+0n9e?+h9{JmT`Gg!7E%;Q zyWAJz5)8%*QFitR8k(FjD$2u8i5~^iCbHp5ojXnP^(%V1wd&DNVW$ussg&E`mr!3# zUG1B^F`-WS`7kSj(u}{H??rB^uyr5*pjH1nCUTWxMp4Ks?xy(WQpQhU5m%y+{nM~y zxU2I>2&tHlNQaJuP@vB;w5L6BtWRpWf68ZP7cbNdHiOSf&Vu3JRVK_|=6v5V(f7<~ zl@v5h!|FJBW&9n^w8rkKu>ucQ-Qw2CgrA^_eWL=zv?Iz&AxO#Ev*)iu-aPJ4?rGbi z2g7&hUOK*<`ss6P+w;eoImDWm#&FHI{hgG7CW7G=%>e(Y#h)5K8Vx7$P&eZ#=z^;B z*=RZG+UWjg+AV6L0y4z&En$R9OJrJ)B<^wyg-;aT)v>2Ag$R^HnlToxu(kUvn`Wh7 zG25W7HTe|rg_k7C?YU9qCpuO3Y>Ns};GFMp(>%x!24yU<Es@30m$H)ivLQL!3U+ri zpqHC4yHPM$Z$~6UUaG1x_-(P<bJsI@+i}i4^7vSYFziy$+76wX*SV))v%w>F#?vP8 zbt#*rZk&>ty8@$|6pmcEl9B8^ijN9b*$(d9A=o+JDkHaV%+ot(^0B(|tkkSur4;Jb z$+sF$u6+zHonDq2w|b#4dth5jA}q$9`Al*blZo<|u)V7E#3?51^J<hzLs~6D`dCld zebs+A)ki*WIE`EgYQ9$onVdgUq(gxO9kKXaR6pjaBoR}T8y2b^aT<D*^tkYog!UcX zyW+j~EjGOzJD&vVWwAOZiY1sgM8geJJBr8Idz7XW>JheeL9DL&J3XWA?^nsifeq>w zBpG9tj!q?`y)zsc%R3!1{m^iMvJIuET@;koE<JV<R*Wtq(`o2ZGg()&!UXLW$w1Ur zFCIO6^Y5issl7N3E^uLgAj*&A<SeBt4=xRFQ!u6_Z*SmRdnX?H4m~4tH*_~!u3D3o zg-dTI7}ZWarGckGV6a|j!+<19J%SIzyf@;8_!t)E&fetKNmW$mmZ0H>UPrT;9kC|w zUUwUCAD)ON4O=+2mt(GWLm{y_IC|(m^Ill`7Slr8i&vBT($!hAWR%0}V$GSe7Kz0( za*wQPNKrV$BY~$1<Kz;|rhJ8GWbyYij-Gv$U;nhCujAdj%hE58P{rVE^ha1lZ=c<R z_#fY{`n>xguZMVf;<!+~ouGnz`7{8%OK`Aq)Au(A+Zd|xdxaho4`FHXM}CF-?f2b_ z{Gyj8eDv=o1n`tI;MfL0H1%*rI!<egkLU8Kv}Mv}^F1j$Eo*g=Uy$C|1)<TUE*I1c z3AYDdCXE%g+=n$tTS#Nu$9cG;@J>$jzC#CL4YC%J+RUx;OoAF>t6Gco7l)Gev@0*R zU%anNZ&p2@`8rc#EIx(1FSk}9PD&7}&c!$(B@D{Ueor_!zYGaF5u$3Kqk>0ZP1qj8 zo<9nb0zt}YlKEs49UE&YL1jt7`Gx{BGd(djfn1nn9caQnTWA5Eg7PqYu6dkx?`T@B z-BYt0IXboy`+s`0a?CTK25L?CT-wi=zbwHh%{(T{KxcA=zkAlQeOOZ%n@ROY#s)ve zd;=DQ=QXLJZ@{5i28B0XuMQP;bu~Xk8HkKbd~fcTJ$ydj53P)~Vrzox?;eS>E#v=u z6_fH)ab>q)D0@h81$4qfYIDiHqUMJV!iz4w^Iz4a^cP^qe|0dh5Or7(O1({ON6jmb z1K6v(Qcj$Kq*Qd%O?roA78Xm>J%-sJhx*jYpvS<A4o%5u-HYi`(u`)jKoMN7kZWkC zZk2-Zv)Gj)$7(;ZM^%`wgtZJPf7eSlG$Ar?nc1OIH|MD=%ofz2xQ8cZ82G(8qkP3H zSgm+96w4=#C7LBTJA)Jgv<ptCAQIo<F4I~JgDXRo5UR?weuUVeG887<T*^1)9<fnM zaC93?E0iJia2mDn&A^?p%<_P;gx0F7mfp%)R&0>-dlyZfX1<Zv8RF}s|Ck!~osBN} zm|jDCt+b+4kBq(+B)?A;^*5_&I!DgYE%sa{DduyM#?@dW*0I1(cX4cbr|l@@(}>+9 zBX2%9Zm*3T2I9c6e~PRB`%m-GDRI=3%?X;LP__27Q#*5*XM(W_L)TKibwrnzP8*j| z6=${6{b@RDceU{(vtRnl7aAloUS|8E1Kaxw!Wd0?x<TKbH(s4#%ipIzO#Z_#770pa zKvh-LV2ih@F4%Gv`~7>yG$p^3Y7%AX)HoJYh68ql_muMn$P6R2p75cb&b#VmMhzue zBj>UHeE$PTk}7?;!iiC7k}^3kW)(6Ssz)lsPcHg*AMEU_dY^FzjhCL={cto?$<s14 z+6A?z_@87`@5T`?cIUMH(_lYj(<fc%m9nYgSEEC0^8;HaN^lsn+U?m}q%GYB+Xr+$ ztlFdVNn6VVJ(;8u>^YH_ykn)%QWvbmQ$?;vTXN;MZ39Xn$Wl?Y#yiXWhq7_Ga+!Gp zH0ysi3Hoy0%3cYk7$V;3fG_2-?^ExWq2Eptg7j7eH99M;#bnd<-s^&a#@`VGBMRvT z_me8-T_ukIVaGt2bl70+<-K?qs@#;Cux%+3k{26DDW<K8PlQy_^a*%{wZk#7KQ;U0 zj^k{4C4w(GJfZ327(6+>#m9hgxVRbr`htUI>;9Nj#X4Jv`&PrrP@$LC)1Q0Tk_Hmz z!2fPa##d6A!_xYx<=g1J!=wMqM;kXgpF;n=&^pf1l(J@)a&NzP@#Iqmt2xO-l?f5~ zNCb1TQM)R*(`Qd^5l5PWlVheehuulI|4jrDcaw|NzzUX15w$HGJ1OINo#9HNcVzN* zWq6Gf&Ro!NnN8p(96HXKI+`i2I*szODB<J~bk$oxt}YH$WT@G-*dxn?z%+Y>QkI)2 zOhxi*L|}#}f|(M5t775=XVW@0GrSpBh=~^2)O|ZiOR~!dk)62IC@ighh$9ztqmww+ zQDnZIrMDwb#m;cHayzUo7j*}m3sq!2IR6axBm6hl;v!9AR4M*a$GvU3*pRKme_013 zhrlqouZvSTzcbh12`1e^rv`F9_d1-tPcSj_)|g70>-z!9eSF%89sq^zZ~c~I?A+@y zQ)wY!mAV|Nv-hDN4-a|-ITIF1&w^%dv5>rOe&p2ho-I$dHhiA>iNDln`aR0_d`Foc zs;~C--h5U20jqVWcdKX6(LjyM!q1xo)1R1D<-JnD#Ve+*)z>KP`Kkv9kX8xEDYqEO z?mV8!vG{VEufO4vTt=+LL&>+aXPwNk8!uOE5uc#kkDTQQFv)*-BJ~bb#juHnoOG2A ztlf;tZ-u<I8&twj;a!)Ng%>kzbboqqa*%kIb8%X~9V)$-u3%B-Fef2TP6IP89XUFl zdF6y*M%*K_u!@&<(-J#M&@<*)dh<h&{sRr}p722hn<n$&l3oX<LB*c~CrnRD$L{OE z_=RN_S4>MzpW_xRuqt;K77BivpV~Hmc2pQy<LW@=mty>+yIbh@K)qq<De@c(*E7Op z!=42Hl;jfhPIA+$zfKERI0}h>9o9gN;n}GjDqHj}eA1$!>B$#vET0blp~JZR?<V)| zGyK&x_m7Tq5Oep~pezB3SI5sEibEWlXtL;3bWr`1G8PRil~z9|h(E4W&RpF2;aFah zL4RoS{F&5b5y_QyN;cE~f!6-VwJ+m4Q*WPMeVTP?hUI!phb3cElSf%$K+hf9C3lph zXS~p|>}8PH6k~YPwvGKYdar~|)T1-RUiFrE2(d0Ge_x=cx>3dQHQ-v$k2lw~kC7<Q zg~<|f7I#ilvNuF~E|4G9&%f_mk`Q~RwC@Ok6@r!JkZAtsKx9|_v)!-<I~i6~zPIh0 zI4Yy!vF^^JtkW>>=*{nZ#y!9G+~7S_BP^2J^W&oJ)t-=`U%d^u{Hu-gbA-f=Wf?l4 zx*hqGC%9~*hIht`?T2j2<VK&{Y^!-=5-aRKB++tOgp&=4ZG$OG)n}13eyF|sWFbhi zll0OUW~5!BD|i%jpET1ZUoP<Su<$f|rgvPpY<}pgA3_LHK4YE*Su-d*<hUiIzBX)^ zXGW<Rfyz+RuUmG~a|xEsTF&Sj96er<o26_v?s;*dpjbk~=oVyrq9C%*uqXP+w{r@v zSg%;S%AdqDP&L!t{=!dVt%^5Xhl?X0(pm;r!}1=L$+rK95ug8oJ8c}Wf9h#?Xy$!V zv_(ny=|~D&OL1BKNG#DSv|e}W-fRr(QrFw9A#Zhbu_Y^Yqb9rd#^T9W%p-=v0(FD7 zyT6{_q}4vu6{8{T@{#j6T{kIy>E`hx)$7G2k4U=jFBtkO$}WFErqKwi$Z;+6*E`f& z$llLo$)QuMbI}Nd;jGRsCF|o_wk6r-MGa>mCoczdhFV%<YO_-ew-*()F1I%1=REn| z_byW(K5fw69eKP44<_wy?hisq_IITi_UW!zvUP*8c?)O|(O9Xg*Z}TEn>A{VNKYkb z$dv|D`h=-GKTlH`JBhBHx71lxF6gC%+DuRgDN`;{B_R9q<a8K&*(FeO`Mo*UOPTsO zGiIN+kcGuOgr|+|jDz{i<ZlUy^xvs3&CPQ`-=1ke=&5_WGCs;^c-9Gx4F`7w*B7il z-2PDWbDXEYL27??9qL}{$#8wAr(KwnCXj2-lml0lM4i!QXVjrC{Q+{a4v1gfxv}{| z((~;X`u&|}8BeHU__N2rn<T7<F$I>jj|%+6o@%w7D%Ks(mq33zf$dIgL9+6sRc#w% zwH)Zbo2H3@r%~Nk?)2SQY^h5VKM#_MD0M0EY*^a^8y(E}RQ6<R?c2q~lQlU)livHb zJsF3Y^pM5aTb$+Gb}t_MVz#}+u4s=nUlVfv?k}b5dp~Nx^v=jWqn|#d<N<!@d*Xs_ z$f@jq-et@5D9n{5A&egVp#@x?L3)fS49J(boSy%c`zLq3--BoJrmB3@xq-BF{YtQI z*>GRv=)35?R$vuFN<iaogQl~Yxo-)o{u;<MO}#^NGVc$)7biJLyeQ1L`D&&6>1(Zu zA{##;iP7k&k`LmT`|O0LT|bp3qL_q7*Xf}Hr$GxBhhUYtm}0mC8FaAH9H-xYo9Y(s zbXNjgouv#s>!m?BgUoltvNNYsm$#7+xxVsAMM(BCE<Z_=J|CPEB78lPd4=QAE<A9a zbxXZ2jEA4MZYpr#%+u8jU$<Q15wzN;;VF`-=DlGkgEj4k=X<`!a-IwXn>+5*m1cAp z$$fmB8f0_<`9^kAh?!#A6<?VfT`BW?nu@x$T>eFa!3RVIIIulhhP^umect)kJGYn% zaew;^X|LykFGvPl_AJ7?Ngco^d>@=$)}loIy)g%_4;IAECFl14?y}yx<)6$!#L!xr zWxItKV$pg{E|t8Og#6pZk-gXIiEp|<?9={dr|I)x)X1w@hzUB;YRi!#Nei9tWGhj~ zcwI#~2$9LT+7=PzKu?_aXT11eq9t`n;k#XG@QlKl2U~0F@^Udpe=4{4-g|h~sp7r6 z-uwK|uOV5P=mI@i--&m$Si1YTV}VblM&7MGvAbPkwvp*}{GIXxZ=fSCb40=FTU?Lc zoHF68X+7(gtdAah)%3VybR6cZ<wM8cb;Fr@yi+9a(Z@POsA8kSp(LYQ7K^UxDq5k( zG<5c4hWiBWKsYGISEU*cLCScCj%_XFHXS!JQbPyQvW4PPDQ?K{lh+0wUXlLWA(iol zdM!xzpiHmGIHidPL%~7CJ*nlI?5CM<i^efh*O<4kRMnftO+y!t>iTh5?P0Wb3?aXN zxUb=kyMJg<Lzb#S7}zz4<9Qjo6|N!I{ZyOfGwpO}iJ#8w)}(uaebwEeZ!{0j4)J0o zUDW8|nl9Q;s~yfu$f#`bt9yia-aR4euy^Ftfg-~_G9_RcpB@=<z%=p0;DJBea^3o` z*l157?^C-Z{@wIEe-meR{Ycgq<GArHSoPo|=gcwItxYc<68#7N7A+RHmhGGW(SCnn z+lSV+;un+C6vZ1m3VvPProHncq?<F;Vs%(1i?QNO?hL>DuEdF4por3UnEdKK!rZO9 z<(UN?uDnb=0`;MGFCNL7S@ivw;4obFysM%0VCt`Pm&ZBw)o-$aH&4}ntDKif96*;P zS@%|h&%sTW=loaFV?*D^sTeFVKMlP?<1t_UsP3G9g)IMj$Y_Os8S=s14|^p@)V8z7 zS>=S&rSI4+Yljok-)k4{YP}Deblvxb1?hLq-Q%)8`LhBg=XE1@l#vhlt}dU>PcV&F zdv0}tN&5XXV4qX|iTacs^Jtmf!rCasU6l3#Y9PK{5X@~Q?RTzdbeDQX&WAchD5(aS z-6*)3$9({^GgA5@6EZOERuiOCV{>8hvo`j8tv`d?2FV(ilcRh08Jy;d?Dr=qf?{31 znh6>}S+um9vfMR36!K~bcrL>9e(ACgA6m<bCrwi{#Y3E<+h1l;4+$8fXPlz#_H3(o z@0aW8h*OrSsAhTA+qmVliO+AR;ZANT@7tCYvUr%;bogPH4ZOeWk#%^<;n`E2PVKYW zg|01&H#4@|PH`u+1QgAS?51c7Cw4UZ{Wc2W<zC%F`_2_?qujyzX_F#?*O@epNF#84 zMC%VlcaJZByWA9ar~#Xo#0B0liR_-bU5uo%EnCnJ4d%2w&CTWC%EOBFZyzuiU`efS z&Q1XtlBp%<>f+kd95-j93ssE2vWkm(e{ZiC?qRGoA-Z5C{amTtlta#HhpzT+K5P3+ zHSE@T`JPt=Ia9W|laH>R@2M{u3MQ2GoHIr4xM}qO{J{Qgd$WmM=(&%be;Jow@BdNb z8WGdPP&!^9h(-K0;3Tu#2fE^V4y1KjwfwSRqA}mq60t$YC4RlznXSI(on)Uem3-?r zq`Rmi>$J3c-<BwXMBoGGB*$6bSC^h7=iXd2eEh0`U6z2dem?1afA^k(WAX7x7EZ+z za{X?}eJ$to2XY;WUaDL0fpKSAGme5&PU~44dP%+&86`=223tVM!F;v80X&jp<R>b| z?v;Lpg)Qn?Hg~s3wFw4_`MX?<sOpb9LiXDn#V_mSo?|@gdVMrQsv~t@&obWG<fnAl z1Jv;7rpa+xm)n*1q1%kO-(`J=hrxCAHw!F+vLFznel82<1_}+23sy1sStc!E-eLk9 zQ`|`rv|1#F(tgYOs&?BIeU;zqSTX+;dXz<NUOj$}Y5V}@Vz<pIuHnx=BNN2EhUm#} zI10qFg=}5?0C>66691L`Hh(%~;NMNL%f+kiazvHAbFH8QX477$PUV~S7I>*QCheF* zztQ_7_d~J1rPtdQV=0>Uz+8BCy=C|C%rB2S9|AmtXjQ`pP-%*V(<pFD?Lfn|9^3B@ z%<-tng{HXX;Oj$8#uu-WQWFRMc4IU9S4jKw{8sBP+Rbzd;l?I2%JtRktIu~5uP;V? z`Bj@!tkJx)yms&{@kyw1^WEg`$`653u#m#zDI&d!sc8I}$(iI1E8nCYx2VytS^hUO zw;cvAAln<;R8nH>ia}|fKeR1Z%nk5!j_+=8Bs?|Vh5ky;a0`g}uGX}&yEg%886-d1 zjr&>l`n0*ct=62fn^8jVkz+`zQ}N60zRJzVAj}_%@}5k_+9|^PfN7_CZLXcePJKgV z+1O6GvrS3^DJA&bk3HTELQG$)oggE7Bv>bCy|P?a&8>?lxt&|LtE3PKS$Z>Qy_8)E z^Q6yV_J5FrgM-@x2R+(duUpl0y7jK@@)vLS<)nsVnX~bOdi(;nK$q^Wtahh{caW?$ zgyFM&3suVI{f*Rtn&q3h!7Q}AlU~ZnkJ)ju%;U!=uSnD*-+^jANe;nqNh5|gle_uG z-?23is?VX1!IQeseR`ys2i;EDrNquZ`OwMtY0KQ)$4wHdi?jfepo^}QQ=6k^tGs#D zuK(BTK{lcOCAYxRhwX&$uuwk*=~ACG`+gm$SjETcGiie1#uay2wA&cz5F`J#pz6@C ztkci`+;F<O_m0b@yV0U#=;+9D6yn_8F#D-%avkQEq#7E8iYl9eeuppa4;q?LsT@38 za`d~@E4%I65$WsbwC)_ktaCTN@A;vt_#;&5oKa57pHJCX^?!(nW!k-?>3bdJBBFlK z^A%26H_ldSytVtS+WHh&l}zT->K^Wntky>TLm}}-g?4Miy^MzDJ}B}GGOa(t&#`bN zJ-JNkoZB?{>GnHPp1#Ywr^&27=CfDK)1TUo|AOubSYcJaHW*yVP>=p@ze?Vot)cMT zUxHOvPbg<)f1VDm>vUJ8?280qHwRCSlDQ%$XMAPNpM^mzecc_?pl^O(Ll+mTZ~9%{ zv6sEz%v_Mq6#6(iWl7zwzyD$yc5UEF=h-7C7_GTIXlK3AL}>=+QpLLw&ZJU@e#JlR zGa7#U`%ZKbX8e~&w@!)Utny_Ig_IN>$6&4avV8L`EBfYycWI+MUMZY-pAd{!yI#-M zg)B%O=w*O19fYus;^RDW=n)-ODV!d1(C~GZsSc+^ZVT;5e>LS#4<kCsFlOGt4Y<+m z^0#-M`TAt`Xf(K6GVE6QodwQ4(d(G{!+*W|6liuow7xCuaR_b#b)WkytBlojdtwXn z`Dg#B-g9_(OkN`773WENj4%F$TJlr(^NVl@#8vatHN0Q)(@+(~!w<ENHvYSbd-CC~ zuND{oS!q=?h*^w#+<CFY;w%>R9i@M|SYs(5z%T7?`eN*Mcelc~IfKV-ZdH+xy5P!{ z0FRp6x3IXQ7K*g8Xxg&()7#O-Uws6lNA0jZZjIQ&sd>GDZJOItn(?HN?<bXBH=l7n zKO`6CT13Y><ve?n{8If<sQEL4Hw}c;+x<T@A^cxi=0e#?hYy*rbE2XrL#sYs(IL_Q zk-+q09rWYr7e8M9v2*R<V>#(-L8FIAo!JD|fpg3See}cET8pQdFTzX<Ydg8ox{=B3 zABuU^rzbla51A*T&F*nF`;^7I1GT4yBk_No8x-s6IbP1khlKIEVj0IKA$0r8XqU5D zYjTd1(G<?q_Y=1Jbqnm{(fh`79m^)qcRh4nR68IS;6?$PY1|jJL>>DvFu7U&`4-Xc zT@-c7AaT`()m>kbWvXY^yKtc4L}(kM8x^<XQ&WBRhn1Ljifdb<RTN}I&H)2^1w$UP zm{>Jk?L0(sfiL^%tfgTMUJM!f5v+vH6MC;CFHg!H(VXhk_|772t2@hS@8Det%08nh zj&@BWBN<D5tZG_M{XGRm2C)<rj&dtN>UeF(Nk%evXJz+h)Ai*fzgv(fQr&}3eKh<} z`r2+SdFNO&S;7D>KgWJ4UbXvj`I}tW0(oKfw9ExAG?t6_CwHQx#rKjmW2%jqi#RcZ zn2EGD?*MK<w@n5_&4s%apKa61w9DK*WB>GYRWD6D-z~EcGGXF>z5k~55gmt1o*eCe zE@qbPsF5^iy<4eV^tb>0lYbt5PxCnbMgB<n6YANrgy9}~halqAPnFLv6-r)3hA1An zI6Sdt_hT=;wY2jI<@GcA4(|R(Hy!A*Mn2HlbRF)ewlTB7Ai0;O_kCV+kN<=Cjys2d zkh_zg&7*7QV<2Oh841k79X;7L)8CU^?B*0byR3GrJPINGA|0l`)O(Vn_gJpslTo?D zBg%_1)8OSo$-;uby+574thx3BTi0=BAATk2bpGk9W$lnw@A%QS^GM9lELt~4B)P~) zhZN^9tZJ;@*lAv9xOFXYdra`GLwH)s7q8_PL4!X>e<dg(jIULse1MM1IDqXJl8~Ee z(ddi)kHASK>Y)!vuV3wI0rJFxtAYCGWXycM+~z5)f?pZwNi)lac11xMlRc*DnuVu# z?EB*Cusbq@a(K|(UcyDXQcu5xX)Zne_m$+a*z6j_SBuS8+}>*TTg@R~4DFTjTI9WE zdzP$_a3SE?Q{$kX3QDJ`&q4Qhp`D5Ki@|>`nGQ%BOe!*eNVnVkRygm3IM=(zTs?XK zu?J}+Nv8!y0MF{JnXkcF$J<Fq*(K)rt!j~rm`Z*64T_$957E2bQbfj|yKQ))t^T`W zg5I#aKJCZf8wo?8&z00KMIU6P63n9&<<e+3*lRPD9!0_bkZ4V*L;cPVjj(aD4;zeH z&8}M*rRwy*%utD?*mT*(-JbkpC29I(X)@XBLc^S--WOA$_S8UoU}WC%Z-rxAq8Z^8 zr|I8KS-XxKs6ASTzf_qKaN!`2!k>z2_nq*+!rcz(yhXRfv<@ZiP&_dB-F>mdM$O23 zZeSf&{_r$O4Gz6}#`Hjb(+Y+B{%lY{_+r1uu}QUe6~ptiSC`Q`Gc&Pe{)<O!W#8Sf zKS*(j`e)9e`ETTjP)ofB#s|Inm<Tni$-f=UuaQscZ9S`BMN4gG-(WwJg;JulFLmf3 z=1RrBYjTpB^zpaZZ$4^1y&S9-kN+{KdTwuy)T-~QmB$l(Usq)NxUPyAW4k%-$Eoe$ z6Mq8Fh6VZmP?#z>hZFn~xr!AI$1J<t8_6P_f8&9DpHgh$`S=kWdWF@qYj)|79!s(Q z_vCjAY*dvw_HyKu62&Q#w;q5m%3S{2d#GqOaHjl?XKarj_`CI+)}zI}IqkbMv?rQT zBK%Ch;QBk{fs$72QOTa9-7tC2+E*!==03xpP2ISx@MhJj+X20^yG;`6b->{th<J6h z*GiA!D)cuj#l+-*_QAJvO4U)&=YoRgx_U=0KQGiz>0VQUA#<l1o}zNm(*3cymzW96 z-L%M9ai}bKr?;9;S;*VsZMywCgZxfmtvSsR%y{Tm-TVDJSN6?kW|8AUuO%{r`2Jak z_nbuywZ~#AJx^GDS+}--<FC@~zpyCjEdO<L{gb7|Co2b5{O7<|S9Rpire4$1zVY(d zX)b7zuzk;t&z*Kh!Da{hi5&UOe|mI`;woBC4gFE{?O2qK?&web8vI9z8~=Dq{Nwzn zKU#W0VQHj0Q_X6pQ)tOo_Hte>QmCgQo+btVd6#Bn`xjUmwXjQ6TS$VTFH?5o4+9%x ziHd<$pLZCnOQIRJxIXS#HCs+%Yt0Wd^4+UrgYx8b(3gF;Zs?U>cnbRwNICma=~w85 zVy2(*-%Rf8(JNiw15SBbO%72q%t^ZUB)3|AP+;Pe(blNYcfqntbxS0dDbAfD%J!)D zSHBZl9b-%fLv0>W5b(@}WX7}1&1a|o4$7de_8m9I{+(QDm1(xnOtfgs(%O2g9-b*z zz6QHGw3_+`hVaBU6Mnq@k({9-ai6ejIsTe7B|v;oWYI=9_q@F$`J#hD53g`q(kEUq zgcfTSx(pv1>P>Byqg+8Ey7s0tku_nLK8N8ItncIbt2=$+RW7Oe9ip>kgmy1mt@Oz* zw83+F<5ZTJLPG&PY<ll3@M0EDC%cs}Yw_LaWAh7rrg&w~dH$w?_>^q$V*I4~h`{}9 z7EN*@l~Jw!BFXA>5O}yj<V#OoZH;!mJ#|^n;g?uTR^;MksxaA&>Fn@~PfkC_lGs#I z#Qy8}M5%~#>b&ITtE59rQ}e*b*`D7Pxh3w~s9N?eAYP==)v4gXdtZ&-xkcG(<p!@Q z+U64Hk8|`PC(=-EMsI6>fkxZAEm_go&a<nm*ra+faaYp$lHBx|*=)%I9a=%zv%MN} z$1Ff+6dSJ^urGyOOF4D!!m`WwGcR$!{QUg|&UweJjo^B($omrZ&kgH7NjbdT?k@A( zO0{9GU}k645G|bGL_Y0!LLGsdix}Q(x$A7^TIXWcP}3fjEd}36;Lbsc!P-xA>07(v zUP8n(HKq25R{i!Tf4JL4YJIynh1K?HzB<=d%=1Byyn3}xV7H=|?lRtfdcfO*3|KV8 zYixf~8BexjgucvL*}wKzl!&_HaV6;We4zO?)T!^Mf4crDxPHZ&Q*++2Xdum1Hil^J z)r<E?8t&8Sn8MfFU~e{m*yHB$dAB5R3-9(L#l+`ghco&1{Z_6);GQ5Wr5xrl$({Cn zlNSfi6E25^CHGh54a{8?po{rW7t4+qa#rpJt-pZXFnst)$5fSW<v>xy<sZGA`r^C# z>3=u1M=<L?YBUaXD(#_7P~gH49X6E4S~mH*%h*-JI(`b?w4*PXy?WZVEQP1`$+%%S zCs=XY={E<Ye(AnFV<x@g-ZSX~+Y@bl!CEWq<s*)olO5~mu^SQkXnJel0yDE?XjRXF z|4jRK#M2DduL@pobXL6&zFE;s_0A6VzBzTDc7BuUfZcu#wLOUVv#`QtQ(Xv5(~E1d zrdca%m8YU4cUzSrL@iF8BKe~3S1Z-!1ZB^@p+~djr{NZ6uf9QA|9=3bKw7^<B5~y1 zjuUNiXFLxv6a|Taegi$n`zy&|lN=l9hTDH8_<of9#eEpK^fO_#HhCIE#9?+EkF!HB zwkA-y!+p?)-0$pdH6H**%G5sMf!Korr&?#(&4zcu2eSz`l(ng$m(73Ra)jXSN5GO5 zjG;8v=`45RAmnKB6pc*Z$muu94Rb`;`yLqEMdo7|zi$MD6ZD4f8sWgzs>99s9P`hC zr{)sYW;-Gl4^>gaixHh-J8?!s#=;fZ8-9L7B`0R(2JZNO*mB%jIPgLI6SV@>34fYT zV|a^$#Vn)t1B5bxHZfhnP=qUxydb8a{{Rt18)kmdfih#!1W^>_aK!8^FGXZeB{ly5 zwxcY24rT5+eTId`a?gf;SY?vo`w#RH6#J{i`WlYrKQJjRJ=oFj8jkx`i+1j0UvWLO zQgKV%U})*1g{g<cBp|9$kHtOMJ=$D)FK!b2p5PbUN=q6@wjTGqdJap>z}(qjw6?L= zp=MrBiwHXgdqzs`OqGARh;5I{@-cX}+Ytwte=Un_YtykB;`4kn;6)dlXE2-c9J!M* zEk6W3a_ba3VwK5=fjdoU`vl1lv=HS8@DXk!+^xMmVIGuKrbx3ypoJS2W!Z@0of5?6 zD(y>b-=r(#p2aZPlp!+0{{Yy{F9@5oF+nNImN~NIO$66+s_x98C)g2S_bsINj4WBO z*$wc^+KR`Ou=$wdD(pgNh^){19E20>qZf)Flo){9D0&?3%Op9WwU}4P)wxd)-0;bi z)Q9#OP5BM+^zL8mA9(boe)-*L9?>dS@Nq_Fe>fXyYG%f~_8+8~W)mV2&X6N92i#xa z#CTXj*Ei%utY?Atm=cp`KMYrU8sg2yvV7r={{Z=Da{~VWLS9FG^kja<`w3!s4iI5l zCVAp8l|+r$a|McYgT_2%^u>=)35O4KDv@JIMg5;+Jj~C~zq1C$#J4hu4Sk!KPYB78 ztL$E3?1NXG#9t8;Vo%8J9KDUlwhQi7<G%5hBmIbA%-k^|*e9j9iml)5&Rl&WTjjYu zq2Im9=FF$F+(+4(<wnFtw?eRPH<M(yZvG7KlA&%91jm(Ht~5LM$jMFE@u2w#3Z!ko z*Su};M*dlYv9Q<TTf}DOCErQsZSP&m!*LDO@X&KX<vW?0X*lvs+Hc5&_lB+=`75|L zUjsjBvDwV|j|c2&Bx~;jHR5;}@lGFMwpbZ!7D~}DKcz&;kCZK^6;Sc2Jt8LZFr<0^ z0H-ddV|lRVD`%9pLczGs+?Ym~!5zOz1P>s<PipSOj>Wa{yD||WcuEPy$h3^N`w6ZK z`5k3j{s$yRS?o7^z+yNp6h@gn<UMjS;Um%*_h2W#MoVPyJmG3?wjTH^NFn{;w-k-# z_xKS+xVd(xoZDt67uaqpCjrwC)*@(&*hYLYS_ylsA^!k%3huakA>LO49)tvW;I5w8 zHzq5bZax+|QS3|3ONpx~eTA<qZgqm%YfOpnrajlPdq&X5xr?}pQQe&I9biHoh!0p- zgLta@oyNtpLi*%j(p-VfD*piG60+=gFviEW$EE{2Rk^yXwHA|9W3}6#JP+Jx#N=2p zmvM8^7=y&eY&L$FoR9esz?2>tvM;IBo&!wUw)Am7_u!^x<tg190MjMxZx3T3QR<I) z#g6{ZOvk|9M<XarxkJl<VGx|SF(>^K+5Y=NfU98MP>bL|qp*rA-J97SsMxy{dCcBS z07=J?(A#!QhG<zAgeyA~Q*5jWlVc-oErZnAcyP<dbXkId+9q2Qb33^m+F$p;#MbZ- zqTvh<XecS}N>-4D+Td)Pk<H`av63sRCc`YjSikHL=u~(`_?jEt5KF_ry^$;SDm#it zIo*-F4>~4A8W?$SK22=d>mc7-$ojpCA(5wCFfi)X7Cr_s%NU8=p%q>5RCZ`fgqs%U zW+Q$uA^OMW9r&*!o(rF4J>9?W`z*#OM{8^{nmLO&JCA<Hkh0Ig3!1&3V-etN<gfi1 z8z_%B9sdACWyts3WOp>h^d{C~#I+LdG4o+0BS~Db{vdO$=k!=s{8xV>(NjqbdTX)p z0PeXm?>qPq(Rm-W3qAndXyf-wUhsEWzXOzc7-uoekrd9Ig^T9<lkRc#;g^;+dnKrX z`%GQj#(OD^p5hkI7%#F+PvcH9aHsDT5B&)8iVI|Eju2gsG>mOMq0$=6X`5)Yz8_(% z@KEXOz{|Lo+-`o!p+JX$<id(6ZC@ZZjZ9}G{{ZT7V=uFnyWfFDP9RC}c8dGE7ualv z$0|h9*R~0Y*q{6UOA9jwYMW$O<@gf@P#ZZAEA1|M4=xa~YZW_jFJn`!i~y6wl0(+f z`^#}E2~aENCImTQIqo7CB6uc`9qJSJjyn+d_7UN+ra{oDu*At91MTiLL+u(3Vw6Ig zz$2>{-o)Gv86igKd5Bs;(M1NON!hc0S!WuL&#^-%fmPO{Ew8x7WyTxaGZSv(W6to* z`ru;`z6R^sCI0~I9Fc(e7<&k0D)jqR7LLd@ElK(ELso?Yu=re;aq~aM3N8_o?%ZcC zR8>~!K>2dEX$<9Ih&%8^L**uUp3F|#lxI~Pd<Sjag5dY2H<n+dXB#N{JB#-+a_G-{ zD9-7evT3X`Zd@pNMmKbLnM5^ZTp~b@QJ`xqcr6los!3*WK1fr_ZIF_r@*wLOn+YD* z{{Tal=6|B3QaO~H_Zs_^xrp&w;E2}5gsWyC;SB;}A#bh4_y``{pOJR(Qwd%M4GAz| zEG1_z;7L(iN6HrEU}5v%Rs`f2&za%Bz_q1^*nhS?rBTHCo_R4mX4LRGP7$^~a6B?@ zB8n;sriARt>@>WN>)GA#*!WGAelSy%*&)E|{hi2$%=?q%Z+2qQmY;I~Wzpn7FefmE z{9AYb0O4i3!!vFPlm6i7H-?!Yo^`S_lw=Dp^F`z<llD^WNRmrC>}DLGIl0^~CoH_X zBo)FS_(!@C8M;r0a-pw+=%mQ40myQA+FRIa-KcO1NF`_driG$EAVL{#q)$F%^fn)P zXxT{^{9Pc>eqp#$O?zPf0K2ftx}?fkCyUVSZl(C{NmNXywjiMnDmO7~H`r%2iuPU2 zhmfF;33u;?V*;T60BgAewTYL=eVv8)7v2WY$0op;lTY^zu!;%%iG88`LjM3FCWGSx z8Lk+THoJ+*-vSqV3*LY64Dg8_-vb^4%i9c=J0Q`YnETJ+3EVcyLJ4fmR`1;v2J_2X z<(wPYCGDQhKKU|!3h1vS+#3vb$|U(hUkelXV>v`#h1|fL>Abs#Dq?|$aKj{)$Z$Rs z;`^wn<SThKz>eX#)Gdw1Uu68E@G(6AKe1tVaZ$#vxFS6AHBcolWK$E2g0A`jKd_lb zObz)_BeoA=D$FE<Ltgc<MUz7@36|}mvN7otEss8EqN0^@i<L&N$&h00>1=xZJR-x% zBrl-O4|R-}J{#=D7aisIM4ibvI=zSO&Efdv8J`8%V)YMzim2JR7uy?-@GNRuKhRi^ z?pP8*7D<sT!FIvISR^IL6#U2Rg}(x5RSioBVn6=sB30zTvMH+}{+rOdowDxM6HWYX zO6+&+-Gim+M8A0qZ(|wON?!#r5I-ziXyK2M*F2a^R(*zU24Z$E8vL^v<u5Q)n+5H# zz$<DWaWZgVEoB9xSxd)}9o3cZF@;AU>b#I}nyc9hZjHvP><o?u+waKJCbDnX7v36P zP^GTJB(uGtjq--u{{RD~z}QlrBcqre9E1g8yym1a5U0msZE!KTv)I9Rkr%+B`69QB zZNG<xdNTFyEdI@-4Tl8B7Xrxl5iZYv1rhDrz}^}B8;jwHecB90FxCi~SzDMVEryKh zZahZlM{E-S#B%;(H)*-)ij~;!tHEd4QBJORAhfdk%h0)|KfsBZYW;FO{0%Nj`xEae z89%i=;TV+G)a3$F^pK?|1^O7>9>yE}OYRi@CyF2ywqxY~0BV3!U}KHMs>GgP_}nOJ zyBFVKAm$G^QbM~4eGPNp@=&;I*uHOl$2ivnKQEz4Ht*q>D}|AWiZ2fQl^wT6)Jj!} z>6WLu;u7BQ_bQhJ6<zSileEY^qs_T121*@0>iA_I%+6f3<l30)cfLhLG#u7%Bf_JB zx)-&1PFI2it7G;XoKhab++D_h1b@*C?gsw=uy3ZwHDrGbR!4ZBhBntA{R7SKBj-!* zJ31#dGPMcj7}`rAWh9&A$fU&xp#d+Ry!#u6v^_5hV*boht8|y#?2P_dnQ(MR#M38a zHJhw2xSlBAxmhXNpXe*W0ijyY7scp_@)U$dxAq`)T*o=(yd~^U^qRkk3Zh``B1~_% zw~Qn~;^A;Hkra@X-WdT6VXTal`DDhqVu=GbxmlhZKV%2?JHc1zNA3(;!mw$dx)U2s zP1a2Eiy1z|2-vkDw|9OAyAb-8!`d{ET1&X#(*lBfm<DCEJusFxLfXr@DZ<NRI%aj? z%^&hr7+2BXLa)%%Q)BjGIb?w$eI~RIZIk4@J3mZVG}3}uDY1f7sM^Q>02JkEgSfkQ z6G3ubUQF0XA-y)9P?UBVdJLP|J<qUxR?C+L-z-npa+a1(M)tH(yQ$B4Bi_Wqxd+Z- z{CNnUaDIexM#jff>?Z5v=W`8ob?rZ6$9ACBHyTfvGq6MF{{XTi{BAb4XXoH&k1Rcn z{{ZlGthQBa{{Xrzl8Ca5M+{q6hkS))V~;%k!kO{^0C6PtY7X~Kz6U5O`7%3uJe9;C zmCeFEj5rydQftfHBit9m9lLiUnyL1VIa{3WZ(NVGiRPGo?|x8;_Ys`C&Mn<kevDrj z$i>#~=Iu$zQ{Jt})Fdz17mngJcx&8-4kyEb)m#OPXULweRQwIP8_)~MDvF*~AF>x} zt&;M_?R=lu$Ccz=p)wcAtg-R2axK-i#mBBU8smGtfAC;2uA_m4PZ|uEv+jg(-3qi# zA9LC{BubwGvZRY9A}!}`S#s&c%JMx9OZ^)NIBb#U{TysfZg6pz+;W^R_GNan&KKrf zG4GY3lBPy&J92hdDrF?x46S}QU4vHvtc}SoMv|unn4DkXz6W=6(8jr?_>Gv7GT(7( z?L#!?;$PUtfjMgo7(KzaE?E5)<2k*MYmuQN_j3Cp%X}F82y)CB@EEryQC=@&;sO{K zcMk5k_hS3wd~O|GNu>0I%hVoxj?1~9!R10<C&H5xK)IP<4n)StlDUwMoJ93w6v<{G zLS5T;6miTL$whPT{{W;V;U+YSF=OK!YLmem_<9$`MDk$LaoD{1WjqhW6qPEN#%a9~ zeo?%c82M@*P_6}9^+u>!oF4<Hn>`76!o4&`(yw=sOpvh1yNzVI75EU?{gv#DZb}|s z#qcSwg~>xUjkn}TUD!td0Q5%wpI}0xV!y^jg{<3uMca4oY=tSf+$nr%mx9#4$64h< zb@L8fMNg9uF_cZmkn_x6e|9QlZIeM)4p*btV3sRS197fI5qyXiz4}?_VOtweXWmH4 z?o>sea~<b3_Z=68Djy@wp_pZ{=qBxWE$}2-G3w3-zk}0X%gM??Yx%P`PXo|hB{`R$ zk+sl|Ch3$mCRo3i#|3*!GkEMKY&hZ$Zl>aSBkmvG--JyJv_drROJeMu$!8NK4K`J= zOsrdG=FI*E#o9EOZP?*Dc66<qPxu*DGLPAj_ubEi&CK%hh+oCV#$g1`<_e+-Od#Y; zo{>f2ui7)l``feNY+E90(RhRH_E`%WYIpdw{g1}B5gv2<4)BIEfJle0{fw<%{{Ut7 zkzdF!KN_B0#n?pu002K)o9y`=duwauj^fYlj_x2;EvWgoF&kdOF@ja7?jFS2N$oy& z_|r-WivIu|#>tJeuI;5SF3Py_@WwbUpV+(&7?d{cq`VoT?jX4tVDY&RYRQg={{XR{ z!Z0Y#z0o9i7Cy7J`3p+;J_Is-pJ6T}BN=-$Unp@?fxCuq76|g{je#5dnD87UB=5Q2 zMJwY27lB3{nlHh9-TEGm_K`>~t(l4FWnJulxLWxEyc`~V5j1S8(HU!X3x0;iH`rcK z18G^C-D~tEC$sH72Ays;y@{Nd$C<KN&;**}P1^9q#8gk(W+N9l@G+{~^OobJa8bdQ zmi;uwcoRiSkxY%n-G&jG#Mk$5+vJv$+sTu-vi^g{>Yj*E?AAx%3_O_w3+{QiOV<F| z4ba5x#21?_@-{MJ_CCdTn}(gk)Hg<HZZFWiDk4cDn%IAcMRS4H`B6=z==6-Oiazw* zpor~)#^HH=#BF`ErS|%mjyy9W!z*yl%7|M%i6N-t?3}Z)!W2t2{s(tKWHd?g_%;no ze(CThw8C=nglt&;=$t$r<SJh?z{@X;7QZok95z_lyzzn`nH+R$%>4Q@mVM3yVl1z! z70l+J$o%Y2PbiartU{8aR^uI#(|prl4Y;Om38gee86!__7=|y`{{XR)4Qt=zl2}(P zU!@$$_$ZKG^N4(n{1^svbL9>p{GJV!(9g}tg4;jH!RDL{S;H@~?qxes?d6XiCpE}r z+h#sC@MA6nlT(q(XAhmk_fmTljm5vCzZKF6+qS-DINr*m_)#1k=IljwW^B8%^-ntw zc>9QW!G=(6Wn<)gSeWu+FhiH%Vy?E#NP=I4+(u=HOsPjbh7@wK;AIe~$;f&B!R9z* zi=El`1ji)dDE7(2l?%Sa*|<?|Vn;Su79~hgoI{Gy+)tSOg)bro#Wqw!)D2)&JT@!1 ze{r3&4JxX5VL@zbbUm;y*yJ-c;S5IC=^q?fJ_p={Pv{|Ic}viQ{Kk6;SCOt07bXr< z##f@Im@C35aZp4`PQi>EDOJXs@g`*f;yauA6Y)u+v{e594d1fC`Y)badkv=)$||gw z5iIHd0Axo877(E@#hm6}2b8`CEJXAMs#X)iibc!VWE*D-SA>|(*r@#Sg@c+Y>_+n1 z2j`W7A2YIcR@3*`kk+>IJF_sdfi~44ud_1q_tNNXN#8~X*!zF*qPQu)qY0$L_JiHm z9?hE@8}5wiV?48rcICL0pNenvA9|p#<U6svN}pl-idQrDnOwxlkmQ*U4Q2c(ymlM@ zC!uOwL_-o{F%&sq^l<qmux_<E{>FSNU)WuXAK4gxz%?^}=!Tv>r@mQSLHm>BEPnFQ z`Vk&CYHuC?0LYn#@DS5)%##_~oBmOL4)4VD*d^Po{n5*YAvWEQlx?DL?Ee6<?_NgU zxH6jE#OK*z%gyqA<Qc0WFEfI@rYWDD##?o-vVxeMkM=Dx^MWjRDl1ED2STl@%Yie{ zH^2J=@j1Xp%k*$QO~#nV%j8tzxhx?iviD!SNO{@6&sn|E)_uk;#S*^XkoAY`bXZzR zVJ?fg@;O_L{s$9c{^mHvOki`A`?Ap6x)RYz)PB)2{77q=fiXqD*!eeRh|;2qB1<k< z?*`$VaLq4n@JTk?u`7$5*b|q@7+r5|*RydgV*dbUZ5e06J8!Z^DVTq<A9S=_Fa0RC z*Zr}NHBi5p4A(I~NLB6<`Fyb-mqgDrg|U88KVgctPvGZ5HT@awe1VA{w9kkyzKcU6 zHcV;FpH(9he;i&*j$roHUgvrKgs5&8emn$SLch>#5MD`@{1<c!+N1rDIT~+k49>eR z=LX}=M3l*GeugF925nT<i7wXNjNEe&QT*R>8?>RcrvjNI3!|vW<i{4|h1<bF4LCG3 zUf_+rv;}TY;c`Ry(NCNXpY!&UhsnQu;9AD@eDYqsYALGj^#o?hc^`gR9n+*K_uSse zgYDd0Q1Hqt(G%G3>^J9#=072_T)`OWr1yC<J(2y;iF}47oHi#4Ux*R3H1PKvY0r`Q z9$!3P1o5+3<ZOo$SVFf)BC2pQ-F!Krojb6ci&U^e0a{*53xgT<sZQ)CV=)qoW};@u zjh@0q%E*=D{{ZYd<fABEMZ@JvUlQn|L;IA)T<u3D)gh?Qx(RPA@+At9l`c<FrH7%~ zpJyHiaJgPmEpjgYKhPJ<F*7E<Oul4Z2svu(nCWV=dOOB-_Yn39#fJP3><~@S?9yfe zZAFxnUJVK7j9ynb6xRuqJ-4v(DGT3i3RAp6<T@n9WArbM(N8fNV+)&la_%ggQQz#z z2p0Qy8&YMINv*`i+iYdSCKlamx1oH}sU7ACx_MI?M~WeRl-gMT0NL(2t0(5<cW-;$ zP_QOv$VO{eIQ$TjvrV&sV%xog++W}_fv>pANK#cPJhAKEUb!gugS2-`Q7psiiSsE% z>yci@w_$C$#p_~|yWWk6Kc1Eh++nq!xOrunRiydY;()D8y_QEUS4sEE-i>wK0-?Sd zYrxhjB5$_`H2r~})%11{PZGy!-hJN$ilIr|`fLrb-4H#CHe{3GP|Aj3Co~ttR>DI5 z__a|sXL2EdsOckaGo<DDOi`kEpD1UtMQjNkcWvn>5*1{o((klaHv5;T;7R;qRDGY^ zPWMUq5c!Em6M8%+y5v<$3&^*!9G*d3$Zv@6%$#vsPg%YEA)V}g11%h({r>=C-pe@r zx!cB3Q5i>Rk*(zcd);J)$)R2L-*ivEo9Ff@Hoc7VJPwpiNZPTMH#;5voXZggeLBP7 zq!`>M00iG86t+tIlRGRTw(xSPPUs?OR>_ucvJbYH{SGyfeZ{MHFC&22syJ>+-#m%# zZNqXhC}x|ufr$@w6zpT#tGH`7a%jR*%Q-)R=jWa|hjnuHMs13`oup7-+>kZ2{tqOh z?yuP?Es#0Ob`80TO6{s~dt$&lMONxwp(a9J^!pQ}Po%u?#hLrDmThRcpPhv&*(z=* zs=p-%tUlwr$5_pjQnC5?LtxwM&l}qa-f6V^U69OTY*0M6Ox`jTdRY=%X&m`smNwJl zfet28A-uLYC8W<|@=Atk^e&NxX2-J5$u(?Z*F1_UIea>PP+(k}?XeSmn6D~+ZL=0s z!71hU9pj026<*JVD^Dg+Ke7yX&HB;bN#js`o69x?xJYj>!a=TW;BR6<U7XB5S(r4w z!k9R&e?rr`P?VMLM6lhQvFCVi2EuTI_s0%mWbR2l3i&^4z_@=vWid?{U66-yF}ABe zBPeWC`(y)5YoKp&z};q7)JnH+x0GzdVUDYR!ckc!o#Z?VC1to^z_#{r)ZO+T-zX8h z9?#Cl_8q<7=xtYf+4`S~X8R{7m4{(@UWLlY%OA&w=-phL@y?#aDbTXF@`ln(Rrba~ z${_KumVJ%;40gh=vSPb!_n|5q`$ZPv%8iON@D?k<m&*fP>xjE~Cj6hU7_!DjA7k&i zV9GgM9&A^fW#Ggus?feQwf&1=t{=&U{s+0c>8|6u`xIKX?lHpEcXqaB7}l$^hKJo( zL8q3{@Zh-0^_LGLcCPqKOsAK#H)CWy?~qI$9)1@rYC*X^Xe8Nh0hX;|TlYe#<$c>s zKe(d-!I2dk5-p8Wx-sY0GuL4j({5hIOgoH=$zApsd>zI%_``Q~5SLK#dkrkh_c0Y< zbJoL*R@(Mt3--JCN*Do3{GDlfF?{p;A^!llN-g*v-Jj(58&Or}e#TCoFw22y7X}8x zih^x4N8%iG;4Yi-;N3WUjE=P)_(gB#w-Ir!!pfaEE;TYg;6lg3m%EXeqRjBgoAM`j z$&7QWJ-KgWTjrHSc41Dvw^62Qs@k|W7k_riS?y=SB@L77f9&DEY)p^(IP<g@z76EE z)!>Z7VS9i5FuQUIFf7LSD2g|&jy2p*Vx}jYftvbOosL5c)z5~G85ihfmBcI~hhOGQ zKzC2VDlip0IUzw{VQ=lYYP;<m@vjqe9?Mj0pV-7$UG{7$ewFepEac_g>~2Ne-&km6 zxHWIl3Gb-JJ2dg~cpbgGSs!nbt&@^G(a4}1{E)Zh46Yx9Gl;ofMHkp@kbQ(|Tteaz zP8K9x^x2BpaAxp!85=I*nfGJSh4y3Qs-r^XO)&j(XUZ*&fXiyiJ6?Yg*i>>Xgd92s zR^opsN^P6dk%H}be0yd=KUwb0(v*1^OJKY)z^0q!(AL~_=`AoLCRwkS21U7axBmcu zbVl1e$jd7(Ulz<?hM~<5gCCMw5li5B5Rq)!_B=&sUd<X0nJf#4RlD#W=)zL_6O1%R zb|g75OuooGd*$UjKSNa<2W##bnB1KCE})q%**i?QVj8xO_E{WKV*-xyT0v349+aPP zCOcU-_-&8e&D!`dG5-KD=vuv#6)r=*JedyJccZy|fu9#oNmutjw!wH9t84*jU8miP zTbZAg*i2L5mg2@^pF=jsxLIh&s0y<8`1U`!-L%agX%1bsIQKiE2l;}S<f1Wy?h|<g z6gRUQnW&mzvincic5<Z>;kUm6aMa-!KK_m;pZ%c@EySK9TojCWzhj(h`9t<HN+zEy zsb0L4Ggl@EmCG3_`=-PaeaKh_Zo>pV^0nZqI3=(-wBXxR6dW+)xch}ofzBBeC6-7d zz(Ct?PrxyxZcRj^l+xwoS*$Y%w-oMR0dCsv{G3?!dtw9=G?P>LcpnSD2lUWY*$zBx zkvdWYN~+|KH)$h)Do!6GWZe#5ge&F~@@+Z)0C=wmm*7>27$8b;O<p6Uw4QcC@>Jh& zyhLa4?kj!b-;_0i%b)1Vw8PtmDl$!+`<SA&wZiTrw9y`L<R5i|H2nj*9;=ahHyq6O zF}K&1*x8L~zDLX=-~ECeRM-u@un5gF8!T=&BGgKX4yk%_#}T%gzNnrlAgU?rAsIC{ zuT1UT&Gr->aq&-KzRuO>gDXv=;C@<?&EI4$#zfoO%PFOd&G!t2Z2Y~1Xi*&JH{@f- zx|6`DcNXRTE0ZnktH*P2Tvq`t<yVsmIL&<d;8$mj{J->kw*2EZD!u_HNq0LB$;3v> zBfeY@RvRs$`!TUtXWV=yQu`R3b7OAl;AcOu7u(&AWjGJWMcT}JF~ncKLe?x+yAESE zUzLLZ*-5*J2;$SFl=(*nR@z>NL)^o{CckGGedZ9KJRko6at)rm%RDW}6gGXKx+UL^ zXHbOm*^=-45yqnHg>o$%mR-4JsM?R<hu_cVOenzg@Po~=JOmP>SC}bF<$lCzEUJD7 z$L06IKeVw!2Y=Ix<n`1+hk<QVhL%jXJC_`jvbZ3kk}7n(GbW_J(n^1Uy5+{7?0H$| z{{W$Lwx6><N1HqQ42!Tg<N}6L-z*ixNG8dA3y?}z$n?ua;gXzC@DO|KWly->BD375 z!CAZCi@;WHjmGR%0a+58>@rou<eD9WA7z@gcZYb}u!U8;o`S8o@=uP)-N7xyl$#3t z<aZNg{{SK2qdqqsY<u5hW8MA+KV>|U^VojlS}(aepD8cEgjH6&3iJt&B<8qj6;@8| zZw4=14coAUbs9gAfX4DRE8<@ww491J#=IDeY`>!xY3uI$B6gYQflQ<udj<TKNbXt8 zjKw{K)cY3HSHE5!&{i!)OS#(S$#g*y!Yam37D@3A+CJJJus>}a8vg)ebCG^dR!PIq z7#i~B!^m$`FrRtIylXjhRIN7)HfqKhl!cvMLL0MN$nNDvN0FA5`K?OMJ~x-W%M zXhLg!ft%X^Yc^iu6`4v2qBW)l;gaDoxUcCDL6!diDkZ6=KPPcrjDMIP85%A=3x3z8 zD#(w%l{zSo(-e(~#~qK4BBc45v1?l=ge<%F+dMXKbNz~qXz)G5aWcvJJ>)*nTlOQF zQ^-Xsnd5DQf!Z)i5qA_J4(MhDmR`o$_ZFXtEhV<g7yA|oJ^2>%1I*;USlCt95qq3G zX8XvK>??a(J_*OS1JN_yyqwT7mMA}##Wj**R9(h)IqBj19kmRNmo16QBMck9$#Tuy zrWx%#oBPW0C)i5@Y5xFhm$gr5YiX2+mL=pz!S}I^=wwbZMXEoO$Jkuqig2?tj`Pah zF-}PY>s`N$hUV&f6QvbH9vp7QhFY8Bu+nytSzvoTsxA%A&}LO78o$|Hjjy2r9pPwi z3F~q4DY5256yMwI{E4-Eq$js*m7KGO*?hYUaH&ynu%z-DvkuetEP0+M^M+5-SIk5t zjD>u$ZiS2=u|82%F+^RzxW)r%=(g)KHY=aofYcV_w3}=>aV<;IJN<ckzwpUlm;16s zUd>Yc6)hXBy$`Ma?gJ-nE9hTcGPmQ^8ziW=>ICtyp4-VW=VBWmFha3sp%P14yBi|$ z)GSD)-dqZ0hM(@(i+Q1asD&v7xMY-D{eMOh+`a(eB9r_d^gC~Np^(Js_#Ub_8$qS; zCRUL?JByw|T=#z`X|p`?F7lH5mKzkK9Jv1g(U8<IGP}-q{f-)3k7O+@x9>sBm|(^d zh0xV+`UXj3?o${w9GfpJb!R8C-~Rv%))@Oj*oy57=ODgAD|U^q2#8*5BAY4MhYU}H z5QTV`E!`6MjA&%dY{YqTMdpZBn^Ipm8OY#Zy~MY|E9^POOv;=Xd&c`lL^stwLKMFN z#RZBm!DZl0g)O1pBOKeCW%6DDmE36g3`C=jN)@o!+RQSj@L25kMEeIUN~CG7$!3ds z?T3?UJbV$F8jP~Rjj6R2R@Z;rSI+C?fIX3Y&VDmDq|4ByWKn-%FA%X3JS`K&g+pxo z&P2Yw4gvj>lOtX-9v1{SttZILrMw<jCt|CHe}x{%C+Oa&lo=u6JHZQZy)+*wnL)6- z%)_vMX#hQQG2Av6W>4%&yq)EEm)<!j++1n)V%U6`<PT@$GjA*Kc!h6s4#vHmsws~P zxQ2#q-vVtpKI3Q2MeL3TC{e4f<|RrnBO!$uV`w5gIsV7J`4=MzL@RYe^<naacE(o> z49cf(0m`M=+eb-!mD3j^G~l<#vbyIv>9D0940+w)Rn5|I{{V(T%@h?>6M2qNv5R;K zyZl%F$ZJ8p)R1_#k7&Rz?%*Y5!l&Sp*sNXz%#Dn-g2TPXD`6f*RBJg6eoG$2Rk;|} z@*aE)zGLIoN8I}ZJZ?5ID-3(=G8&H}5bo-D3gS^x3cN92fv0kN`YF%KJ6<T^P2{+K zOmkzW8u{t8yW5Paw5^8?k&`uTPsw@98X*R!INT{=ye|QBNf!q0oSXj19oqigy&Mab z`?N&jCHZ2EO-*kTYHGrJBqPq#{{R5D?)&73R-V9il*s-G<6JTCBOvVCzGEKTcjOyc zzCuRYX1n$f^_}1m1jatc_>=e#W$v}z4L1`__9Kj*2xqv{yMy>0Wi-U`I3KWo^cGVh zFYKi5C)pki1>HTw@M%r#a<*!@ZDd`~v0mrEzF8#sGlA>%363>HtXIqQOG}Ri@kAq; z!!&#IzXQ98>G>SrTMgbxI>Yiosu#m@$26Seb2M%%gv%L~71?q57H_aI%cTDRV%TR! zX!Zx|71Hq5QQd|2MIJ}<-gnO_`6sz39x&4`-G;<w4c)ggwj*zZ_cvZ5JT<u={-$s_ zSG&vM2|>6exYYjueef}U;n5iE9kReK>YE8e@=%S7V1=Bg<tT|{hkWH+`youVnXu&) z-6O(x6%Nf4;xiHd05rZ~lk6nb<jh2(xpth$B;Oo_^5YR@EA~D}4BT(f=XGeG90e;F zZ@9Ou)4t6hRQvAvUW930z)IeJTIHTRp;Z_ks9-+={h1%DW3X+1y|Wem9p^b>TRGln zFRt_Aurf~yCAiK;!FgMJk5<~b`z)Da8J*TE*l!?KD#Qr}9i>T#ljK{wAz)9owQeeU zQJM3`ftb}zsDYXG6lXI|%sb=Q)R|E~g6#H`VA)MJ(*dhbC{Mta<pZRwYwXAKn?K*x z3sj}M#z<xTv&}uoYm%RCM{cgb+eHvr<Rwn!O=Cx0*68B1e*@DKWSDe89UnU#?<w1T zk}j{#!Y=;+2)nA1M^Rc=4J8xX!{VKoF8*?{w`1kUZe+jNh_<1H3bIDxU2+-A&7PQn zTq81vej+4W$a3;$*tPHxwBM07?KmlF?9sHd?sgE=VIk=9Df<Vvw<5{hW#}2a&}W^H z{8V3&M&j(q9KN3B(_ZFmYZqSR@5P@qH>89$oY)pF061mKR>76p{P(6%Z{{o(OhUD! zP5ivxX=VIn3T?L1m#9MKzDUuXm=*gf8rV+|*!D<`)&?quV|U%J2uLjDe#L6=f0MST zME8=$?w>ygb&NjfSODnUyAvf@Xi)4%THPBV!WRvGV%)tBQNNhvgl$|uHLgb+VY0v; z;{L(a^k*MHe`@`uAx+HO8@`39?6h5&TK)e3=VHbU-?;RwLm`n6<6(Cj2vcp8F_#F3 zhH!nF<bK48yby$mEc5KK7d5tLv5(Ak_#7PHd~3-)C{^8!6UP(mxRXm?p$w~YKajJ% zy^xi7MBd|6tv|UlnOk>Up+n>Tf;tex-#ieW*i^5kHixvD*^8G}V4H1+*s)dm<9joN zDUtReW&El?1;<wRT$${sy}k%{6r-@|EZyCi@x$=NE<VQILK#v-*Bgb$x_eBajLyXN zCE+snxI-O=3Eb_m>3Ok#v559)c#mj5l7DUydod%uJd^n-uEL<QrPN>99z@I7K^q6l zWMYYw@dZTt>u;Ug@+&r*{{T@N<ceGTiC#>rx)d30H=+VjH)SrI{fYSzm6Lw364H)` z@L&gy{8U*eVI8f%BQ)hN$agOd?=UvyNh^fxBvl-rv1U@X{FVYgp<{R3uVNlI#r&CE zcaT?=5S>;-b6JKFM1&+@N|R8dK+>k?bVkfgi02G5VijiF+%IGiO~deREv6Qij2c<* z@pm&M`1b?LnnL0C@)APB;r44HT8cIIxf&0>y7nZ(GEdCGC65Wa6m84>^Y<F>VZO|< zVoks7%mS%O?A*lthBmVy+aOzd>-BJ6W4ds}opDl+QUytQBJo5Gg<<jj!fw}=-tf+1 zh@0*~+N$_QFx-F8Mm~E^PBZ-bBX%nLF5@x5;Bc33*oSz_dou?WXvPtM@zr9@k7*_6 zfezs9@-<VCkbS~T$}cZsLOgY+VHk#v1zv+3(lDM*VXT2rx^0{Zh{N1koGYJW$~gR? zLDPH5PtQf^4zMy|*{#s6uSRq5X2l8Sk0$V#>dQ&#?kTlwxa>*8Dt9~miY{;~!!0P* zeZi5hce4Kgv1@qTQH6*)rUVlx;d~WoHChtF)i!t7-7;a3Rc4*zbGl4_k?J2PQ@4@A zyN+gQM`151&xWe@AmiL&VQiV?Bgv9HvmL!eZ_y_AR2(5Sc1wY!WV$Q=0L){KOkob5 zUxY`4tJ*PXwS~)>qI&``wur^pW&0S3H_nI3c_<g=pTT8h*lB?|IC~Lnr0mYj!4n&< zUCV))3qq~pdEvi-a++H^qPgSiarjX;HQov5ll%%bKg@7jPd#@8vA+2p#Z}kAe$^i@ z3((U^yfG0!yUek+tGL)SU{POZVv=`7KuE*&$n*S8b}#lMPS5*_r^$aK?7(eqB(Ux_ zYjy49z6z)h1dsZnRv}V@*iC^N?qci@FE$~o8%jAZ^sXNAjogR26x3Jtlv8*JZO<ah z(OU=HWA%A_qX8FUWxmW)^aV!7Rqqsb>BK)FSGb2BTO1-1P}A5so(lOp8;P6jJm)9N z!WQ5>i5#JM2DsEO%n3^Hwh~pNnb>41+xRv)GAs);V$M&T&)Fa)c-61b0hN*EaBf@4 zL?@j6J0I0@Qb|7?(2hxM>~}j*<l~`g<lTli<lr-rcsss6!q#M`eV~<ROCrO4fhNaK zb)Pv@O>!vxVD}>x`!DszzDxIOFVu|cB7CB0Z+1RRGllT32ithxxk+*-yo>BWJ)Yu{ z3jFeDOD7c!h_Z)2b#3}*`{Rg7?4d!geS-V3er|qEEFps9S;=D2r1ur}J7fOQeAC^$ zxMmj%$8vqkeW2F=0EnlNbJ>?DLx&CP+7|>K<B&=-H!yyKn*wD@mF)7&XC%9P;Kc}k zE;F#UQpz8}+JIc}SbPgJ8vccp;FjSRWGvb+Abp3j$Wn^Y=L0Twa53Pm{l{hvU%kh3 zbJ3xlQ}DZDBL@iM-j1FVkX^v2o%j+%cguEi`;>_G$k%q`N|c?rn!FH~1t$&r3FR64 z9fM=(qTeHM)*P1pisf=&90<(WZmp4+cG=^3zmpjyjp)m(qWkUGyVAZnH-qH6az}L& z<XACk{{RxdBb$|e_+K5h-szJ08pQZe%whahkV|S(tj4Bc9?KCQ<d!SSsP>sm{`R4i zep~i45`r#Um^ruAoBseq@y`46yY_$LQno3zoBrc2aKE_E37v#z5kFwzcSSp22x@GZ zm^-o*X(xl293f|DDZ6c9g~Bn!jGeM<-K6EPgo=aBIBcXV7h6Ee8#O~oOsFNbW_`w3 z_H6Or?mBhhwN407@C_13drk#;Vvcl=AH0sxE`MaGukfLdSp9}oYkfEwnH&8cRLn;{ zvC6Ad$H42AAZ=`$$iH#jffy~xFHEHB+;?v2@y`1~L>j$4*y(a!=aFiic`+On`I4bs zq{QOgy^C1-7@J9#JHUr;6+fF{?d6ljR?Z+FAuC&PS@NB`n}>CY<VztjmkS`4(R>+> zNJv{=L#o3&rqcVwKuS)+u6!Z3p+a*uW78nG{6Yf`+AZBTeXoM#yHFYO_=IU2LD<bt zvX2uiDF$vko57QbG1-_KHW8@XlyB|8!*#rko=1~^=r1LqO2uQ#;TscocyNTB$yk#q z9l!ceV@;(VFXJtWwjT#3^;@4qL9pR>^2TOO&%#C_gZ#v_S0i}Dt>o@Qj#h4k!Q;W4 z8>Y(t0C@Sb_hSV#%emdV9iDl27;2JM_b%$$MHg(nN27nyPmriT0$E(9NQv0@x9GTX zgKiWq0jOJUhBbtqQ4b$6{EfIPBU{6XQTV$uw-Sew2`!iCYbl7|ZG|tf&6a%`JQ+w! zymBq2&||De`CNBH%{E|K#7XwK7|$9HKikQfWKYh^yRmjMrR%Ww&B(vlsUrnHavWi+ z+qjG0`}YvuSKq$^#bwOJmSky7AIMC8>ecsZ!lWNP`7w0mGQ1mzSUyTW%W=12M2|iK zOt@(uW`)Tr_d~fdXgEeXl_)Pk;kG-F{6_bdS@_=!QJVIfvjZZWKI}_$G6Msxf^YUb zb`COsNM%?v;X$i!8Te-i9rjJGX8!;qoVom>qkIQH6xeGF$|B*8Pa$iAC)h{e-qU+* zTDqOX0(;1aI!&8sZgbpU!vS2kuPEC<%vF`xxZkr#T<<w$!4%=F@z_Q<-YEY71-e%I z1*Rq+lnKet-7E)%d^O3nY)ljX0EAWe^MUKO7q!fyAUDMQp@47Zq(Mwcx0yC?{-HK) z`mRvK;g0U8$ZLfy@G*mR9sHGfi|N4}XMXa7CU{>qCd7#;bL=>Uak0!BOM(+TlKw!t z!d-7+T;s`|;l_}~2<*M+(Y4lJ4>3<0z4_gZDQ@AeR_Ih&ay#TL?d1HnVQy14!Y|7Y z!x&zq^J~iNA!}C88wE(%OD^&D71>vA`zX^je_<AkTKi-Qs5^h5nZxz<&*<3=8?V@? z6!<ad$rW288+dKt#=8{eoAC@d;So+@SiTXDzd<La<DtVsVF-eT6wXXh6QeZp-=Yr) zh$B;P5qm=)c@G0wvk~^m81*+9ZC1WE8{H4`hoDKV`9wwJF4jWLlH?|=wRznl32KIN z^4v0vB=CpKYux2G<Wtqh8)3m*a&DM@&Q0AUux_i^Y^%TRknA=+&ygOOeFSIuk7G61 zG3-~e3eL1=v%ziIen^~&z=eL?92iR`^nt+_fZf<s!y5A^2@J6ci{ojF-M7ICU4a** zJhC?9TOLfAh4&KNSU7Y`KO@T9xs)x@`9&|Y{{X?e%NVkV!|i@X2s*&*3Gx#rkYOH@ zuOywv<PDprl^HuKamo_;o4({_5O2$oL-$>Qm$$wS#sPv)50Qc0#CNDaFX<C{w;lTl z;c1_-MHPJKD3;`usL5>Z4Ta_5xT2;~<m8=~WHPg!&p+s?&AhZCuGlpD8^OZqIqHqQ z+j8JD*u}b`=t*UFnu$(gZ?oZ;nnK63xwmw&-4}~$P##RCB4)-J6wlF*>{udLqh|88 zD>cZJNOKU))4;9GPbEu|L;M0>={8lncPT{EFZ(I*h{=r1R<|*1>x2)whh|2Vtr0$4 zFB2QqHP+}lcTLF?e49lm$d`bwotG%2w*%tvk1J**CCqp^OgG@MF#E@!0%UkCf1uoO z@MpN}B4WhCNiD+eB)EJN3v37AnFJ-+udywqLhRY(r^MZ4K_l{}%KMTGb8Gq%F3rEG zzxa7G1x|9g9(M**b~w*ddyP_RW9}kPhAzZe!JJ~icN+`Igq)qheaZgf9k)QncMJK8 z!xFXRgbmqv550-IDpZR+i}GhewM`iZDtNNz^dehN<j39M?i|t!lixJ**82>oPM^%4 zjm$SAVG6OVxy$a$Hbr;li6Fxd7#cXq>+MEoMeq*=%{S$o7@xffhbQ_XLGSP&CT@=9 z;J}<#EL@N1s<Dz|+xkIFxeerHsVN9|3Y1--{gPqY6;jn6IKBseS__s{8#(tT)XdRU zSc4YTxTV6il5$XT<&27u`|w*CPSB{>`yDM4AgZ~`eBUD{tFrMoNVays!lL}3a-62| zVNsv##o@9Z;SshmQbMdTAzk+}?4h#Hz?S^3TV|rX4gFMC2)e}5Njeg16uSj;<mPF& z^cG^kRi7uwrc8X+hp}WWP5KJy-*}iNBz1O}2_-C@jZes!I<5woTe376k}Hw2gXMdc zd;}OgLaO8CjI-GfGaN{fu?>Tmq74%AaT#Fiz-)XsU|w8TpCez@XIR$e%MWEbt&1ON z!H14WKnn))C4gouc8dgyZuTij+VKl$Gyeb}oPatOquMr3ZN6R3USqGjAKymXou7f6 zXYjFf#&|Ih&NmU?fKL@DzOQ_WdJDkMx{tZoEqsGynTC81N@Q|3V5HBPBRZvmJG;ur z_vIMY%BIHyoNv(_lw-iW3U9DtUnXP7s$LQv><^2iuV<4MxA*fUs*!4~%3y^|{!#JV zJ^dmQdzbyml@Q1wJ7ak^Jo2UCW}yqgRfe;1i18G}@)SVGSKxO#$7{P75_KiJvfc$D zP38RSy7FU<fBC?aJewM=PYTWlGzjH)oS2m#1-aT{HyE}z6xjwMcqwNmVok5)S*YEQ zwI<$S@{UuK-S)^<XI|yl?uF!WEkc)bFx}a1<_k6v5lY;ImAIE4$7Hroe{w0#8#A*L z7H=)D*oVGGTMU>}V!lC>k`RJ|I&Arp+U}UbxmW~Xz(nk1fLY7h%w4N;4;aU^FLGHQ zZp1cYa@^7-Gs{V^9-^kK+)5F<uyEt$29UWbnShIA$jdA^Hf&I4?UHujJVL>J#G;!S zbuH28Oefq)J<h|Bs@3RnXv6L=6?+`hc07&8q}$4m=x*h+G3aurq}PfnJ-m2Zhx;MP z8;b5`HzkxKW;Z-`W6&fkY)Rl>L62LuDJk%6>`Grd78f98uH0keNryg5OqH`d@&xC% zY36vtT}1u{)Uy8n0NCs;U+i_>=zz<7uQ(p)-CV-?awZ=+th*t#*qbGj1~-^5vpOFt zvR|PTXEcJlAlcF_vbisFJ>eI#JgLO6GS2T?{K0SD=|1PrCh>n}Ga<nJI39u|O@Cs| z6@320k>#^p-r|MU*I@AZ5Ym0jZm)QlnH*eKiYQR;9tIxE*gJAt^s+gi{^xR>ppko* z_7s9^kZqMeko*!%{f?lM2{(4IG^j$;d-)pk8)p3?QnmihFK>i6N*2!nFy{s#-S>v! z6IG|ZB>=)MMP<d7RJbzK%4Lr#{hLttWpbrVJkX)&O;_|im$AOsGM5$Rcr8pqsA?m% z%MMLk;gFm(?(fO}0Ia2D5fa(@MjKkvVgSq`u#5+9pK_EZfq1WhZYq#giPq{RlM17c zg+%#dN!wwlLL*^-+!}?zw>KN|Y!Owu+u4M9U$J84L}3qLZ`eKpCyJDBVR#VEBIm>v zTCA|V4*vjKn)`@Sj$hJ^&Dj)_T%>Wd<GUWSUEsl;&gJhN4aP<+3RxS;ce9%nOD$x7 zb}Y2_IV428w5lBJjOe#q+!oQf!VviN1S8l>mj*wL60eWj$(F&kLry)Pw{cC1JSX_Y zs<i2nRfIXZ>{q<lbb-i?{IPa{ji+mi(iDNhVW`X~ZqYtdFheqmUy&;@JYGDqC(-TM zY{o&_?g<FBF5>tNeas=Im$3Gyv`%2@KcSyiVV&-2p1|L+pI!$ZI?Ei_7HB^r?Pcea zgN-HF#2$$u*;dUQG^YtGg+6@Ol9YR9{EiuEg8u+)T;uT{X}@S-2{zA@?y#Uh+xrx( zz~GEWTQn=J>vI>De4A#g0y{M0fwWRz13lHM?{eX4O6Ow{hROJZ7{*UyId(qGFkBE7 z7Q%DNXxyQ0H~ut}y+`Y~orw8SQsAh3JMbiN@;9hcxa8gh-UU%jCAfy3a1N>gulo&{ zMOT(K6y$X^*kE4;9C5hQ8@tI|K}M$Ke;tslnBFs<2OYZKV!JVO<H(AoXc@Y=^821u z8$6k>V)JAt;h}4B68IC`w#(Za=XL0EN6C%l{8SV62Lx_h{z+C$sMxqjYu5wk@GBPF zed%$q-WJr^8Mz~<+zi}}grLYFDqL>8iet&YV#-B_rZrkG=G9+;V+5J|5Z2}?a{Yu9 zM*E2qK_UpVuo#H%Hh<<TF6}~dg?}aB-eaZqA8Zo8ZHtl^FN*>-oWooGInm=^v1esJ zpv?8u(8|RJ$MRiXUII6=P|UJT2JP7`!V4pYl;PlHbg4TE(A;|wi%teGoG11W^UBqH z4Y|w+Vy8uSPe0I}<&q~=B$#41kH|X5S8U~OW)Lq<S~+jB4mTxK(=KNQ+>(8nRL%z} z8!<cy<b|SUpZgk=hO=ILv5i5oO=xrcr-hdU45I%43QK{QFY78jb`)-%*q+iS1**jB zF}T_-eRpn`xQo(R-sp$k%C(J`xKl1yWQ23w&iqCrX4(EJiS0Kx^Oi{y+njH)RYfx7 zm|_x&MDSejEUmSZbz7eby%Z=@zDvgvZDT^vQL`ox`;kPwtMVb1+r&L~Bw0PEmjv>? z7?qRK8Vq+LZ@r?qCm%+}^k?^ZG6)-}N7s?iOEV)aHj*Knnrt%fq`w0@q&4>n{^(QP zHiY-^BOFAY#@cp$g@a(7V|hYRIoy(V(wLlNZ6OPYPIX@)2kcFL;l%gg$E*hNsEfHz z?1)n3WNvkVE0-$o3O97}A|IDzEg2fSxEa9&Q9lrgPBsY-Vpa^@ci8q-sycm`Mts73 z$yQ(3clLG@lf%Me42_c|W=urPS;prxLbupJ<=*+2yN$V#T%nR|c{T^e4Y;L9wR_i) zowU;xVpOdS+rlG>DW7E&qs|6*e&H=hP%<;#y~cRaC5Gy|0=c#9Mh141dsaxxd=bJh z!Q6%O!xPz=>^04A$ugpmCAlR9Zfy;0cS^V@sJ1sk&7)*QA7%v(y~hDbfYd-vIAv_4 z+)bUJ-srae4`*m*McLnxet~=7x_3-n<rNMgHYF#?&!@1++bS2pmpek7R`>{hg0s4A zB3E`}S?tR+rssvYyg0z7V_W(*#Z}oHie!R!*c;(YWPaxIa#5pd@y+);Mtl62SwEqT z*pvK4RzhQW`Vj8oz88@SxHlmZ<4-Xgm769B_7OfHaeKHT6ryhnxKlFUW<TgrnG5bS z`^<$2<?LK;%i$8mLi-(aTPfSgF~l3Y#&>ESLh`%{g_~^qPY3o(CE1IlF7KLSELR1K zs%f7i!EqId@^-B6?ocjv?Iv1df)~Zxzj0g@Z9WH<#<#>HHr<9S*;%K+Qnid=*xE{V zhGBEL1IxgC$M&JJMA$c6X%5med=YcQJK(`?cnvFk9-9wv-F(QwTYDwk#GvnSm~%b? z9kO|R3G_`16kT;xlkeN7L7LGi;fM`JmmnQFLTYrwKoAj_l%RBs1{onC&FD~Igyg7E zUu6o&Bt|LXC@DpMFYj~i|DJQ6f1Y#Q=ej<1oicAQ=yw?*^Y_oiVig`zkF3$G2Lo*f zl2~LXD|?Q}IN$0%vS`T`0n18wcyQ{575&*XSf4%c{o8Xf5DxgbwVp4-eoct?D@h?N z<ETLc1G&Ir&h?0jq4q1jLtL9j@u9~Xjz_Gio<leL7>uZ1Oa*^dW}UjjyZoG&*}d1s zB(93VtYS-|++2yoW6JpIAhULtx;`bhufOA9@W0-GO7=JOQ)Q!xpN9TNW^9t~uWeY* z8pzhIeK2mg(kFn+F;L#_XTcmSgec@VF+;=$nK$kqV+!A36#skra_bFQ;P^DcFn+Xz z;Wz!CWNEK3`EPl8`4~AmUB~<kS#OU8QQSEjQRb!ahm~y=ZPS!c(%6Yt7=v@NoZX5O ztH}(biOj_KXAM#h%b_bicvPCP`U}h02V-2_o$L@)7V6x9v@#tpf1)UF5@NIMYRV8g z;*DkEP*HfbVRY|<@V0+}L2dqsbfBp~-i^|y(1Xim*2aBSg=$^pPI#BuOMfS$3;RRa z_zyMb>y*N6xSTWlX_kCR816xY7;$Y~E2WJ`6$Dyd58E%!z)hB0d=T8#?Xt0d{W#{_ zv0ZpQ$kBE+Gv`IJeI7u-Qxv+9$<Z9>V(PFUz<E+Bdj9mpxRfNEF7c{tls#?R<-?5< zhw<Kl_Aib_mPppaE)8B0_xl&s(z)fwQ=3T=bHk`VI{g=N8EwM>*u2MHpvjQL*^a4f z&#|eL*^T+n6g}8$W<f6F{3lXdesQf_vwt&)93KSlhkNzY7{ap+i1yWT5mzJ`3S^MZ zE?}WrwR<FtTN*}aUWx+UT6!x`9e(r-Cfb({>}|bs_3QbMJ7BEHw94KJCvpiB+Vc(c z81x4)xEip0X%sRmkb`HS>@4!&<ge-F7_iD-?1ZL0uy5SW>VEa3k~hqR$mSzp&Qb!U z>Qr^N^!8^`Ry%r;qFNGpuH2M>SWHVBwK9%vI^kgd8l8yFsN|32!f){=e-)49!HNRI znT{0(A0h2TUSP-7`~OY&nm+xKEib`)rMkV^Sum<P=Nt~`SAd9Xramw|?)nWhQhj?Q zj{EW}shDKFtvgaKUiUOIdPQXP&p+-&^=(Ag?ck`8i#*GY%wucGrd8*Z?@$Z7vWx+@ zoH0>j->qJKnH05-0ToPuAcoh`YzXmqrm%MEdcw0Nb6($_pvbFDk^J^PTKUMlC^g>Q zIn(=#6SdiC&qv6AtIQ+~X05$E1<?IH#;uQ>gfZ}|+l(R^(YIPx^LoIPi_Ze|(}*F8 z52R7-`O+r={)Nw!Dw4*E+&eQ39t`dj|0#|y#2Csi1sTv-sLLkw&_uHHiwfS)o^|M% z+IduYgAbkX*YccBB}4R8FWJ`UR;9(oy!X9ctt2;fFzS6RPsglU3-I&XaBe2ECcjGF z4Gt=nyZ{2n#I)`eI`7fmA$RH&Q(?X?+H*<u{<%g|;wxrTnqklResb!yHYMxY{0vW` z#CL;GdAXt(!i2^OZCdiS$?z+&QfsFh4ZJ7Q20R?dwwCuVf>Y<nddSDEaAYt<TjeN| zu&lLZXFiq_)>&s&N`oNwi<r^pcuWhAWeAkstttV_PCF;{tT0b(i^eE8xO`4HqRqvQ z45@R{jCs$=8(<Zo?MNpto?pHaY%JUUxQBPZvW@rFcI50vEP=aI?yDVzUs?X^K3<L# zkA6^un>Vz+0~eF7cOA=Kd8927mvo^eB(Q;vx4$=+`>H#dE<3c&Fo7>5ty;svyDO@Y zdTQC^mbsXA!Gv}{Cufy^hn#bO(qV81`*Kygyw+Hv5aSc+)J3ryF?zMajUZj3OrjxU z<>E$>zk{qAH3)8><!eB>9oTril>tH+C<7ShNGkC`_d!His+z}d5E)i=UpI+>#r1qe zx?1Bql=FJu^HsgSOauJ&I#R90sowt=Ls>mP=3VY2*!NkX_=HQ>V8rp&m!nAPj17BQ z&s#-ACI9m(JqJIMg|z%{forX^a;oHa-B%pWHEz#T0S2l`2Y@>bx|cf{H$T5(R%5s4 znai7#c|WyX-?I&yII~_?WKj5<@+pGRZCr$r*FPyaWb>lHpemP4eP?NQN|0S-!pd9H zoh0QQgjgA~>k?zSA7ogC+lyjRvQrJ4F&iLQu{BfSnbY_I>P@OHnhH>~uYE!J!s$D9 zLo-O)Ycw6lR3hTc=DLbpncAg>aS`*D|ErNo$l3^&>PB)7aA-M5q^Q$=W+`Hsc1*6> z)wr9qxmg%hhNP|P;qmzPH#O{h%vfl<Q3N?K%LM(iT~ms5nM>m>ioB1A4wG-o&3QZA z!q1U=bZ@=p@5Fb=xcGsXgl3G@G_SY6Om|j!-5-sj*@87TJ?aia`!P{7js$i}=8q~H zGJm`T6eFshNiko%2Yj({!hY=oFm#KQZHAZZO^p|0iWew)*EYp{06{Vs6^#q&BGYm$ zwKvxb1ws2+zN&L^5f9E~_1~D+Y4nL+Q?@L#e$p~Jcq4$!QgOH=EB-$+3QOE=#S*I2 zZMDsoVsqBmJ8au}<V@eZ{8*_)>&7(v32EgVf{4t_&9^>wD#ZRfX|>6X88u4CTZhB@ zh9l3^2tky1f-8sIL&&VhFSVd5o5a{m6teFiqBu@r;^Vi}z5M0gWf8FFJ@>S)NxnW< z9rUVaxjr_f!j^IVW(g<^_>0R-mRzE5Z6~ZoDybwv!E6<&BVHwbB70jVNrj#BT<J(0 zF`S-vUs=gf^;LG*+_~ZcLhMO1N0!4p9J4{pRL~kZW}o8~F5m=dR)&8lT*#{tQE4pP zBXZ+ArW#N9J9|~e<F6D}w!Bz-Vr_j@jaL|A-io%&+PVeOx(PAuaxy&pYyb7n*znH) z?O?*flu|ki?Ucfihd@gnZYTZ0HB&>QM|xw)gF|n4*x3cIZ;*Vm%qrLHEtHwoXgZ?C zUF5b1zvNIkk$Xj7Cg;)xS;JS@C)4|&X0B!+antmnYymLL=kG|5jnvGn_W!VC;;iIk zlw=hDf5`v;AtNIvV-u0rwe$#%%Vn+X82PYybo{?BWOO&L$hBF!9UK71g@NT&)&YLv zi?hrd;Y6BX@{G3*N~?gl7%H`E9XlX3m7F75*;kda3F-V4BV9^8+N4p6b=oI>+@|MO zPvLBb9A8je<tu{1+y7B~7FfAT*51}^-kGxUZW$%tjHBl}1xqhzP_)Fbr*Ux<s;OA< zyKeX{yAKcUe71q~Oh8?l78LiZ3ZUG{`_z&@?Sf@^_ybg^-)u84bQYG%0XFDVo7JNJ zRajEo9u77BOrzz_-6J`Pt@IA~9rpxJ!@1S#6iL52gWUIKw)}H<3oiY*t%Hund8yb| zZ!9V)nYP$v5(zy$5e*wA1#byUVJ=UZB6v!|DP0Ou<cLM>O6KsM>B)UBd~l_xJ)<dK z>XENBEhlz6BQURJpGxhsBai@S!imuQ=dfq6PxIV!(W-s$GP6aYTOC`~Cn^HK4UK8a zGsV0Vxn)F<7KV>G;#jC?PV<EC=run=2jcaEQIiJDg*;5dVN7S(CPqk|!!0MP7Nhi1 z2^Q{aneNVvf6H8%&f_aQ`7S#A4Z5V|kB1gAf8J8~Dl#>gIZ-~iU!@;`*_nJ?Y=_rd z#{@I+MdTv^-#tch7>sCKpti@ohJ`&0nkAqtVS$g8$Fa~RzSK`F0>hh+jzKd&kqZi| zL<f6Zh<Gs;u2Y?U3@%B!L_Q%fh~4bNj4D+I;bMD@pn((yooYoHUGu5@MYvXTpXW%p z>nUZ1M~}B&UCPOXYG>S5YB;S4u*ZNi+D5Q16MDQ$X+ZV^ax0AR*Pv$2$HAbfW?)}L zXU*WTi2ez6PpJGUImYOtlLxzYdPPssrLfN1S^8_UI`SvZrWl^Y?LRj`Jn3&eUYx1= zz#M4NTtwZ5%4H`fEcEa2!-YHaGbC2aed_lU<PIau&r|3oO6&y`SlNDrarS~rQU~PB z(kW<^*<}e*jd9Vma!OLi7T*@cwPup6xZ9;jRN#9CyErub6SpQb!T9Br%S+)P+%i}9 z@Xi!J0`(6(J$wHHaw}fg6Z)l2xf>ycX0pfn??`Spk!KnEpTZqNy-h^Ja!=W%50O0& zQ<FHS0mU%(Z5Ey!uvzaO!KBR@x3&W_CrMnXFK6{!qSHRl-7O}Bs)#=`h-ICrFJ4GR z`uehRhj6KC!q*Y6w#{z!D(sm)fMxvfr?|UKhe~8F68W&_x#(6$`6-~H)9W%R3b}<j z*|m;Q&+oN_#BLQ>b+Dpz&P$%@zxJdwAoqG`RT7b}<)e9~7WYgX`UMD^ENNv*QE_8a zf8RTxV#(^FCairWS+lDi($sPqg8uH{lmZiqr-4Dc%Q0E9ZGzC%l4x?aZC^Tu=);%p zoa2IKx80#VffnpMOs=|=_i!XDgSW-b25&R+%Z9%aL-L<z9Xl{fw6Vk6S(m*T6ky@( zsr>4_h6rBgZRHR<Yr8t}<B*|VV+j}R{=3rHGr+(@-_lg)$GQIi5=HiEIHoX;Ua9KK zCT(<a?i!q9(92b!wkjdDaHO4#zqdNnfj<mauoOMdoyuFIHos?eb~L(UU9V8S_Yhr% zdwb9-v!IaX@lWUCTA-L6LiU&k!5=uqaU5Xq5?7D*FlA;#?Fv;Wk*KKKqW_>ML9o)% z8C1CX1r=mU7}2gADB`F$w_oWLM{5f7a`W)#1Qn`K;5N{-A|1*SnJE@~dE|6StlO@_ zwzwOdBki+A0=Y?BPSV$jv<GMjs~iU`C`~Oz6WT^M#?)YcwdKxvAp(bw=HYl@Q+FDL z3Md~LL?<?{^%tDkv}^m|%+yXP4w`@#4e}bPCBu^t4V68T$gI&0Km3M|6(Mig*AzBz z)eNQ$N*2&{Zg>>@O55r}`_99CO=n7^?j_QU-5*mz(`;e_p+3V7znHTlw8XBG$FS1> zj|?c&<4$hS1Qgegk(1XD)$E`fu#pOVl@K0e01dJ70OT~H%%SghD||*1jT_JCH7sIf z=@=`acbH!tynK$b^PSo<Fxz@L{6!rZNfHLWDM?-HvgB*;-?depW`lf-y^Jl`F>`|f z{t4nX3i=!V{aTk-MW5^m=$OvNxfPH-Caf)^7Oa!15X~E_>+E9V{Ooc2Tv+KdN&l;S z+*=@w@U;64pz(WLa4Rqps7+<6Ai&N4DAlVHbg7mii}}!@NJn8U7>NFkYV#vo%1ru} zV3i=9D&WVbLAxDBzEYO6l?it=!cI@J3I1)D;!%>pp-;UeRcM@p6)c*+oPmad+7o=a zNkKym>lRIZsS*Z}oo-w@t9@W(i#T)=zsX|pxJ!_tR%p^w%5@`#G8%{eIhK|^(=bjj z(zG*x+u~-CH-19b9oI><j{+a~q)PLL1^g|ehiiIAZ}-{_HQ>3Ex%4Abm{)1qc|3|K z4^u&%t+pHp4WdBSQ-w0~4JXy7w^_jj2vu8t(m4$y1Duji_!zJ8`C3uvN1L25ZxFaI zUvrp|S?udPeL+sY%)CeobaY?@(wZ$7(OH>UHkRHWue<5vNSIHC>C=!nf~O^2=?hHh z|J=>OonfV=?x&QX`Hh@g9nSz=T1LP2E9fYhjqVwch>jV~QG-Nbp$GbGA=J)o67up> zQK*=4KhO{>&;hG^>%RAP4N7p&e&sR0e}%Xeo)m#YvuF7T%@jWf4Obeqi|6~XS5$Dt z!>fOUi5FZ_KsB!zJ!RE>@F3%nJyc=SZUvOwS}V}_xTv7HpfBllt7iK#|Ig$cAa_mG ziSo@CZJr6Y%x;M*REZMQM6y-!wb5~VZfu?COk5NoM8t3-+Z^a*qv-tEpvIr<RlZR7 zHO|`f2fmHUAYiIg4kXOy+!*1>waWAs+X$k@qdx@$)=xN2$%q?D`MGLvK<p2=1LCW3 zIZ_YEeI=~?Hd<!@ozJM4@W5o+qSJFe2;+L_TAfX+CGJ3I4E?h&d~#dZadJ+suAads zxC|<L|3g2<q3MD>p5-8xa|q~sQqyX%M_4TVx8s%fDKcDR?XS-Bn@}VxDzjr3EO;Cz z<H}R~3DC97Fv1$cOS!&G=IeaW=n{)qWrXI3D-@d>fO>l$I8dgie=>aU5({zlHX0VS z{nV}~W@2ql_fiD=kd<ObCo*LSzg28^P5r9uR1*E9tK7qItR$OX9m3seZ1gxvt-;@k z(7Z*c&bE}~9Tn%DF=3QRK|0LY0D4tuzUb}62<!0eZZvpM4$cqEeXe(QOQku@VN!UD zLon^z^blHPQ(?D)M|Kjv;uvVy=BwxbHu%p(1=4I{>qsHdXVRw2WNswB5A;#}2{EZT zlMq$Mzolcl7mOQ?DK5@6q-k3OGZmaXY4QX4u9B?6!n!;|s|QJS<Wg8GETE!SPrHq+ z#;<UUHR4#ni}SzyaLGOFq(>K624y^?F#o)aKX<4Qq69P;-P=dL!I1Y*d^sh2>n}A~ zw)58eJw2s&zBy1pfFcI34QTYYb<?Nkbml9_*>I>1=Hk{0SGyypS)Jt&-0nWlKG%m# zS&tWJw!X|<M^s@gPO14JpoJ~Fz;=SrZ3fqA?!BK;)h2H2buK48jtZ9bSL(;c@(Nn+ zlE13ek(&B|eaOz7kdAx<ocD)OT9r&YoLd|gyWWBgHP|BPT5fJb8)kp;=wjCV?_fm? z#Uf>@Z}Av&RB96RDclj!zNAWET)WKQ__xEurtV-DdHbJ;Z<a7u2jtV%5}=(9@}qZl z1{oxUxs}_DAv*^1a9&Q`oKj9n7&I2zgMAu*g&Nvs7}_ivx95<T@q}@+4#HJ%PJUAo zJ1NhW&xkbY^bzhY&hTE<*GS(~Q9Q-T9eT=H`rkN`l9<r)<F_EqA1obvmmhaDZRmM! zMH{bx6_aTaKr?aiW14#X9;-ppN1YX7sB;QA5Yhm&>_r|a%#=g+E`*y%Qb-a53)={4 zXUctW|4}C}(t4F#dqLP-yUbt~M?_)yE^?1_xoDHUtom7xUTMy=d+tq{yaRD-^sbf7 zzf!P{zL@PBh7U%hM(~g&MCH_eX3n4Ycd;VKhWU~QG!6K4xkk@7BAj(-Q>$BdIW7p> z4Q6sr#VSfeHET$0fm;cNY!j)#3wp*(X%Hu14vg*JK^m77`W_#rlx)>Wg$94yg1B)U z&tfhkL=S#szh(46&=4zgi-3W*<e`~K^9CNZ0y*s6zq5wEQ!hVHZplmjX1`y-bPVh4 zw9pE)^dnQ>r`^D$gw%#y#pw(;y%^qZcm)SSjYVZwK}a(xO1I4eX_}v+kw~nziVp6S zY)}PZiHu1tfW-u9Xv7NYP|YP#hz#xsK&QB(fY1(sxP6OIFqRtH$1^O8gw1wIQ*x#i ze9R=dyy8+weAM9BHA;=-qjiNd5$Z`6+@LnN-Dg`A#XICf@84~+mf&|pSdVGVb`mqt zwugmMJ?S-iSB$vg-gX<$j7FLzGVS(xdj9zfrA&y-%u@*ijtOqWV~T8~kXBW!3NY@F z)^$9T5A|ZW$;H!QT(R8!XRf=`@2q)$EB0e4oN-=J{#v~SB)!4aCtI#H8h13;0-@e- z4IvnO&rJN1sxy6wvU(FF<nxA~oMyvgs~hfY&YyJW9WL2cTXRgE73Juz_Z>+L<5YuK zeeG<EhPD6^NDGze2%CVOCD|gTkJ}sOb>j3|8=r$N%OT+>0^!y$kZXHQOLQ&+Cz`s; ziODarK+U@&I%gH6#821Fsump;`{9$J9slxU6RgrQr{t!@W@)c_gA+};2plj!x=-c^ zD8*B!gb(fu$RWg6!kncgAcVfn_}Yks`!=f-`!WI?a9!g@Us_d0#RY}2FzKJWJ1gf* zC}%^cV^TyBzA?#4r(@;afxz9YA|=BwA+w&fm%^9V@_bhio9_4Q|4kmWLcm9NGrKq# zy*Rrs<T{+Er}4JI*znnH2wc+u&n8itE_5G)FMKNh<w{fkmD)`~-p*ANwG#jo*ga`G z64;_>7Uq-NL^;s&KGT?OREk5AtNhwkY9iV9|KYT?4k<<1UQiH(U6;;4|3Pkzt8yp@ zz>f1u&+b7V)@;$huz}V8szBaXZ*75%pKj8zE+VDaG*54PkzrWZRViKpnY;~+KS7;a zf%g28c2CM~+?#N|`}D!Eb~-sWba4(}Q?I#A)2>e=MLw=;J_da|(28M^@Uj9H>Jmd` zw9Fz!Q5t*uL33POyj<+sNnYdS)af~lX;I4g7+eH+9h$$=*<AqC^0(+j)BSKtN`_-6 zi{h+$e1%#ivZ^So?&%X@?<O<c-(ZeE9tsu7$~P^h7mCHgg$@!>WYFdm4@#0g&}A`$ zkIpwdSDK9|{0FJ~W*joV-;c`Cc*6UvS6wi%k!YFQBx*@n#Ap3xd*=_R*pO9)<PV|b z_l1GxUQ_EA{7HYxW<pHn;EWNOOE4vsU$)kzh@aBGJLTg)h?5a|9<M!aiM_5^9{n+) zTQOKiKD(Dad-_TT6-xOM>M}kh>eU(NZl9Gy`A>g0#|Rf|zVg9Ty*+!VN3A)oUVbdS zfO=-9;kj;vRj{lE1@~n{EEnFQE#y2kRnum%RV}&HYPh;MJoiC(Wkz4aqiv1%DS5SV zx>!H<S+0st=~VS1k7n?^Y1Z!zxR!;gk`B5Xm3s)$h9_G5Z;C^~9*^cDNm`!1Q<Srf z_9_li!3CdieI7X6>3EPiw|%I>Y}}lAo<)Aa|HyKVaD5GiD=axwow$XY33FX;dTr-I z(w=*rRU!$uxTeDyEmz$)M8z0rQ{DOTUL5j;AH~P=Do7br-O+xTC~%E*L4dB-&nZZ^ z9-Rh*ehyZ@ipnf(BuP2wtcw5+NH;@*dSGgAJ2wajhc<_B5hb|oz>$-fC7gTYG35f0 z=R=~=ahy(P_mb!Bup8r(r;-S`@8e^9V*pBLiIv#np^gHz&yc8(bgK4YE|JNAIFzAN zC;E>JPS~1_eX!a;sg*acAC3Sdj%phG;cE%3P{)K9x|lnU!n~^QMW)7C^~KRLqEnDI ze^FuKYK^y^9k{$0{+bV-Vg1}_*<mz~%~rL-_*>$?xWlEZv5msN{wCG4Ru|tta4d{; zVm9Fs&F$7?0vGk1Y$Z0>CXYo<Uizc1k|T;fh0}{B83@%aegOYLlBw9nB;JkvWJ6%a zh%?#Zn*421QbJpa4;3<rAqV{Ctd0Z5{O^nKeV&EB$~3P<CJ1KgNyC*FgwLszt#=cA z<MK0%dLFxbS1bJkv*mjQ8A_t;%-GZYxsvo{%y*s|P;1M{3#B?5Z?z|V4pk4V^c*&Q zFE+C8KgZW9=8zKvcJ~TrQpGIS6J_kmcPVOXx?JrCIt9{i{O$CP#~qG*g=S03=N&K> zZtk#eX=N{?3QPBjDx;)3PQi*tv&vz1HZ>NckIET8tFwebC?!A4Pg<hpCj)|bMi445 zsVUCIQXuHFO9)=#c6kwttLHmNhU(tF?E&8t<Wo5?aB)&ouAU+&fg(6ohwOrW$k&?Z zRw9}+6f|#i6vD>(t{G*BqrK0Umw`U^gAk%qd6}TG>zbhy>58-DM4C^$Ad-U%R)SG_ zfmC5vkBQG{s#PjY!huB0LqT&O5od%HgO^k32*pRLaO-X8F7<1kQ`2#iQn<lpRHk|o zHAWg;2ySR2se1f<9%r`<jf6HBTS}>Dy8V3pQsrsq%L=7q)*)4JswdeoMI-fV+%|F@ zX$R^<GI?P8(XYm{8(@$5T*SZrkL*@WUHpy|p#|<8?Y4Z|-y&-?t1BO0^Y2!u1>|Ho z+mwb>pDKv2fC~nob0zP_ombhJZvIhQAl$n>?%bs|zgee9`@BGcwHy>4<kYu^4<UQk zfaOY5DlZ7sYzqu<3vjQs|Id0UUdUnk-{@%S=KC`?B{lUVs8y8=TUUdP4)Tqt-h91@ z*~EB5MJYj3G3UfEpdr3IvS`43qc%_>&VjtYv?mN#b&YM^xpR+2Ve?yD=pp87Ob*}H zeJ~}z%1*W3f&Bi>*cRr*6iEzud}Ig(I!xf;Z~{FYpV0rv5NRn>-*D9j&MUAUi>IkE z9ebS{46{yBo<JupPBpDz!>BBt7qLD%^hwT-#*%HX>fs+pKd9pSH*Vek6;93Uxkg#c z5X!L`&kK7&_=OO1Cx05Uc8YiV7j-iRG7s4?^?5!Ehv5G`2(wKb2@QpONV?@6*~(lU z2z@(lxaUig_>i?7qWZh+yVNt1N<fo6`QkoP+Llx$AWZqPz!r7^iW_~o)GqspRlSZx z=itD{490{EYU&;xGwjwz2)o@L#WVaU#QGU8v3?ANNz#v2m(Fo-m7*{w5eaaFRdYa! z%UDsds|GSO2(nBrHJ(!Bd5APL?yjsm`wFdua|1|IWmq~aE9#LdA6-`zrA;Wg>pem( z1ju5G<qO=gE3zK3Bbcnq=@$p$th=A@<gff^Kr6~%+W3V;--yHJ14AvikLi;MW_3?s z+w>9kv%tuViZ6Q@z7Hxrcag!RP6kjdy~046GxpaTp23}62ggKU=siHg@<U$5=Aq5~ z%H~!&fn&Zp4M4#jT3*K8vV(Cd>nvAgYirifMj*~EnExgeCoV23h=JJ3Jo7GJ=Di*c zkQTRFFZ8%B@?>VKsYp0JH2AXJvCv6fjVSPet@VKm)^&(mCftFh8NzcR^d^YBFP5;a zS&H+yQ?DsF-1!5I3X?NDwxIv|YkMrYvhpvk8u*n>)(>N6%r?<gMGrXgsD=I${DOKC zoWqBT?qy~qQck~w`?-xdd@^l@P!D~AS_pIA)J2Xui22iXrqv3w0%zz5eF%p%lgEPF z$m0i-n0L+sYj;nj)zQ9|cT1n(-WOfa{Ek<qj}#lvrb4_GE$Cu~OmDk&+G%vaV>*(a zN5z>nlmb#b(u_l73hhEZ$P{`%r=UZ%hoy>qp4qM4@639adNLeXMDDN7HBYpZyC2sU z48_!jOAX587xG+rYK72zeQO2pXV&{txJYK2Q1>!g2hD3rHiWO61O^RP0%iFRu?qy6 zTE1g)5yTKB;1X_acZCi&VFX}ydEw!+HCy0?UEmvhGqjD9(6|vFz`uWIG!c0p&wz>d zqWrDzafq>UDiq{T@*ndQ0Zi+tV@)nX-T~7ZM%b$?yR=T`AboLn?bYn=4L1reN;AdX zA2#~fL=Y!!Gtbw0fgdkP|7@+b)$b~pa|Alm@4ZgNSGA$(*O6_Au9QEZ_4fK>@;;y# zmfjzZQ$NO=z#S+ys!QEnUgU#`t*~@~u&3clv0+f!qPhhv^EssnGA5%JwxH0s)tS($ zk?@pF>!CcywGJL#VyQWN3OIp9>m!HUmx6U;rW_cY3mcxj*XaS?p&ViMnrPqoSKH8z zOI6M}iR&_@HLt9Lc9*4H#=R<!ikqznEn-dm&zX!b43;8ouq!}T(k}F|?KLVo6kp#h z?vh;${|fcnlHlN{I#uXT5<eO3D}7ro3==*GCJIKS({X(rfzi3I+JOy9KC^1{Ix&Ks z;;n3yWBazVKI+c+rmBQWs*`AWX})+m2Y9N#7#{hyFM_^{tLZgXh;wX5_;V0-WJPAk zXZ$%|rHFgcn{MVjdGKw!;NwVpYhN0N>9fOl70PgGJ_`Hr$>5s&72jnq1Z(R>k&6s| z@stYGpOie#)%0rC22!EiYh6(X;<MEwWr3VXj;(OXKHa8H>e5L)m*H6I=G`m!&q3f* zg<iE@V<+j`vzu?DP0U)WZzgy2TCGK$zS}sSrfnL_3#R!}uKfXNK2mA_lvN};w|}pA zJSvI(H>zibc1do_N~^DQLqaU4W~+$P0lQ7CTN1=GRF33-r5g8(wK&*btM%d*zElbH zX5{^P&%hL1$Qt+~Ex(^9;cB~Bk|$~Xo&nizFkcq`Y|~~bzk2CXJg;=@hDB-D7KZMB zWI}KUn08ZKam}jZA2rlM!*p{~g?4=7EgRi0bX;B*7xF|4l)yzyuXA*-87JXnT_Fq3 zYt-CSspctLnoO~aZTSmbMd!%N^wtZxTYN2m3N+Xb<QiMh@7_2nz{SzZ4=tpZX}PGG zuoYF-rkf<oaRmEBWZYwbJSwVu?<pc@PlfNg=z`*=y<ZMCaMU4IJ~?o?�PNc04Oc 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�x%$hf_;Qo_yyQ9LWB2FkZ%ChbgOe8RO`;3Lt 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%0Ax>! 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�N6O}E<?2KgWB@o} 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 From d774f8771b86d09a276160c79e080dc8e46b2aa6 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 12:23:31 +0200 Subject: [PATCH 187/236] remove more unused files --- customize.dist/fr.png | Bin 545 -> 0 bytes customize.dist/heart.png | Bin 749 -> 0 bytes customize.dist/logo-xwiki.png | Bin 780 -> 0 bytes customize.dist/logo-xwiki2.png | Bin 4897 -> 0 bytes customize.dist/openpaas.png | Bin 28462 -> 0 bytes customize.dist/openpaasng.png | Bin 5929 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 customize.dist/fr.png delete mode 100644 customize.dist/heart.png delete mode 100644 customize.dist/logo-xwiki.png delete mode 100644 customize.dist/logo-xwiki2.png delete mode 100644 customize.dist/openpaas.png delete mode 100644 customize.dist/openpaasng.png diff --git a/customize.dist/fr.png b/customize.dist/fr.png deleted file mode 100644 index 8332c4ec23c853944c29b02d7b32a88033f48a71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 545 zcmV++0^a?JP)<h;3K|Lk000e1NJLTq000mG000XJ0ssI2`GA^k00004XF*Lt006JZ zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzvq?ljRCwBA zES`Fq0S5m4`IqO%_xJDLpFe*B$v=PoFfuYKxfuTY!tm!O!yljm1_potVgafPw37mo z|Ns5}_wT=?B=7(K|3TdUK<+;v$=cHQ|IhD#zkdDy{rhc26F>lgG%);U`26kn-@hOg zU%!6+4+cOs(0HIde9xZz`}Onxub&LUB0x(30+2WcIRJn#2ut|?gWYu1Cf+!-K%B8# zdf?1WA}#uZ8oj7u>$I1i0Al&`=O0k%-@icgAIJnM0xA6maSq6BK-ECw|NZ*S`0Lj% z1_pot6puj;05Ax`F!=umqj7^frO?t|3^&I1kxUq9yECc+jQpY84SWH_0#pxl$?v~F z@*hy-KN0|X07U)z`4{NpU%#2aHUI<=%a31wK(7Du52Oc(|3O^?R1IN+RRjI-n*kVB z3=9AP#PZ|EACPLGJ%9cJNh|>9B%spYzZw7h1%?tp0I_@ndg9MNE>313@6R75NcceF zkr51-#U+7;F#`Sf7i0rK0I_`g_NQ&Z<sUzOef#m}%a32uoRUDN{s!{@0^RcK$B!R+ jljj4~L82K500ImE?yY-fn+$bC00000NkvXXu0mjf0<ihi diff --git a/customize.dist/heart.png b/customize.dist/heart.png deleted file mode 100644 index d9ee53e590a68a95a9fa9483f0ebd14f3f25bb72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 749 zcmV<J0uud+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004XF*Lt006JZ zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!e@R3^R5;6} zlS_z=aTvyb-}jw4W@wH%BDvPgxJ67egp37QTS-b;$O0i7ilvdlR>{UrO36YoGex<D zX-2s-F5@!h&^X5FT)+SA{abv|l*`6jZ_l%M-uHPI?-O|M`JYPtB+}Ef&^x!mTRTOp zeJj>>*KgTU04Sb0lNGJEiq?mmQbVHD$?08PR{#R<J<{F1&pUU7`gE2sLdqpfq4-RU z*(O?7MC*%nQ<|1enAeIcm8d*?L^b#2oKtF7;I3ZX=&imSE?htmMqmu2)0p95YR_MO zbXu1iTALTwx3oZE48jPSvV8CD<@=*2$5LYL-e}fLf@&3VU%&}iOI`CEqLuA)eXNP< z8=(IIh$IG$6UlV0A>Y@(Jtf90i82`&dI!dW7jO<<ye6ESfhd5%H-Lb)3FgNLS_K!! znUoll#yN-;D3vVGCRs9)18Wm!5%3O_0dZh7qLidW>!P=IT3`*tHLxxjwl=}>+*)uJ zQXzyPPN^^yrLNn-L6|)gDrKnEAdbPP1a+KXt(F*+N-)2L{Eb_PQs+ab)QQT6Pw(ST zBha=K(orHRSCfHi4O9%(3e<(Lb`^!uF>+VB$3*L{z<W>r`0-_;)Y*n?<BCbkmlKZW zVBiS^L2`Pv3T=z<&GQ)T>E-k7dr!rf-5ve?cY>d<{Q2<V$xf*QqSXFuM_Xg#tQm0k z9u&*4b~VLs1>T>(phfG`V$89Qfr0$5PaI$GcI;T;lseVaJa_ff4eP;K@^|hsa{cCz zXuY%j{{3s?^}(OQ^lJ0wCa2U<(RxpI&Wzye%Qu%q>x1omeM7&Az4w3Z$LrQ@df3^y f|6iKmf8+cE7K65BSFA1B00000NkvXXu0mjfxAtvo diff --git a/customize.dist/logo-xwiki.png b/customize.dist/logo-xwiki.png deleted file mode 100644 index 375739d2b8bd90c6bc31bd5d15e7f9486c218d65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 780 zcmV+n1M~ceP)<h;3K|Lk000e1NJLTq000yK000yS1^@s6jfou%00004b3#c}2nYxW zd<bNS00009a7bBm000ie000ie0hKEb8vp<Tu1Q2eR5*>TlTT>eRTPE4d*?S9%B00b ztP9K3ff}fPz=ewng28m57V1iI*_uUN2ySe;P?%DSf>jU{R2WbZMXe};32wqjSBe#i zU=cHmViz_r(pt5l>HN-d(WFe$Nr>QGJ??$yd-opRg-t|jmTj$Bwr%Eat{iMvyyW}a z?e+t!U@dZ~!t}M^_*(I)Q{RvGdcD22Z*Yo%`Yoz3J$3M)CMPGG&1UmsfU|cKyP!`p zIta7fK(vHLfEqBfszcyv!g(MYjXU-)EG#^@QV8S0$8C>EIw4fc>xiFk8aX2VCV3O` zN}^)>*w|FJ+r9JTla!@7WAn{2>^6y)AS+2;BRLTf=hijV_D+}nsw~UTUHX$wr!%(V zrR|zazg(8($+9dzwf*Q?eXIk$5AlMKll+rp8n^^JC-E?_l*wE~yuB&lGIXEBfkZ*( z8A`4wGyym>XCva>VY*^i5+EXGmi>A>#k~ZX<Pymb^YioXudCy|vwNuITZmCYRUE%? zVE4WootAzDG%hHUyi9T=BL46bj9eb&Xc_FSh(gI0o2LrO_>Iu(I1)0jE)I;nM^XdQ zpa9kB=R?33NAK!r|HVUdyB2@#Qs9cnFc&uRa5v%zP#5YYxfQ4hDw(_*5#J5d<*=mf zTalgxMuo0sW}D<0;4hFQy=eQMO#yA!b-lCOfe}gVi1=~&;~z`%60nGL*!K8_K-*PG z$3Qy;+0XtP)oS(I^RS~^uWyftb0qI1*%xe)^t|n@LxHvn;1JMAATz%#C_09$QawES z&*EnQ5pkO2BOsF;6CAf)9oFFviN}(xmG<e0iHQ#*!T<q%uipEwGxGyMAT@!fS89VF zyO;12Nw0|FwbjnZ+`LsYnbc4|0?e)Ta>MwY>eK~_)_)THU-2(tyFsbT@0#%d0000< KMNUMnLSTaXI&gdd diff --git a/customize.dist/logo-xwiki2.png b/customize.dist/logo-xwiki2.png deleted file mode 100644 index 047c89ea7ab146b9a07e32813859f5d31c3f2c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4897 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 TmX#pJ00000NkvXXu0mjfZvZ`K diff --git a/customize.dist/openpaas.png b/customize.dist/openpaas.png deleted file mode 100644 index aa91bfe986b8a15552b24e4aaac2f8f20e1bf02e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28462 zcmYg%1yEc~6YV0wH3WBecXxM!y9Q^G;O-J!LvVKpx;O-P4G?sLySu;r^SxK~io$mH z&b@PHy8CqZnP@c?SyUtfBme+_DlaFc0RTYDLjKM`fP?%b-Fm--{DL!Al$8R!|L-fm zt1Jcb3Zk=|o*MvwjP<{7D8P?wJjjdiU*(mh;s3&-!3$D%@hCF_0Av7pDRE7&m6IIn z)K7y;Lsk7ZJDvR2=^t=(UE`BEKT2VUYl@|k$%~=D{z3>LQ^5EjrN)u$Hg(d#l(n2a zzmu7JR(l`%6o`s^ax)=w<cYRVr=+8!rK2V4f4ta*SDr-&=>7Em!f5jWkO~bT6C=Yw zfQ1e&r}?Sh&I$!69dI@b$C3~YmLg_W{}47VL;<ZCQ1gnQK{bE?b&GBbtC!wvz+Aeu z^U)~4A)<tWcD$6eb&z9G2|<rI=qEJ5R5IaH@c+h?^8YBSuR(X7f8)5Ub%;g0z3gS$ z)Yp-jPDYmv3?3>Ri0Rw;Ji4pLdwy`e?WB+T!5S(|?_ieVzo#kMLYPmMu;mQ*yotIX zxsHg^dLt-UQ#^_#t3(;8Pi#rmS1!r4YOC)6;tC0MhSwi$lkGG>0f>Bl|8Fv4WOfEb zh#$;v6N479jIV**1w~TCbakT<vpB>#gdKuB$BPL)-xV}Gp#jJ<+cN(UP`}<n=ogZ9 zt$S045z*TsSz!*!FAiC;Bihj&aq*baOxC#jJF^z|)cNNW!!-fQ_2~az2D2q6r8dV> zU}W8WPRd!^tae0RtB7iakDTQjcploMXx{_Uv;@KfzRzsS{&yo{$c@;9em7qB4l2Xf zk|>U@Nx65;BGQWRCHdPwmsPL(;h;kOn*~N-r1O<e%qRLM-m~XfUd%3>8_cLrn*KIT zG_9YbXv!teud0um)-{q~)er#xUBQAOo4Qst8lr6xsC$UN%!)EB-`UMYFpQ{Fc%}0& z9D8iR;(OxAq|%KDU@P1V`nUQad3=3rr01pmi%mpbR_&U^<>hs8!-z=tQ3va>#g;~6 zoOSDAiHtIm|3el7fhwLz8f#@YCy&C16<;Y@tM6$8ijTaPJNWd)MT6*buDdXls}c_Z z&cBrq>fzf-jN6p5)Lr5y>}#JqjNgP^Oca22Wnvm{*K_tA{-a*K?uwni{r2C-Gx*H; zHNxF9o4K1-Pe>rc66(vE;>F8rzPTp#bvVkev^|f6g#GU^2Cn57szvek_HeJSK+15{ zL^6pKg#rwH4P4fAUb@=p-jwrpBdlgMKCj?+V%l(uq`9Tfg@~@#@dQK~IXTI0K+nF= z(8fsdk<xtfkbgLQlzo>eM?Gt*TxcZ)Q_#1K7aBEI=Wu?aN<DBrx7=BK-_5R|x@8*H zZRC%ig+X8j0G>=T5&`{GcoE+aHFhNB*Y$n5@mHpc)bnUK668F`!p&gGhWlh`MIMB& zhxTj(_r6H}+XBG@m=M#KD89)2V>Xt=ZC;W$?pm}f{3kEl-*dR&syYjvZ^(o2B7sxN zln<ZU4f%L`-u&bsp9jkVK|!ItG8g0-|K39PxU&jzGpN}A7Cw;=nvdRL)oJc6)UIdI zcxofcs@fsoWmEPrqi4gGNqz&GjLEa$pcl~F1YO@?Z<C?t=4TKagQ>8dqhexSGs14X zD&W;3ozZ~`=q=p*hlf=EzU`Z&!u$8jJopyx=D2wZ$vj~E>uC)${u0kriSi&k0PqC> z*xzdT&Oh{2PIcOsR5)Pq;V9_tRLXV#sw0Ww1GUBj7lYr|n}a-aw10bNz>Oi^xy^ce zc~UmuT7VqmdZW}_@5gx8yW7cW4y!5;4y_|B#-dcBbjrF$0O$VMlw?!Ihz{W#Khf}G zUTsQSxa}mi-bO@7q%72m@jo!P__1a2_SWqt7MVFfY}kQjmix)7bwVkA9t)cB_3MCI z&?jNyk+g#=b5^`7Qii62oUFvu)C^Akh|TX4!hN)&0f9pHAgTiL(Em0SZM@XkW|vNc zN9J-Uh|S#LWPKfrcYo;ApHS?~g}G(ghCx}-INNoo63qduK)1agDJ9Qk9+J$%qQZZT z4CsxCK>cSWs2T4LyqKxQMm8Cq5f{uePTVv10p5-VE@PRVP+`*U`EjxJbhf9b#M?OE z$2f2NkT30TT{)Bb?5PMi{#gQ-!<z-aEBg7Znaw_^<ARy(tar8N6U|#U20$%?=)2y~ zm#F#ujg0p2TL)?k0g^hzVMG+uR$2L#M+*P|hCtvybApHXnv1_Y+n%+UQCbwT$RR|? zoIt0x=ZB*qc|c!?z#r|Y%IOY!26^}UIFjWbs!$Xqb){r)V$c?xLj?u@Ad%|dAzig| zogT6Xb7jTP3;Fu!B0XxY?T<h<QP+Q3LkF3+y82wSk_hfM?2V7-U;2%u`{Dk#*irl9 zL}smds*OpKk3_zaM98E>*{|FdoJ2Lx$`K#xpTXY4Y7gb9(+d#4<_V8S5)py+A9RL9 zNvTv5f<985D70*{NI^u%jllO$_H;fsFaW?}q|7SwZkfhZpvU*=W?1n}4dn|puCM>X zhRxqCxifrj&FYIJ0sWv!O$Yg|P7fnuu*x%Udf$LW9=@W6yC2J)lRz~qKrAi-{lDAk z5G8dp4}IPKET%p;DpkdDPF7B<UDOjql=b7Q&m)jYQIIHGgYY*y5^eY|n}>e}JS#Sc z8Idw;_s#?5ha}h0<iQE}*+kNk!y+#XT35T6*-WKbNo46xmBI@De|OO&ivF}w6Q<!A z3HlxLS;boa_R;#-ep|0&SKDlh-FW!QiX>@$=0f~`;}@F6P)Zb{BH~7ANyxH<5g}h= z#T!QwrF>3U1&#*(JogmAZ4dwYO{O3IAI=f<@l@s|z^J0K-zQC@#y<iMp#i;`d4j!_ ztbB@uibPWxd&}jjbYd#Y|LrU>moPJpOarOJBHRX^u1UxS_zV^d+CCY4M2t)!?n0xa zgNnckwm~5OAE>jv1DJ5m1#6sh^JeO1pxH!=tz&<5v2w=g?#JHEc*<}pat!!<@_#N_ zN)k(!k45vT<;q!3)tQM&NhA{uz{VRS@^hwi&Tyn2Eu5lPo?SjB)%gD#9Dt`1ot8?8 zYsMFR=z3Pnn<x^b?H?dA{vAKEwhz$j5+Wsu@Nb%MH1TZNe|I&N3>dzmmSEwnnEpNC zSxmA=2#)$h|LQk`A@L8p;AqP1{Fy}zbcB$;4;10BxBmr3R3##DfZlJ^e-Myi1jbOt z7Z9Uu9h6_YN`_fgS1+jPMnquzw<DB@pho!pwov*Jm5ML!Z0K^tqPYnq$UH{cepuNo zI<ZJ^{r5x>H1T9%)eE|&E;kY-s$V6eFGIiW<Ql_LyPxdf!v<~Z!l9D?yE_36RZz8Z zhFg!^r{(Dao9Q#Nu26t(H5?#y=~^TaX?NpSyzv10myUJAbiHr4I9qrK7zk{v6?pfl zQS5DHgoos0_3u%gb4V=`z@4vflscx3{S@ip_yB+~!N0g!9va1-jX+Cpi$Sm1inx1r zhNqJB{{Ggy>^M|N(NRK?U{P(0;hG7ds05612nEs^xLK!%`Fs>~^@$i!2K64}hfgoC zY$!T*k^;Q$hD6JF>Gg}6)wKBHrXoo6BwNSw9tU$WYqg%Tw%^Or6TeCEQDbeV%0*!! z;j3W6-sKT_%OH>I)&#MC*Ils-_h>}buLFa2h<Z#rvyyFl)N3tB|D3Q9N~l2tf^3Zc z$M6biMDN(MQHrUK@IZ-Yl$}|q_Vn71Rq{y^QV7M+!D=)QzHd6|&2CJNO`JT!le#E4 zlIjv>XRpFKHy_Ydmzj4x$#-0{u@$KRGj`lNxB@-}Vsy9)&Ez$Zw~w3o`Vhy!%+-<o z24RU-cmOk}TO{7UxI2t^8(lTU_Rn}O^JZPUn-oZtMB3WsA*s<&hov-9fv-kYG!$Tv zu{Nl2bu;UdezAdaU+Eq=q<3!AW&Id#_SYW(5EzUS)9lBs*CZ6E5kP7&aHp<b*FYn) z<X=pOC)a@@`}#y3ET(zvi$-hF^eczv3BtGbF_&3W$p)wWhB3ncv;%hJ)Y{0wNF&%A z%EEqG2~I;ZL-cL+zNDY1i1>Bx9>!!4+B9hgFxkGxd^XohCsD!pWNf7_9)sX+`i%Az z5~%<X>q14KcSk-}jb4zDtsD3Kd5&2gaYK&>C)CVPxE<uwpaae<KRY^SPDDls()ohv z`T-g$0u=kPqdE5DeaotuYGazO^)!2b5zr$QI64N(Gu2Ck1N@!&BtvG%@v9`KEbqBV ze{2szde`#Y(n0|eBQ8ujx!%k@T(26H-4|vdS|%5XJQ<}89*S^5hAbadqV%&6`7k$0 z7TugI^U!5txPK{xVEmoJQPAMv_&Hge9>BhxWiZ}ILz`n9@RM%$MnAq@*!gQUBua_N zuNxl;-QL_&geUw?`o`#bj%@<wXr&#VyXA(e;i`O(nHN7b0iKUYCt7UYI!Z33Td!xI z3Mj+=-XPhD;x*Ce;VA7XOasBIS3%L-(kuoX#2(Hrc40@JQ|t1&VC+yNg^BSA&#%Mz z>FOF9fFKd*_QPcfcH4aeLxYnDlafGpMtvp=48YwcfYJ^@g6`gnzjL^68LDOoRDO18 zoa`Y&x%nsgwsfvZ830I;+(Iz*(%t7(HP-f$^%d~B9tYp)mre)%Y!VS6S180^HXA!P zC|<!Rp<H6;34ML}(NbjVb_j)APT`oJV0yB3=mbnSV+CsBJ|B8?me{-<Z2`||bbCSr zqo`n^)zJsltv;1xPpXJ?IiwWOxsdMskv$+MuXKTKwTE6|cHnfGRtouq$?dL_Ueb1> zXkwz&@vuM?-wduw4tf4;a%h<wCtKxbK{SO;gTW|_^f8_Y?iOgTytC}}*Ze)5b<h;= zY$jbxeWk6s^G_Ec`3_P}YmY9?FW<?WLcQx{ziIhXgQ(79JK0AsgyR0^5dpge%Zyg3 ztXYR}TR`SECW6S8+{X?7jhA*!>Ixp+!+AeT+;E+*U`YM}m(F7a05}|&ksAs<GzT!t z)B$<EPQnJui7)KrxMcS>i4%uPDfFm7QavQS4r*+nevPLk64ESxdqGylD4t^L@-<4k zmv`ivCn)h4bAnrAj)!xS3#}50YZ;;8m3c2PA$)=Gs-j3&Gph|aWT{!$-WR!sfzC3_ zbjZv7S@1a|;AGkO=|ga+8rL#rR0Nd#=!XquIPRmjsoTkbnjzpXHlj&j7^5hX(2Mzy z|ElFh8LNgyO?gY@=90P6{9Ot<Fs&TM1Rfx?u=EfZ5>cYuBrBDNDUliZrvSH0Ois<b zB+zWD9t;(BOKsl7kv};w?f(N6IJCb7AGud+QQgic#DYz4>D6;u<>xVxTYXlemDKmd zGbBxsjkorBg@Z}$&+!YY8-Zh_9^jFI3`5Ib{x|>ltY~*SB9bTa>0;C;M!|IJ4Y@F) zlsFQCzGa|&UAcH3FX780o&*`WeFsOXCL@Ffu8*o=)YTuj)&c-0s@SrL7LL%-l_>^t z85puantPk-h26mzr4rj=G2y5bO6@0Q2Ofu0u3)vZpSB4tsml;X?1jn~prJg|mgY4$ z#p<8Y3?#oRf#owckrklsz5IeHF};yP^?EMU^f8?JgqsQy7M@t+AxX-xyx}Q$NT(9@ z*f85w0IlIp>E<tn5cv*C-2Oo9##Oplb@7ox30<`Q&boutYC|leL>0@u03ax!kPjO0 zy{6sJR_qw@)tN;02vSC%K*CDM;Lv_u7wF>IwAAd7fA$<}Do_wv8h*Q5oE}Qv$%!|V z{HXgo7V)U&SoDVAd{;(+V66P!m6E#OcU*86ryet5&S41(0M~>=hH+~^^cp_FtVF5t z)WWJD;*KL$3o9%X);|`Ne0Oy5RF6v0W+AA-eT(@QOSqw{fbG}3<_`}<fa&XS&--g2 z6ZW#NQb_{i!<t+nTB<DiyANUnR^0JVjw@uF>!UKHIvN6z48oX?<BFUtr!F?mf62DG zDpumgzqFzM#p<oEEz<tj=dLI`tU^?4_|1Y0gBcz{3TD=YFZi(;Z~jl+uHrZVK=7Lq z0e%*?$;YZichkrk6&jYF>PLdEsQ50}2MX|)v>^8FwV~zU+B{8!S;oE3WzOt4NeVkZ zzu1XbL1WqoE|Ia;;+5>uk$rFVi=+tY5Gd$3vPmw(c<UW@`2egAz6Se-|32=<GY!gT z8QvXyGBWngKpj0uU~ca4n)f4E+|JKOkh*1vf3o0zLI%y$#*J~*0w4qz#V07Ll42o3 zDVn6-jDZ|u!L|q>9wT>7Be{ZImfgG@D-G(+qpg3Z47v$NzsI4@+4BE5Ubp*ak37e^ z`UBpcdgMx-CVZ1`j|&(b{*pPU0QGL|xyKK_velgm(_&r3<e>X3e5xU6--=_xM{9ob zmc7y)7Oih~E=Y_E1wlhe3f+Jgwg2d%7Em~aO8CBrMXTXHGJRm1DA7jd^JgU!I;r8= zB=DZpWuX2J-Zo?LWJfefN=ho>LzhIy#76X{<@^eeXK!=499+qR6_Bea&()cLL6c+b zo?MSVrM(N{L+j)9KWVmFGqsxEca-rH09#!2@iu3%qj(kGLIvBfX#+}prOx#L0L&xQ z0Zwo*>;if5c9ZsPNjHk4W%5)&!?4o=_%YA4a>p}UMD#5yM7Bru!cK@RHiPIFB2)Eq zhcNX~5HaE~PS^O{9&-L(D4aQ-iVSR1!0z=3?#8*In#P7K!gwQacYkfQ84h6TUCKu# zHn6tTL>PIKyd;;M*!OWL`SS=K!%g+F`L2UD;m=tQ8%T0P9v&U`DW8hMaHp2q>dm;= zu!OAAXmmP2Yo4Dy=j|(4zTXf*oL!#*Vx6jTWrv{(^Q<quD>X}MK(gGsGcEWQ!n2qV zrYE7#(o^dbg#+8@vDBmZOpff|(z*j6S?!Mz;i4BUC`UiyQA7j$(z&neui(;}h24$k zk1vzdJBT4r>C`W88w%k%Da{|<^RuT>5ha42hhyzo+|XAsJxv$wKFc57_Xc;;Oo<RF z6p~<WxNR2p@}!t&Gc!F-jG5@Je62+i#a6<re6gIeR0bV67#d?*Y&4X;+$}sWR%N!` z$yy1pWVQ60$A@BLKnnxJ-uG3t@Zc<A<822iCdQ2<VV``F3DA#NPT75e3SHb0se=Li zJ&!ZTyM-F12Xl_&z5wZY8L}hcAH8TI3VAq1V;psqE@56rYU<A*mz8NA*0ZIs;(5mI zhJ!0K7{Gf*T%T?>Y|Q6r4L)+4(kpvmn!=^N4DMiJzlSwRlZ&4xZyUVYc#0Z}(11UI zQBh@vvfeyLpcY8|r%Yf~F1@}Xlec9}rR!l~I94mLfI#|Va7tlIZrt-^6v@>BUG}FW zKMK=#RSH)orJnXnpSi<bN~oQyyh}Hi;q<M9d*Dr$5pmfZN$H<45285}e&;b~uAcA9 z=;U<opTF`E=pexZ68X@eDI~)zj0vbnAIwFi-AK`wBJt?xzD&LvkNcdv#QVd1ltX}Z z761__W}V<K@rtTvW2EXz#r$?Hm{6v10~TX5`Wp(=DRS2CuKnR@8U>5=VnhX^xnw)c zZ4Ji3cV?mNHeU}kaAmlDS*W;SJeCc%ety^j^b0lr%E9F!yxOgTEOcSzJ-y#oCT<V# z%^`}T01QL)e59~H$@VX0xWIs!o?S)d98CPcg7I&RQ{C6w;U~VLfzW!sLgiZ(bqr$W zc$mdVHrFz`8G1$B<T<Z7+|5vcpaQ!3o0a?5VfLoO-;GjH3i0S7x01bgQKkx~mEuDU z7zC3<U0)qXFJH@0vcAHdaX7m$krTnZo#{8MR!1LY)}iQd;Uc>vld(-`?dEkjjS+A% z0%PMMmS!7*#eiu014$KBH8*|jXi2K{CShi+ME!E~;__?Z9H60<zbve<E&eq*nuLX} z9>gF5BqiL%7Q$aE%(S!pQkpC?B{>3JE?4Cf!r3}Zzd|A-N!FhoSMWwwNco&Ibqf)5 zi8zm*(RYoNn^Xz+6D`b)UxLFP`p>7#ZLbe$Tek6AQeqm0Gq9Qq)}NxWH#n>Xm8tGi zeYlRWu>X9Ss{-`5FUJm=4}EEZ8A%Hb%xtP`nlSbHskS#eO}Q2Rft}Uyode=(NHiRO zB6$WU7R6C7W{Jk@+i~KY`glkOP5&4qS?vI&w4Yf12#+|?Ssi0h`JN|ws-5lL92YUl z@+sy0Jq&6lYr=3X(|*s$H-LBN!3U9m8x7meNGsqcX~}>K)72L9wYr+yY9)e{5w@%f z@ot%NN$EtEfhcsK)Ir@z0*RO|G<nuA`=aKGp@(vYFVK3ihBSaPO?Z*PuQ2oj1@(E8 zG@g7?NkZL@K10KFVPteUO0XIU_VRuxy<c6z`um-yw*Q6`Jgdb?dd%u0I=V<=dw6q3 zo2({5#<vn>rKg2B9jy3nUc838)-rv=TyNQxuk23X8&v@%{)U+3);6j!YU)`8N)xXh zS-Jhp9EJwq?$Om*DYl4!$D~FQ@$gLPD!`QofefC^6aXOV1>6p|hbTHr{H4|Y@O2)} zGhQ9O30REgKuD+kAZPUGtT!|^^xkb6*>-Z-Qfbr8QZwild6&-Zy6`&RXuEFz4XL|3 z&-67ul&mabsENKTX!+$SIV8)vE)$nIZ<j~&kRq>m$yl?6-*xd}aUJ%UBdBEwBZ>fC zf`yy)40H>#uxL+YkE^6@qom*<^Hvg@{PZ<E<1Q0C?)t6ozs2e2*MpGbhkdyf7b^ zJq~@UgER8!CA!52$A$UmVX$bT?|a4vKyQe30D|Uasd<U#jqfQfsji$Fhq${3%DC>I zt7?OA55=|xNbWzj!rU~$yoN=IuvVlF77M9<3(|-#OV3g0={%EG3-@=A#yfX;D+}_E zlb}muJo7&Zq2H}ZKuS;5{^@Jy;urHnHU`JZ`0!RmD$%|L@tjs)(YGggeSE4{m+KXC znpwrE3jf>Z7}nbJ9VHb0;IX=e;hN#|AIi}SolJ5Gb^gA*mjjWKkkonxMq1PS<zUrU ze9NVKDesBOFLu4sZSOS_S!xU_r_AJGmo-mtMbob9{WvR2agMbc9Z;@;lUPXt1RY#$ zYlGiUnR~uScKbyq+f^|yeh`mA1SQr6dgn&|z6n(pXnxt*t|I&rQpr!mK%1aB<rdD? zFqgRgW-!=AZLd%|@8MOJJ`CdKnSC0~=XIUCuf8=}X9~Icx`<vOT`VUU5M@5v;@>`+ zpYHb449}SsQHc@LBKVA;p(KG8^Y6a6&xmDMxhK4>oI1Tlw+A?Rlr3>`q<Mc2yWSSt zhiAhfoSz9<5el$-dzyv<Q2Pj5S^_IpmAI)+K#hs9LyIs=hu9X?2TN=*0Od+AZq#N! z#X@f#7ueiYoITDsUtjSBIl~Ur?}`=@182#OvBh`sQR91LR*cQ@p$r^1Qh~(ULRhs$ z?0_g`#^NB&%GH>AH92L*=m=v2m?zVWpuaEKhp4d6ILY^Xbt{!K)UU{72Rl-EZ({_; zv=z43Zj?I?2IacfMMDvRN<39_RjT*`@e{qju)G4pSL9O?Xfk-@lz3Y4_}vLBe104w z6$*<5+J;zecvlB@8;q%~?}9Rk`VwSl#RErlkeZ!ZA>v&>8_IPI!SC-DHZ3=oyC@Mn z%Mj}Om>zTTsY5!WcV$v9(IVz}li*hLlgOlCMybgQ_J!(~spXpXB2WOqwfgF12Y5d} zr>o1pkHJEH&PR5UMb`ZNJA}zkZ|kmXe0iA$a!Cz7Kdh8y9qKHqh9~+Orh$EJqThhA z>K-10UA*TNt*@I))SpjKV(Tc^%@~=?JWv8SJ9d`byTKrPmOGc0Uiu;};kz7;ue12A z;CGA4kLJScC>IS1b6gYV{D}y;n_Q}hKhfeOE6%zE6nyV(Sffu?^sfeZl<`VmQ~`~l z)+mQM=XxYYowodW+2VOtcwV4*bXz4kGb4(Sa+Onqm{rdhOj&n(%FCtlC|Z4#Cyyj; zf)D)6-xl*a9aNO%noBlf8`qRZoAS){@N|gNYJ=;^X3L|*bIb?2eB2Yi;w>tY6x24U zzI7M`UbgU`uerNzjVhL6A=<XQ62WU6txLeSO;l$YBwS<5DuDMO#Ww}A{W)S+C~^!> ztw+#d6`}+9mvFT;WtvIsa|$F~^%6_zc^8!=%q-lQPZ;N@9fH6vWX&?pheV$7#zYCP zqISxj{kM5=guO)xp-n1-K~iEyd=GPZ9Wn?IG~<-C@^?zru&A>T?sfkWn>ufbL0<4Z zpX+tY+d_WKWu$)ECl7%w+aVeY+E@^lND)^ezUzIur_q49U5FE$k_=U2;$6VBZ3nx9 zXZ?gj@GXUB9W2_vWSAZ>T{#U#eM{4AVK7NWt22U7#zh|Dmt{prhl+>`pgYt@lcRs> zyB9ZkE-|9zUjLctM<u_&J+~vRbu|MM@@5P8>-~P9wortXnUSFldkM;Upu;!t9nB^M zZ`o63_(f=);#Bo>Mdx`>4^lkvZW`r^(wjd-RnPEZeOEC3G5=#A4GPRzu71OGD|yTk zO@e02V!2Dbrc~lo(=P=#hX73LwI}<>$#q#&aJu$STmZnzeaAbADmWbO84*s2xQqbY zQ^h4w(krdO{?7AG7#iKIbHG1d+uz;_xx|;_`a2dA@_f*CBm+aqk0I!Y?OxG=JOX~t zhA*yQmN~W(BHXK-4jRVs9qfiD&vfiJXWEVSahZN!t*5z~SI1^ixM(%@pVNiEDgEk1 z>xF(|+k^O?U4kt5FqyO;(GgCCuDS1{Hq4--^-oUZEz)`ZK;ZVDJH(DuAT`<e^(S`e z7wOc|djJlJGQ5AlV$m$JxZjzZ^->t{t9Lzewvh=`#ADQ_jV}KpS!EO(<~n^y(dj=e z0B1cnwf46hM12%~9M{;i<|Aa3ggU3z#5`xqEJ&NI?TQ;|9<Dj?bw6>6Q{bv?sc8G0 zbSy!X?~IiCW5^d~S)j-P_Oj@AFoB|*%QJX6=iL-+ACL4y0RtLv;#aNaM-tS`w>yzd zC>pC|!+QzZr3eT8#vXpLM_$oz^7XR(mHQG2j|)J!uJXyzh`;x-E^G;HTvY~<=(^$t zYQ6A`_x)~v%BkRVEt8!ZF>pSkeXr{hhV9G&BSQCYWK|x%y|QBG)Npk^+y~BABC>-U z=#h#TFrT2)Lh!gOI(_yAHpf~>^!unI5fPyKi_Jq&kf}5o!M6vTj@gyls_?hGJSWu; zW2RdwZ~U0{Fhs*afgO8Wpwgad5}uzOToY;J_;2xs3J5zI5<mZ<f~Fd2Z3W)~HoiA( zC!YO=kfb_3G)utS-o+6CvIZ%->&cew3V#3d*bf29_;;QBD6)PS#L4=}H@7Jx-mcb* z>#f`9!yC{1Tq>hIUHdQ0I^y&i53$jHo3EL<Nv{;ym@w~|MX82l5a#W8JC~56L|xJU znZ+-FOZ07qVT2v=og@poUV<sv_maRKPn_S^R9ZrQJtER0;Q2IYv98Hgi`0}a7&A3B zwLQEt3+>Td*Jf$CixcS3o$cawtPo#s{JaziBcq{#2^JxP-FnwGBp?4ofJ|xymAe&1 zMknMmf?G6cmGIfU?Op_C%5i(ui?v*+jx%$dq^_g0ez<k*PZ#=e6<g&<n}L`Ac>dty zB|MEFMJxbtr6Wscf{UDkeD^(B{CH?`G|#^I7h~_GX*_o&`SrKV8jCOcfqL4%R<h~k z7-&W^BI!2Z0CJU84OGG0-tJ+po+kzQ>(`|=?QIHpS`j_G)COD&H99Y|fBjQr816Cn z5ULI%L(O`Nyo)cot_5Mvh`>jpKsi=DFL%VE_b5!L2y|cZje{lk0M03g`yR}BsT<6A zsCNMlCzpDR<JJr1)7d|gzrb;%l@6OoW;Z~erVO~X2kwLUaG(u3B7HUUU+bj0P1Rg| zL2iYl)N1SPfbl7hEN{n9)teDI9i*c7YF;O^N*u}_|F-d)Yh0~>nsk_;wuNw)XsnR* zU&N(vD;A5Bq#=ST_BuKKWZI9T6wd*F>Q)7p;@f0zjN#cP>VClMsCzG>mQ}~VQd6&X zJ*`qej5$wxzoSq9(yb5V6DE!p74npL+4P35iGX(V$CUP{3Z80z-R{a-HSrtN&2B*B z^XfFD=+nPDXRzN?BCh7L1V0x(l+7XCIr|@iTBVL7>H_Elw;lLHea2QGa}wb2Ll$b@ zY2{WF@~AP|;xDAR8hH&@5LdIu@kKKb23vr%rDLH12zGy4pvl9V^F*aPo@YP-=e!A@ zZ0+6r2DmUgi2wW*44gEdhWW_8f%RfGSIbPbDgJvR$K>h6?_AlDH>U66sC%;`g*yin zu+=3=G1LJQp#4ao`Mb5z<@f<XtYU)F)#*6H^9^rpa}qD)6BhS^VWw|b`zfRE9>k+; z!)NE4XJh|Nw0I1dKpJG|p`Vm>dTDd%NqELetsWYR);(m5!*ATZy*P98#DJFPy_n#O ze4(Fg_4saOTgEg(MNOH7ZXzmAJags`2x=%Ti)uuM+tGarSUf$or~?wW|73gIv7m)h zz71q@VQM<Kn&1s2Y7=-H=@dtC6hicZ)pj5tCzvTH`LmkYp51DrB<jD=M5Nh*YpnB( z9ufldNS{^=P!eo*pK0v+EjnN_Gd#GE!i!Y;W#fh0c{QwH>|o`nXi2t8Kj(QgP_ew{ zFEb#hl>jIm0jCDcd;9f1Q)s(F!tjB-8redMp0+%iGL?Pb6ZU11NB_o*`(Aw4B!>^- zU{$Yu@2)$a)z>`{ZsEIpSl@-Xu;r#K&*Q1<5{AXmm0@Y|N{h;BE|Izh-q|rW_d%A* zXI0jDSoe#XIGz+pMXU0?A(&Yv@STx9_11Oob$B`r_A{fueka)WsLg#tIfAP)PJ~R3 z9dpCq7zF9mpMD$@GJax=$gkSOJ8pY{hfmHSDf<{#J{gv`-yZH^0teVrPx0TatfQ}j zWIRJ1qN*ouz;i;;qpPi$qZM=0+5OCqDonzzw*LFS+Si`Pp~AfV_W#^mR^sMpEMQl= z&t_0pk->)N=l*ISGkc2sK&XVXNZ<H!<8oAA+fZxsso2hjb$Nvn{1{lQv6$U_AP@Vb zan%ogWIkRHf8y6hH4(ytTN4<H(jj@B3e@{rJkrGypCa=s)oxlJyiEBt(*4Ut%>uea z{yW>&{09=>mYTaCng))*1<jq?Yn^Tr1i5M};+!FhywZNS>n`04-#S>=*yf{c?0e)h zK7YmQO_KySX?<Gj%h&^~-*;)?01Yo0<zMpZsCrIpajK1*;HJ!<&qfN>)wkRV#4}SJ z{i#LA5Od$hkkD)P(=9R5Z;Wm^%9%P6)8J^>JzxetHRCm+^<NMeC>rvs;g8f;d_ar@ zw{|-oC|*YH6F1=_GdJ5(KOOf#oVd&5%00{%OXK$dCP~6+Xxcev4A?~nFQ9ihr~C6^ z(3`eX!K<g5YFn1+y3b1?|7a#hJ17Gd6BcJT=7}k%0KeTk{GJb;nY@D0f9IG!(NXX4 zRv+Y%jNRMpyEj%3gMA$E^n2eCn9x4Ip@3^jO}^GLW<6IO{o|Ys<zZn!IAhu)&}@uO zE0$4p|FS@tGiiT~{zsj2=hTDAD|)c*@-S!+ZzG*j(#4#8=TD_xC;Nop&-GMbzwgw! z(K=KZas5;Ii@r~@|1F5x4y@f-jTwKMXlge-5&-EYT<y{+6k;x<i6oZ8q@5ZsbIzA7 zN6{>}pu5>Vy%i3CN!u(ZVs<odF6w0ATLS$lBd`j%XJr=(wrtaRawglmUQ66ehQ4-R zUo(PtMTL?F=7tE|01#n<BB{w#v}nU$5Ef&|b6K{L@JQwKDq1$UuTP%`C*HXwz#f$0 z4?|7|xc!v=p@OuA@o}mGw+tFL5+2E?V?=|p3Ni1a$d>6+#s<*ChWzahHZ)>?(0vtU zYSt3dCDCpvxzw#yCxm65asy-TWJ3U$fBDT9tA0!o8^l;Il?a%H<;!meFzSr1^?A#7 z^Wv23NFc;blhn1E$PI&9xQ`l}0+lU!oIfd4V`^}Kj&fxcAo`Rg5MG-Lw7C3HHYtI) zynOwfjy|!K<cJl7+rCkc>+0&HEgyv6KM%w%dwisoKCP7R(X8ToLPj25Ime+P$@6$$ z;*~L6nQ@cZs<7I39FjoZ(LGQA7x#>XLL@FG&v$2O=TClKzDp0djZTh)({rWUe-pNw zYg_Xg><wJ(t&v(^do>J8EfRu!R6K%T)eH;cJRL~eQZbt1aGIggq*v_4<OX5eY}=NO zp*D6Hd--YA#Fu!IKUD4cqTs6Ispmb3k@a2-&Nm6u#A(*R0c>({U8oA#%$J$&UHG)G zlinDOPUO{xA*x9pNGoFDJMbY*^o6H!9uPFG@Qds!>I4KSV4vi=n=#f1FtKVqWU3t! zzdHR6+U-9sWUEAU7%GIR*zXZKue=u)S8KJl>`6Q@GkF(7+V!t$JmbFX<%6)Cy{p); zoAG0w5)<RH0;;2Kg&u9kG~>xaY>~-OZt+upx_X(1Cd9|{Un31%kgm2}t_Um7xZ3xN za;D=a_pE{oiZDahW_O(6N3L%e{8n>W?|PS>`B0W+`+SMdn@?Lt&x_BKe+^`mu+)FY zOZqSmFTB5b5d@1s4-Ogy+h?JBXV-8#%X)tzKbe#1bRFK`m>;}V!h6k8-D^d!*KGxQ zk}USX+3|-fDbI2l9=u6dA9m2PWbOfI&1)~b697TprhJ>!scpRKPh98A4u5{Qs2W&T zg{*6sF)H`?K?%Kvu~OeV2!R&<kQ#rOW^L6y6s%t_enplqFuWkT4}H5_Ky`zt9q-#B z?~y#T3PdI&q$^=oUwz!3qtKP8ZNVXSa<-a;b}g|y8SjSKem<TqSNNVNv`u{Unn|f# z-;-_n<&q>A)#0C#C6)tQ$RV1A&wL$&4%|2*=BMcnQ%>}Ie5EL2x+r#J54lP)kGFQL zh&#Ui<^)E$Kjckp$wD^*M1OgRaHr&A;K*IN3Xnk3)B1~RbKWY{FWfiS5;aui(m*>= z-4`tvf_`Y(zAX!VZ1%6)k-0!f(^L_6xu?+o7&VbczxDlba}%#O)m5TAaVwP(#7K|S z5Ai{yu7Vo^+=uL4aKDXvCkR3d+5DtTyr<`Nl)IUb=W<w7E0Z7-U%46J<q%I&$lH5^ zPSQ|{*+B}Hs!H^g@s7gYPyrrG#E0`(6a@2R7<sLn!%|q)m4=GsY$WC#H!_h!bc$HZ z_x=3SZER25l0TY<he&hp<s*6H>o7-!4EJd1wY?NqRQ@z_IlZrTm*6j@!vGYIJNTZ! z56}P{@pyW3TezQ1hd(AChRH!!)r9U><o2mjsdLeP_<7Bl@qH+9!D?{+nekmo$>O+I z*s^xm<f$>2Y*leJw?tM<$Y$>FD%k=m>w7-cw_T9xGgj3L$0yUtZvCChdI+s`TXw55 zb&Q<C*O)eBH<=u>m~;DfvMj@?1G`CjDC&%oNPvy`cU#^^HXO+U&Ld;!=8y^5d6Y;4 zvk#TjyGzhPe+nivS`aN4W(ZA9ish-WRm+zDxRWp0X0SPJ^<zIG)9clf8$jr`xULXF zqeMT$H(fi8OyA(I+J)rb0hz9yIGR@Ck9AtIG%}itr8BO#*K@F-4OG_z6F$-#dg!ZG zUuA%DFRoYR%XA{FAd%_|_SNA6vWw>V#XXLcfSbQQP7W&hh$EYcD#ngctCh+bSb1o5 zc5yf*mZiq@{<oCBJ6w7|q64E(qLj694^TevyPab7Oe232F#!TJR>e+OPY*8UpQ@rJ z`FWYX-cmCPRaM?4nI+@L+SL)r7U)2wIn&kJdmEShH2&n77B1*(k`iuJyH@|@%}dPl z@<wa^OBU)EXN=SkT8G>3$asmLdxNs-wFe<-oPIO(`Nb37LMl7VP7QSD2UqJb%kd$J z1nT*9ZKj9n1B&uZJ`*@B`=0BW^!Miv^RJvb%1bfh-`{iEsSuPtozU9w?@C*pFHR2r z!VFFw)4F%Wr}o*r!JglE5&}=|W=0h5d^X6t6G`%w>fT+tqRz+*;7BXh#QXLcdED(x zh(%d6Fo7p+my<`51Q0|S?h28(pO)Oj$InE3jZ5^FdQe#JTWH=n4nwpeVGZ}pn(tru zU~uD2Bl)Y}&p*KMi~7}}FOP)_iN*Xr00Ccu?2al-BW|U~5m{NR1Ea#AJfW|u!q;79 z!vn)WdZTLr9ewgHf#mL%FQfDu`Jhx0?glBDhL`>4saoTK6=vMv6#CdiKG#H<Uz&-W zOQc<<?ME?@+L3=DNhlZ=fU;#E7S%&`Ag*!SZhjC~{rW82E+|Smdp<EzZ_>!ghNHQ~ zsjmGi<i-KOvexhyHkkYFmP#=8fHLrKed)K+CygZsTW>r0(XfIT5YJg<D^y-mwRQ>F zlfTe>O%JDm0mKS2;~Q1<QhOe+h{tIn!sAPyXB(M*XQVbJh(5O59He()zgqWHdV4;N z+ik#OLGtp_?&27|o+1Z750PslWz@yz=*2m`@o$SFaxKJP-tb_4CbM5$=Xg~qR8jaa zdn<N)y^>2)gpP?nVg&j=#mH;s(L%~b%($o8>ov5mf+`3Ugtx{wKN!z#nN(`!L^__t z4!6hQPZwiW0e#tl??X-tP~TYK53WgrPC5j4i`6#N&oGy%n~tk5NibPqwPj6&Yz<KR zo!=8xI7{2Ec7dEYddbt(0_v%*PdY2QUx_7HY8pfUZ~%xqCfnbb{+Rt~Xk?AD{X=sW z$CRLtr6sXT3@=1-WyF-&N>6xiBJ!OKmZb_yT+K^v_>kE040HAD+}}+AqE&TknSk?* z$rm_Wk=goPkrHA~Q&4a#Z;ZM9J6*TK#>LrvVbanpli8QiNfvzy@BZ>B8CQej0C<AZ z36q<{5@DhDzy?uDT1}!`g=XCZ3c22Tmf)UvjPQ#_vpd{TIjZuaUjAl-gLDD+dTKMz zWAl>M(c0Wa(@gBycP@Wk^G=>$VaU9*cVnkDbm02y3AH{yR3|iC*_36IiTbTNwge6Q z(7wkju^nMH`t0`-9=+@j(LU*Lpmd_=2KY1=Hif)8PK^}?Z}0Cp*3Zlw7LAApK=VSw z7u>q%8jLl@;`4(10J#(gkY-?6M`X|6<P>jh|8Dv_kZlKx<H2kR+2%!-hvH-KSeUvM ztLe}eKJ{Gx<IvTPAy7|e{r+6T1YsL@TATP02|G{zX_ccPdAH5y3hvE&Y1yedTTZg) zv-k{$h>)B##3BVYx7gDLk@sJ;F7RL6yIO0vCqlv~<)=!ooukXc3{@6u9P4OEOng!c zP+9KzZxGIje+SI{BE>dV#(@T8KjDdQjX+U^d{D_;uHpH<GV?Sb)31~s-iez#0|;JO za5vXOaF<zpTk-v{x?jUWU{q@n_#rU+i*r*h2EcTYu&qDOfx-W=dGJvbFDDiS4FDj~ zmk@FZyQ&DF6d|$9V~6>~oP8K-MW`?p(AjMnGCPq2%kniK0^`$~;!hUBOYM!hNcxw4 zev~76bo5JHl<M00(FTkLrm!mBj9ep7(F^km+BpEA3%`=-wv&C?HQmi9d_I8(5y+RI z;C>5hHSy2hW^y#&LYv%x)_cyOeMh=RIcE?2-Wb4^Xi*@-TD!BCP$W7L_k5~6vb+t| zli$S@^i#|P<9)P-*ur?KyMuBn4f+uAv{*twIq$$hiFTxZ#xTjTv&(G_7oWF93Bnt$ z0RYB?LOy_LMTwAof0qfEDARQ>rO}<LOGg?4F6aNuLy!1Y-HX@VUeN3uULo%w902(6 zQFZ|(A{da|o5PXTK*Z!^^J;FL|29BPc|QL|0tpuyVE6-?vL}q)oh0k_uKru8EfYLR zhaAQZiIAgT(d5MheP&zJ{IHA(Nwp0#<~FNPg+aQKXV!M<9_fM0-c{eL$-Ayd@UEB- zx3CWnb;?`id+LciXq&ln?n5+PtgbNFUtn)*{~Z@L*i3OLo#@%mZJ93KT2u@nX32py z%jG3`v;v(lEd+ypr_~yQ;bl(`2qHwhx+?3E-N{u?*(FI*5gmScfJvxz#OGSm&A#Dx zp1g#dOPa*pN|-pu>HrS0GTGPh93xWCb{`OP|FL}+lT<f<TsVJLsUGP9eFErig;csE zHj66tTuqiA8$?!DqJ2X}N7m3Dx;-Bj;^P3Cxc`n!Zi^P^@_q{KZAtOGh$}ZT8AyU0 z;o&73ew9mhVE7pQ^m-dfHEIL-pAE$gW+7`wBgo<<^dYCsZVYOAW2z!Sj1biu^o<M< zY*y>*wEXDNUk-B1u-aV)K`oJDTVKa~&tdJ(0dY~M)H;`viK+&7IyRM)mQ(d)OGMn` z|27))MczB`mVBzEe7d)zK<b$4CC+JYa(4g1GRf$qel0_R?#aB|BTy~Vfp)yr^IT$% z2*~eiYY>~W&Kl1a;L6v+q)=tvgq%v@8DD9;VFa&@bo6*`&YR4AAEGSuWVL>EK*CZj z9wyBc&9JJ@sM>TiOvUX1ewiChP;F=$J#=sV_$~6caN)g}wQI9@d^kiw`R(lGWemEb z?S;&_E6`5b`>w{y<#}V-3Pf-yz&4=N=IPmm<!O4yvZA5R9AB37Dnf!c=Q2c-oli97 zrdvkbz>b2vXwz)e-{05H<+xI<_3it23=<RZ`}fhS>uXd`AXvrs=0M%h$7iLvudmOI zXqbATq$Tx8m(f`{^{l-lmh7jHQpt71eFfp$C)S><dua)VE;zm<(Q`eM!cqL2rTKIm z8x<hBZr}5GMBl|PVXH2d4XzG|CiML@ZvduaTt;z#kJY58iAkT=SNam32|3xme0(_- z<!KdtDQ(EXVE4752-jXS%tp=gaHgi`5aKazYMTiBn`&=9LrlHR{QEHNYCyDdgNoyZ zT=DL6XZR<Tg|fCBZ;RucoyMwC$%h*Z*f23Xf|)PozGWN9Rtc!}&l^7ukz`lO5Q`@W z!K&2ZbB>t8xB~7!PQa^neB=mMkYfproU1W-DyH`VnVkcL<I6~u=YQi%{?5)Ww~8@2 zu)FsE5ik`WWAyT}A#h}3`G()<PC&iTelr6N30y_EIQPlEGN(SyHjA2zPHmbC-8J9R zDU-y=Y!*r#SDC-1cLpBKPm8RwdA@~=!oZ_Dsb{i50{}oE@Uiz-sKG>z=zE%0UO>y2 z<tywm0gt05Bf3u>u(irh(dCUMZ5S+IHCJ+;**kA;NVRqS%%k)6_`aJ?U@tc1PBC;x zd4S@Dbdy{T8u?&edL{l`{V@%kPQt)s6;QKz#!Jd?ZRr0P&z~?oXaUC{fFw6j^2T=@ z$k1b?*7vf-AwAKXZ4!^?B#P@c>hy&q=jFh1t|EcPHTE=fOQRa;fLi<MQU%5mL~sBP zX<zjIxuLcHYn7cD;Jt46SzbS!ahzJZvUKIIN_XdTc74NrKu-HO1U#t9cPTgTfR{IP zq!g9nr6h7|`ti<|n<w;s5snP&gUW5VTxB@vCj1`XGO=m`SU`EQs;&{1>>0Cui(!|; zU`)|B9M;UWcK2hoI2lIrsLCpra0&8QySahDjh7E~)lWB#{gVbwx^ZT@2x43|XS6FZ zJ+E!%*yRPknJ_}ONbiq(l%_X(x@fSmit~7v56=T>Gd4G0JH{j)ZiAa|{^D<E1m#_q zexC98e)E{#AgoP7+pz+|@U6i1Le^O*k(izXpI7`jQAk38nkloKLqzo_nH~Cg+|>ni z2=H_7uS&Ea31-mk5T<x`_uR{s9;HnlZvfWT1t$<dRGUQhJ*1w_i=IptyZ%U*ko^Uz zdvxWv46sahCVl?yyn_q~Dv?=ajaOC{x||hQ(KN52l$^F<QqXtvU%l{#2*WavsURZm zANgqA>=vLJ+^94daqKI@MQoR_am%Y;z)7#?8{cm@JqzXP#fn6@p&=n$|3j<A@^J1m zL)wuQK&&RSxx`!vkgX`BPy36F%!z>frsmYA`nmqa6Ote46g4hS<QTMc-~8mXLOG;9 ze!6$TB%wPX#}UXCos^Kgd##HJY+5yQ?CL!n2QdqBG(1KRwlEK{C{lR8G|=-if&*3- z;L?683DiJ<%7>CL`1*D6H190;y?y<lus8)$n|jnTgz{St>4@OBV3!xU9tCL$m7a6> zYbLq*`l`>->*SEoyjmEa?I=NwT8l0Z*5ADTIDz?Wd(_ei|9rkwU}n>N<O(u;?LKGp zzI-Ot8b;-UI(-%B^tgf7C?<mRq_s71{o-Mr&d#v*CQW{FP*C*kmhscYP?($Rhx;`- zEVpar`4vu1kFNr}_+%szlrXOD@sDOCwmwwaOjQA&q9}4~GLUyD#wEN?3S9`xmj`kI zfZp65+l?fhf!M1{GH*vP&$Fbi9Tb2X0AOp%=%nnaGebi=paBx%$T?Qj1dDyd+byN> z=3hcTrUrWNRI8uFu<j%CPM|~jUG44u)VmHX8zU>4D#aL;_G0njCHOkmq$EZc;cZ<0 zq+x~;k|xbm*i4D#-eoQHN)N)5mE*!1$fqh3Z5`Lyo+-aNHT+)sK?waX1C?SM<nm1I zL@6w+wKOgBZ*eTwdyD?Tj<ldE$qG5X4rxz5r}qhp_<G0NI1=o`v3AHop3ybR-;)u3 zkJ2aIhl4~G9qKxRNi(8ke{-~|M2*Ok<SMzvO~l0VeFn$Uszi*sRs=6+i>P~py=Vh9 zdVjvCTG?ubVGIYwzEWCAh6a<dxs)w_B;7y`{qTbvR)sp(sIB6rVFB*^x6E_g7Z#84 zx^}{I)uk)fi?5$C6`-QS|KRIF11=6QDEHF(l_1S5+ilGp03hdRn-A%Nycsq)ypbu^ zt)=?2j#8NzcQ#7%ifLw=6CSO~t+xyHV?zAKXj`L2#-yen!iCT*ZK}6S4EBa=04X<D zh8u7R6QONIu3{ifq`N7)B~`U>z^>r4eZClxd<=G{zd?!$vnT@po{M8FjGOmRU3;gm z8>BXUJSVR(!oGM6VZL|F$~`Z7^Ws&q?E<JV5S%fgleU%&MB`5HieccJ+iGN<o}N^U znrtq&j&NiG3$*PAkiiCA<6v+g+FwlJ>nDH3Zq9pLgrBA}y%@;#Y9(0e*>N~i729`^ z_IuiD`glIhivz>~NT~U6F1n_aKJtI*u$RwN3h{=hOR0PNb~Ox9awWMKBp6a!zXYTn zw^l8v%L>9EGi&SagBHk!B_eqKI1W*Ks}Pa|()nrXC%N&mvcCQ8_w_Xa`=5<}x77im z9OZdjR?YH!zD($iR)eQ#E6WHfYyFv}!2A^QK$xE{k?l;Bl7kCkO#+g>1C4Mi{9q;U zS?wttXXl?@ARmbEi({~r_1*}5^*q`Wi&%!7egStkJ}=yA8`aJ(4BCeZKEpNTyl_Wo zkz_Y7GRaCLm9P4K%kVqdJvG`zNM{<C2qF7P$m?VY30~64QkI&jWx7nYSL1pWnlXD5 zIiQOo^z=O)P0bVM;weavn$rZob|=SvbU4%@C)ZIFoM>#PkBzxIacf;GfNRJK8gWt> zFSQ8XP8Z9lsdtfY5fq@bc3a}hEnXatODs<dlWog|;h;Zb#J2e4g?6ciWsc5#SjEX# zCOp?@E6ELKU}fif{>!Q2=MbshPtaU~V^#rPg9l?6Q4{_*1^g`W=|3nC17O_Lr6B|y z*dfOyCfmV0I{D7*nNvE__h@}%HTkT!x9}`}YHWXYP!b4ilp@CK)gjZr<%j#maxBh_ zM&DIHeJXtV|Fi&f>}akIJpxV5clVK+hRGggXSa_1AF~qH9+Fmin#T=+Y}vg(P;}X6 z)V{NIFl~>81b(~G$CTxZhfg3Dyepz5o_wDU$w=4!dN?=Ok-=iTR<?8uY+y2Y>$%%( zRbohMaR3)=kK}gwG^3-U-uf*bw&drNO=iuPGQT?99x)OPYb|GI{*brkn?Gxr-NHFs z_8{WQ-f7eYwIriWeM(GJ5TuR2!uJo)9j~5LnIT-}YYZ=fayBHQw+s^_@5crJ@{_ln zK4QKZ(u8U=AdE>WdX-x8?T34?{?gYplE9Zx`{HSCzmEM!iF)Ye;q^0P70E;Yel5)s zjs}^wtrtkzq!=D!ac`|z-~ExE$$mduE<_<wq9VCRjET3w!@#jLZ3~j}k3!^hamnoq z3j-t7Z9;D2lc$s^S!i$OH9GU;%7&S8pwXZ-EJ**+XVj^N58=&2pi#SJp|78^^zL-2 zXT7mnO1moU(d8MPHiOBS>#g_gRZ>y$|1|ZLVQmIYyTPGAky6~9V!_=VifeHxPJk45 zr)Z#Pad&BPmtw&w?(R-;=j8p~@0{z*?>xJk+1cHhdrYaTY5BB<6l(eMz>sM6^SfY{ zBQ$awI>2I7>v>(Qyne<<oJ01)MPIBfUw3e@*d27*Q0d#I`HBrnkE8}-%v3P8sA|gs zn(xjiZBITE$rQzC25VY}S_vUU+tpF<zu#FPg4`)-veC7}0i<)|y5*{9LpKCu=oowh z6B!hzYft*IbuvDxLxBy<5I`u*s;%CME5a9TmDi}$xwJ!u_9VoNq&2+c*>K_Q)Zvqj zmAnSLmc-+ITJiiv=3a*c_^F%WXWEoxy<FvOKxRTtIOiyEx3MuAS+*}GbUw@tgeCYc z<w7*~0T@qmf%C)!a)jXz6X{&m>3S^wM+DzgR8$sw9<D@Jx}4UXqx-+T6Ba^72GuRH zWeI}Kw}iOXylI4(E1qq|iW#GRa_-)sN#+5IkMQByScTTdg&-=?jApsgp?vU|h(+*D z^Ni95V|U&KVV1+Lm6}#JVloOK=n)W1I^a|L4pAIYEn7+)4VYK=qNdlQ6Burh2KuWv zTo+~6_MXMQ?ssKXW8+Scc8(LEVITJ*^)Hvy;9RsoZ_TZbEkT$6zdx@{0gY)<hI=I+ zr)<6D(hTnH8$LlKdwb}8yu3tiTtjB<8h+{B{(DMGOEY<X(BAng)YRVoT%xK|eb30i zuwMoV_kVpYmyM-{YB!kHA>pq@G+eGV#X+!Jke<+wc5U;AJBc$w(c2Io&^)b0L<3e6 zKutoacf*QO%nqgufE-=nRa8|qg=zumUW8t>Q9H&;Kk!$s<cpg0=3%iC>V0?jD)jf` z#)FHjH;n!SEE7Jz-?Cs{+{fYsQjc~@c^sUj!&5Mz*VkT#)Qq2era&(4kE%AWEKSGt z3tbKY0fCci4|VtM{{F9*ue(uLRXWF-V;eMb9sJn6z_)U|;orckR~mcj^;=E6aCToQ zAtZp>d6Nnd!)E{UR7?>f;W>xvYxo0Pui(CL^ve&7W~zZW?=woY7=Vgwr@7u>F!Ik{ zY;~h!LfH*|V|&OTA(gm2fmo21PPU)@pZ=Sy{j?D-qlCms)^<6VV`RQdr|*X}%lqSn zvMWthzARC<BON=%VPxGEc6PqIk`AA{OzTC43MD5e3cezZ#g-_U^#4Gd&c!MStqLKu z=IuTmZ^QEm2;Lq^k5?UQic+@{wWn}^?v2kP(s=Yez+8!FB-lOwPVuL&+Q>3q#HVqi z7VD}f6Wk;%r3>Nk^LI1;plACwEN8=wNc6s&e@QIXpOlw9eW1-Bi)*1OC8RjR!hNtb zZIL%l<C#+a%j?UdYK^jN?|kbC_O8nCYIHgi_sjc#zoMhw<&?6luC7{A<>irye;j*= zo3bs*Z^1<j?-11&K<^F2pV0(jcuxGx&EEP<v@1A3{50tOp8t?Sa*H3%j)QeHXV97S zGFyoS{bX=ylh{V6KCiQqLY`Y9yTJ%0I6)pQsPI;DNq)63H^l=ND4AOc#b>Fjq20YA zSq`6o<#l0<<Kxd+tchdvuG$-tHrOm)mc8=MR~sug>5a0D#aVI_tFCprJ(YRs2L}gd zzyZqfHj^wjdspSI6~<={$2iK_U}1AkB4ja?pFZ=0w}3MC*2B#>_G2{*8<y6``Pv^i z6$8EItpczSQHvNen|{TNckjUi2<tGHY=or8`yw9UNAxk<L#}M4T9Jd6Za8{FIaQs4 z)HX+<$zzVQSMHdUh`1cxb{;SJw8SQGbiXG4&GJ`>I_;007Kr{PzRXe-W}6QGgsQlN z97qgtnW>c-DX}6E^SK@M+IW=DYaB^sHzE@LD*wdrLP^U_3+M%IQj~nn>7aCYEHb}a zkch&%*BP8wqBOcpao>!Id#4&K=3+NX0CSA{H4Iv$NS+z`mnn<slA^E;hT)&Et9jW( z{yy>DQv}^aO3HHMqCZ5^!2A%S_%?`uz)WAC?6tv3N4uU)PZ|neqi;tiJkyhp&&6Zx z=Cu;6GVf$BdQ>u$Jkb&Iq?w^WVM0l^mXss*lv4Qodw$)wF`S>4HU$u;N?MKl1l&T# z&;|oeyD}{2NP7OylsdB>VtN^6+^0|9<?v-22pep1C89hHdT5Wj@nP!E3l9?{$u3s* zv7Q1CA8!qLc7t6lKIctKERPqoge*u2>F&i_KHsm-pue$U$J{U|QGfZU{-jDQ%I`AP z4!hIKu?nyd#CgnqUPil*^{b@yCQ?j)gefI2)uoC0LFgebrB;g%7-)73m~d<PHNRsu zAXoZ^-`?q2fQb^Z0DzCkZ0n}xUXcaQ)WyPVLyh<yzi@aSBx{M3$fY1*zKF<lZmDRr z={oggh3<Vg;R+3TM(F|uF-5{Oi8V>fsA=DOB~0n;0>Y#};8`&Gy1t(ocmJ(%Ml{>* zC<}Ebv@o0chov~pc6(tn!;s`em7WVxh9%VUG*yM0{UnjVR@HJ5%o?}j&G=Mqjl7&q z9G0A4%8;4x=k;cP;?joD<2nB@o68MXov_BP8tT~)d|+ZCYn=Pbv?rL48zGA+#FA>o zW6Bx&b(6d`Uj+sT!XmKA0C9$1)kO2+%jIRwvu_O^YyZ^o&M5-i?;OwB=BIo@06~DD zzi1jo;h%C%QE+f1q7HNm3E}baiulT?W#XxGL#a^_L$UScDZ}F9<98AahmFp@ftH_N ze?Lnf&Enm@c>lv{S<K2x%X%0+(R8?3swg$b;E~mW)iL6A2}Ay1J#DMs<v7I%Py=Aa zG0&<ie<1=*EpS_fX{grpu$LpuOqKAE5+I}06R(XH-@Tfc2lE~)5)IpELge9?2wG7Z zqQgqKkDc$I!#<n^RfR*F{nz?3V5zvC7OtUMizTA#U*n>?`b7E&0C;Zn7o@#FQYd(Q z=|ODPO{BL~(gw;$^%$m&eYGWP!{>hN_hvre5PtB(o-+T*^=b}b)<oC#OPeS<kG*s& zg)v3@l5+4}cq<uVyxQ=;O@>C~0HPCyq$Osnxwq2Q!1!%Z27k^WW*zFDrFq%jK}*jz zTc>6*Yx{?Hm=#4tNeF=MZ}Hk%JxlcxHq(-Lw5eN|bm91_9XN7F4%0b77@(i%^1}7g zp#;Df)M`x7&TR7&tt4g5GIm-~Oj*6UMct`(qH*2hb|^5P_i<v3#<$+b*(cQt)0~jJ z8pEa|cYd^@jOx_H2uTIC*SvI4MCV89SC?nTOzZ>zC3rD7278JM;!{{tmYSNH@tNKw z3WY!+VKeSYNJgCnAfDRvUZR3ZiL&{W5Y>i<^x2?q^^Tp=juElR3y1n?90@(lv2w9Y z!RpJ`d3BqS;==QAnb%_lDtt`$0Z%Z#24DN#9y>ycmk;X6+Uki|^~mIb-uLAJ7?@9j zRekqJDSMZysxge3;oiv-{kQ+PSQv0GlrH3VVi>CouJ1tz8y*Msfz_U}eS{~lNiABG zXOosmtp`eM&(&&t{+jB}lk_6723r`P?&gk^xmog!IEa?1AuA;ZflR8xFl(tRrwwR~ zih4uMcYl`#Mc=ymUUf6zTE^Gg<}ALTX)H}l9+N{gWR`kH-1jS7EUlABVg{hu^`4&I zjjrJd*O!-$Pt9E=MMY)Uk~&%N{dA?68U9mjV?!m}x7mdlr!@AB?m_F-f`o6V9*L$R zDHAtFi|jf}5tP6-WN=tG4?|_S-aD1wHR+G7P|7rtwbdf7XbcMO2kkiH+v}G}+TOH) zxAjA%fy71-0O<Rwb)Jd@UrBUv(fr=+%N|Zf-S7u^j>(e;fphrq?=9bqU9cSA!kxaZ z(?j&*w99-Z7F~jhJH*ICK72LMZ4BxY+4<O2`ll+(kHV1h2zTbTsH#J(xskncq)(+# zS^*vqQ7D>#k3irbv>95UI#$joWtq16(PP)ZmFZ#20`t6eVBi)Jx(tahZ*x0-Xr|ct zYE7UA({};&-e(I(SxbqK(w)KA%RLkwB#`dl#UC|3YMVszcjgOuZhzY3Zc_O?`jGfe zCZEB-LKn|th8sa_muUiPG;oI3r{ukq8!vpqq7YP^)@2%e?cGto?UKq&g-)+!4NC)( zh>q;@qgzpceBgJecH7ztSIG&}IfVdliXnfW#rel7B^$PzgOJ_nS0CZ@*XT~+V}8rI z#mwMdnsz05`KNhYfcQ}qZ?`jbdw;hKg(6;%2E!Unj|iic*@+PJeG_q`YrQyaz(%M@ z=~(onKPz&;(T10SV!TG%DZ9}p$kfzSweZ>b%j1ocOu|<Nxk^KG89+VBlSoAW))|?Q zo83cm&OX78bs#2N9~jNfZUSd@K6U!D`#vf)D#r1W3a;x{i;FoOWf=;I(}A~c8p$xt zyI*Mf>rDE%rst73fIuCnhP}H@mn7<NmbzJR_iro)&wg26>XKG*!zgnLTCTUd#(9_9 z`my31Ze5$l*O(Qnce~{Ld0pnmJOnCN<fpqT7|7)01ZJ?<LG2311qUhlc*kH~_R4HV zJZ2QZ0L>5-z9_$Qmq?$8mF(l^`HfVLV@@Tf*G$`|XPGTl6n65hJ)GBK^f}ABz)~~x z7lS^5k@2C}B=5LL^2TemeY7s${0sX-DeN7ooJj15$WjTDm;}a<bpT2jeh+X3I!41i z2<hAf1cJ->HOjO~8i->LClNxsk^3=UVU8G+WfN{DZlBi=2e)TV&Y(N~LzfA+96Vgy z%fV}0;@AOKzVox9X2b^Nfmys*jS@ed+gMqsKIx?F<PY<lKIK1G&^V1VoF95}y6AdA zfN0{|c8BS6u~7fX&Y}e>90yGL6tCmNDP<m6wxPwFH-B(9G%rZfS_Rm1AU`R0jQhOS zuum<Bp!DXw6d!@T;-MIdtp#J=TfdDJ=$ncSv5L3D^XQv_MnuaLf(-Ei^UvI*Z3MV` zEw%|_Ql*b8ZLK0h<XBW1do&QD4zm{VO2REI^}lv~y2{?;C%XseG<_datjI;iYU_<8 z43|6FK|lILuE`i0gBFBf$*iSRCb8}V#Xl%lz4?wF&n85Qv)@D+_jXg_aAod3CU`3d z#=bo;PmS3#@^`<=7or~QuG@K{8;oemDt`oMwYYBb5M!hbrLu|ewqF0<?Dc+pdg?L{ z(MNnM&HL-~XlXO$ha6GZnXASa-u`@45rVcg$w8{9r1*)Mnc3kzC1Gl=6_-m{70Im) z`?7uJ3!kEZ1Y6GWUC+P-yt_0nwKZJeDAFp;wHhvs?!?`4-NRKN-|ENEUKJBa4%bem z0!Jkx3ZkDcuDY^J_Hx(z`_Yjs!cD{==}<(}fm3~Aej%2Kdi(t^rRMc%Ei=C^;;)$= z`mckwIOpik31DKpZ&8%THQ>cY=WMeR45sm~?%26XT$W79dE;<B@8dW#z~fvY0!?Uo zl<8QLiOFYFoO*Y4WZb@wCa?L%q=G6Wm<Lh(CA+$15U0m6fRi&#j!O_x*6QQWF1Nfl z^~U$E3qKnq_bZm6XssaY;=RI-KdV(eNt-3-;eBr0nsIFQQ~NZD*s0x`SSQ8d9#dm6 zYZ19w)ErF;D^7f^=q(!UD0}ThCYF5U_pyl*W@UDGz|Is}%y#p$i-L84&x(_<NXN?7 z2Yj|9#UiOqrnp5!b0q10KQxeR6`aN%X5_z4y{Uu&n*H&NrqSu?tD0K^xj6c4GC~tO zUBP$>^qG(A4&~l&CzcjLG|Tp$CSU53UN%k6A9*)q>zu#QL!>O^x`2d%O>qqWrb;y1 zC-!n63vZWdGRz5mr0#K*hKgLEACFQgVGg>nb&cxgImh37Jv?lgA4b&$PJkHCPp)7C zu(|!gWjr8nb^VZ_vhqI7O#QLfBQMw6!~f7bs#YX<aAnB2!{3<1cU(Ef4TV9bhamd* z{+`OMAo#1r;5DUK9t(GTlHXO$`9)75y%>AOwvPyl+Wq@*3CbCD_Rr){voa<jHSoS` zcE|ibC!G2Et9z-gW-s1!WJpa`FVOIBzIqeWlVIGF7cv#L0PA-`s0P8e#FXVM+##C6 z#DMvx4^52l`TOvJQ&gb9O*07)^!e}2DNQtD;b`6!T=*u{>41a6q3~HZOI*ClYa?>f zbu=mAq~GOX2(IOY^zT2&XuTH$uv4}|L@2^JoV`DZZ=@8izpx7al9pzGiQH>}Ip5yV zVfmIJ;?vO9_N3<-Y+t+5MdwQH0q7BoMUkWo@AEXt)1xN37+UdS&XC~^a2QW7FIU`7 zX4dt0?h8@pZhbKJUCdWxwRd+dz&vAh^1b{X|7(u!p5kP+A0)ukCumN{_=k6y7$zBr zK{CAP3}Ua>e&;VGjbRSyJb&sc3XZGFtXMU173U8zSI(=mE0Z}To2|VzP(H{qH^oa< z(kwWBr*(%t`^8;{550|aaOa4ROBCajbYoiXXXW7KZU4j+(4x;}@Mg8homX`St@C<$ zZkBTI;30t0BVPUw5Tm^}B=r2$n7r9#fPdoqfR49)z0dXevXri`z{tM%Huk0~27-xm zFvBO+tUvKCRzonCQln6Bkeob97v$IZmz{avzls<P#LFCxU(H+I?&o?_-)1T&pdCh& zsQrBYOEy#ZvkN|CW!BB@+s9)5xGQJL%KTI@aLZDz&1ij5f5x7m=Z-wCL+B6~+U>a4 zY^OXqOX?$9@#<2)OGJNsKcE`@Vt`?cK)838<j3BJR%<aWO5p@Kc#v@N$@i;^Nh?y; zCdg}acje$Xof}W%b4n1W^sMBcK6c&P9ZB&E*p@vaPO)@)^<bv>`;EVz^pYnY*F!$$ zuHTt7&W4Ok#Bxh0aR3DgNkj)+$1=id(&@1OP*`}kg*(Fo@#ejnywJ|*Lj8GgsKP(S zxL|6YW}-@R=`Wz|vgyc?rK9%QI*qk7(@b4J(iAaJ@&3vs7NfVD3@WaW&>Yu<LXJ;N z>9AH(QGeG=kOXQMK`Zh8{u#o)+Hp*<Dg?ObqXehkeXq#iq4vvEj|(<e>~eP7-Ap9F z^eJ~+p+mfoM(~EQzKHZ(@OPWT$rhHM@r9aTv6w9}m|cb4*hO&hUJT%w89%VhO)#ds z^s({p8HWOu`-t)BO+#D#ag^er2@ZS)DJm*ydKe1YlXAec%TxwUvQ7&ir^{T6RZqL- zK|kD!Z$y$_m|i<r#9}jyNygs4%O(>IP|r0m6<I~~khLuD@J;Aktke0di2EwM8Of4Y zh;AlnKZ&90Y_B%gPiJ_q+se=CZJ`i4N)BoLs{M+jeOt!fq+OvAuuC}7z|hVWkVDCh z!yMurS|0$CEMPl#rIs(#R8e7fAZ|A_@buaXcs0Nw<#M;Uj!0$~I1-&LuaC;)Qu41J zReJnUq?`(uyT|lMt;ceAzDvQglT6?7diT73b_Jn7-Ka;9nfHjpjY<wNXCPl@x`A9c z&os;~GF)E0>eU$-xZY4gHTX9FU;`B;59ZcH3Sa*2y%4m+Y!T3%Zg3mHoXME*tF05@ z?|c+LHERB>k7n`7(UtEygUWBKx-<n<r4cdk^L?5@ljB()<EOao=JYOlU5s8J8q6#i zqoy$-<##q+|LJ~8(`WwggGqR0<>%S<7ME@0QQcMNojNk3jpMgV?Ec!1E-%L4cJ|Al ztiCNsS`EeNJV&vE((0t3;vYoVlyE_4GPDu2xQ07y3@bhGVebqs-M>_IehI~|suFH7 zH<)cBMNxH|Ir|L0=4(3FNRKg88hW+h(VcS2m}YKpXbh7?LWPSp6OWQ-(PM(r<fljI zcZnKKR()w66szSp+#D37HR8p`%rTq^+1@xy+~>P^bZ<N#0@EaeNH;l3KNVn>u&13l zELDi4B&xnRau<+7q>w|q5wZ5T@iqzNQQ<W|?RqYE)=ZhPUnhGU5VF3%tp#Hcjj|*r z*s<xiYP&EB%+|-|tMdW~y}&c#uskVL>C3zhE8}%JMZCi8y$?~-WsXUQid^rMrm$#9 zKAjs{Fj-JRr(hmULKQ}|Jbpu3ESt^QW*?#R0TBbnkbDFg4U>}ade2aP_)JQn+f4V( zq&^X?v%x3ZXwBJy^5>}@`{jxGr1j2meGDX0xiSFUce7>^Htev-<e<snTzA$NYLt2% zWLcExtb_75Com%5t7!%-ltsjM@n;D~kN;z5Ny||WGo36bPv3?8felp63$sbSihld` zcL6n0w>f9DB&~$zWKeHl)ObnoQVBGf3`^agOJ@!I%tq1Z_~PMX$+@W6C5_SR>~Zyt znaj}<?=MR)s&g=^{R|@|J^euW#Z_{0@_;~{*lTWYQpUQ#_9A59$$Knk%gu8R@t2+_ z@*?>6<6Qm3u(7GYpw|*-HMU#>+6c8)p4k|}+NbCBRch~>=@d<vZPVq5y0%o@vaktq zVHzv!Ot4}b)m5j%A9)e_rs~ndMJ;`>Ue!Tc2u5Y{xbB#)W7W2>!kb`Yv*5klD&35r z0R-kA5Ck}I*^MoP3qz?OG6YQ+2LFICmNfTt&1R}>-%iv)fz6^9>|jJfHk*%EQ^g@F z7&seR+;<vUsg1G3{TwM@0SrWTqO(fX^9<uTLJXq*5<R{iSaBt_+prpbp3_!8M3pmS zmfF?S@cP*v9xE*E8ob-;vO#LWt(RAb>)=_QmGZD@KV)I%{0K{&M=Pb-2fB>%VttyJ z?2pCtNuUk`X{UzbnCfsLUa;{YUnGeXE~($qynz1JvVgt@Gx}*3e7Rwf738WQe=|>U zT}<_e3}>crA7wRXl77Rrh;M#Ppsn6zrdviTJNdgTY2uF`{QEAyeplOvIg)QZ>bwOf zv39w{(Ct!$8AQ98!2*lsS&be~=~FC!Fgx1tW~6CX=$s9Y4?l9UNq~Hv!6o7bzGRnd zmEU8w|Hb>;?D@SplBHp`?CVM>46v)V&j)(CjUSPv6WM#%X^`%2naqbx2CdtDOL3_5 zjw@Ct?vfT>;O#O3vLGL8mi%tID#b+CNqMu2yVEz?`j+0}I<SAVi26sw-<7*t1{d4{ z8+U-D;_?OpoT`cz4x4nE?MPz1QmTWjfl5IaKy{nBGI#5o$1P7kA1lyg!{yW{js1p6 zo;G5GVad^Tef=WE*ki8wZDtF_!{g&{mRrH_u;O;pI?I>jv>!E$uzz&#GMO)7k`6c9 zubao{hDG@43;_KZv`rW&cSwYRfYD23M2W0%g!#()J;dp2K>PzQiiU4M-z8j5dEFk% z1(}~}e`RFO85sjr4f1hSovCGiB<x+`BE+|ZoA5gkD;~*gm46YGG}SD&LCjtCm%pnn z5u!5SU$r*%b3{*0=ji0_@GRGvAm5RbMOedD8>oZHU)IuYRWEa4cI-+{KktU#qwG>p zS)x#Ttwo)+=X|d9PK|PyZqo$z(2GdMZMrtQ%6r?o?AC{o@67xI-%PB6Td_;WT<^|S zowmfX#DqjdItC|8<XJ}YPbw=DLhn^SaB^{qz8MgfO$CHA3k^tKrcgN_4?2{xb-s_0 z!6H=>(<gjsVTJFj=~hDq+P$MZe^zX+cSAH>5=Q*?riaer_V%Yc7wM?y{MM$}|Jrg< zG%LG^cqt=yx^4!=B#F$pPLnH)K=zHy2eruR=ZLkRw&=8E-tq0x6OT|mg?~rcr^w>t zbu?VqVOINmX!4MIe_U>N3ltM1?&SS_Fmh|S&SjR?@rUY|BckRYpbdQSG7-Dv^Ju+` zh(=XSdAD-8$g|tT<JMVC8hvK8=KV$2+nx*nbW<jU1N?+pTyt#quCIY(Bz&)xIzj^t zYo<Uo5<XuK=d~39Dg7?Ln`5}E^TTM3JISe|v-s9Gqta0!6jBSYI09F$uC>H%B;viF zEym7E4L(cwTT=@u;jhl7m-w>=^>YIDp=JvMjmg%*RcghzrSEjieCHMZ$-9)PCRk?- zFin!vTmK)o5vIpG^6l2wdLT>dO@C|Dd<tkf^OuK3(a*UqZli_^@9<qN=Y$$=)vVrp z=8lJ({xPW!j22;sL?DFm!j>i`udClg^hV$@uFKH~3l@TeCdkix=CRV!k&mn+!U@SP zj}>KrgCMsSm9YDLezxs{$-XA5@t?1kcLq)56C-2Vns}DlY8+Ad3(wEbQ6g;~IsQ(U zZNJFG+)t`rue9e!TXCBkpIGI^xH0X9>nH*Qzdrp0EER@Ten5+F_hQsaeGafGZbsxu zOt3QMHuc>k>B{2UNn`AroByGz9wFrQCw|_^aI?*tokT3GB(iN&dXJU)4WycXW@Tin znIdy=F_fOk!KLMts$284A;IS*<Zh|f?CIBkA9<zNq<ee>Rrq@8mS}e%B*RsESvm`G zK+pCLYLU%q5Z?WsiceC0+2FQ&-B-!ZRY>-@p(b;dW=^mI;XT$`X7>}j+%A8P?sqG) zU`!lH@H-lrzN>zYKTA3$`E+Zt#<3?=K;PBM_I}iEHnz4t<Y+D$4gh$c`kx*F)7H)` zFKQ%TB#bKSCQa{e{{G2{V<3NMFfvtBi%VfOxIJ8~(|wAdS8k_BW?-eEDPR#0c(8hm zo%sNZ(SnyzAA(^?;g(E{?TrYWka2_*&Q?YKkUUN-HirYOJTl|&dkFXds`ze`Ay8aQ z+M!R0Q>E)13|Vz*Wk$t4BKokGbRz$m({~Jbpkq`zQ6-eJZ0})POq<Qq=k)YxV|J-} zV$W~3%q2BNHP<HT-FtoxZ*gC6{GDe0S=KYPegplQlSZBF*R1+O(=VZo6jMdxMmnzw zu|eA+)7eI!TN5%&j2HNU9laxBl~<^zJGyPj>O={ASWkn7My{hJ3KNNqWU+dzmo|xe zYmdxACPR)Q=DXp6DN^>ct699qWh2W_{|e331=2~s$Gh<<6MVl#NOZ<`^V0#xhbfxo zf&e4Jm<S7XZHaG_4XfL0){MQ8axW@s)+P)X1w!rMjVYJ}Yrea@nkQBMjAur;M}v(j zS*T&V-4$TPO?*WZ&a}&4O-S_>8K7wxO#C7sFzx)bLlB?S4u=h$kz@d>IY0OSZKLyU zB8n&zUJrRhHZ<Mb&D+oGd8MvClyq!zz`$=yYirpVcSL<MCD1~FvT>VIn}+7t>pM1i zYWr15j0co}X;?5q{J4?mgonoGq=nrN&R>u$ysiBY2MR|9oCL-Xv-S3pxTl}Vf8mq9 zxJKP=>3(NgV%l|+vZ-T{gz1agSGrm!B3^%hSX4H^oCGfilQ>(8**{9lvdN+Do-W2; zyIK&?g8GWye}XaM6{c>xjI$`1j<#+Gni;b>BJ`<+uWQ~Z6YKx*5u}0v8F_`H%e!pn zbWQKAt;w_QlE0X=A^<c6eFR~*TVsi@m>{3s#g=wZm5I%6L|`nhZa62f{5qt`k?g?} z7pjp;aknhU4Dn4D#v;$l+GNkOcs|ZS1~?*gmof0dTLjs+K_wot*0ZkBPHjz45RaA_ zHm2?ha!(J=#W(M)RoY?r9TDI?oBl?|<u=ahLQ&4W|KF-CTI`L9(IYp@9|(ZvZ_|dn z_BGzCW6LR3joyYWs4jLX4_7$nAB`T&Qzo`*z)|?sHcGI=JR`H+v8Xh&zK1_WV#r8p zn@E(E)mH!9FB16}x$eKkB~To;(8deJ8lk@K%{$6KV`kpBb3IW2c<O+ZJ;_^5>S^~G zoP3pZ6JE`ZaYh(gTD}jT4u##!$PpIXeL9wYX74Za*`tJXfbP~-A+RzNLoDsB+hk)M zBOfe`m-r3#R%d!Yg1R-3=^1Pv9-h&Ut)7!1A#RKH;u+(s!otUNM&P3+b+8FWV-qF_ zX8-_b!rdoj>#X4;2ak?1B>y?yB9V@F#Gdp^KV=U8f;E5lIq))5vw=D0RVG%Dr251Y z2_yaa={4Xld_(!+eSVP?!$%o6!Zb0z)wrc3Tps(%D(_krNtWpN>hL1I(^=y~-bPdR zw|`+(Q+2H9$IZY;Yx0?+W|OsOcAx6~iaSx|&*eh}nFp(Gj|q7|NApQOb`|Ecp9b>3 zg7x{;x3TextkSoiI=?J{ub=vv@5rYuTLc?*BGY-QSBf7BzPz>1Tlp5B6;9T4UGzlk z<0vJ!mTzpmCFt}I6jNm1BpPR(a{r<qt}M8G)w_bGS#r=sSDz9eqnhnd*7NKxDvkd- zoqavZ{+GcW##A(pClfaBzRKVB$z5Zu<s*VXN-JE0>C<=qJ@-GmRRyYSk;Iy=r%>(` z&gK&rmC4xEL+ca|-=>4dICimEV0j&boN=sAptT-B#>o1!8-A&ae}xZ}Sny-vX%0Nd zWC;;hrrR$dT1o8~U^@GZ)QOVnSY{_y*yOrmP_Wt-iu7*vBWI@Ttt|ld##`(hY;npq zT@kF__{rTY&uEWQkfJ=?xFXLLt~avyZx<v;Wfk;0jrmMG_3y<hIQc9mSmKn=xumQ} zmfMX_MP>1Ej`^_SDTWAMq~TC8-is{Wt4~=@KlZO{V`g&Cy)-nFPg#+lHA{b@LWGdB zYwM32=9ytI`~S@p0IywGX!H2MzCsc@t(?)WRHrY(Y)op<i$}^d-M``6C7vtQSk~c7 zm*oaf)^+xo9>1^-e52vU#)htaYVABeof<W<cuB`fC!7S?IceZfGW6f>T1t^dvxI-M z@VXrm@<>Rj<~@vx14v?#q(<;+XE>Z<^=Tx%oU^3<8W-g4;AFQg@lk6dDA?*Gq|vw^ zQK)GfT;t7Eo=u5ruX})f?Z~CIvKY<Jdu|5mR^#Dqf>TNxoqKP#RJ!PMH7GZK#a2l^ z#p(DDL&n)4z$fP}Z$g#Grmk4r=Xelm(9mDDj1B$T+Z8M<idI?O0VE8Unm8QV*u!yD z3K9Ra%Nh@MHO>;?@Fo;hev*XFyNmqukR!N9Mt(p;_Hd**TxzMJwfZXN<wBtfEsh8N z)Z6P5uz3A<6`mAbRxI`|>QFk=kUhdMUUh_F!35ZD;L~L6*V^nxIAgRVZyUzZ4m%Zh zWYgBht!9csenZy=Uyu?}0d7k$xEzQR>E=W%>wb#IdNxyC)ckN&Gj$<u5|qJ8P{7z{ zxuee=X>ISg+Norn-T77cOO<sZPB68cjy_9|w*_H5@7zD~5s8#K#Ds`G?+yNiq`xzg zd8CjKNlC^-izo9aMhHiaW5m7!VYpnYSLn@^<5a~j>uvHX1bqxg2krHFt)J1;cdO;? zPtc<BXLLED=vO@9*XslrCWapVf%k?1s&|RARZF&lYKALgDt1oq_vjPu7JF;Y0hAOU z&i1yDN-JlvOoO_NoM*P@GRcctlrf2603M-uIOffi$PA&pbPIcW<rrXxax$zF8XZK8 zE6^M}Tj^M-Uff?ccM{O?2qzC6A69Ys6xIok-8mh+Bogl|Y=0=<y`}th+ft`QoU;dj z{<+C7@)8q9cUG$+{M}5Z=;pgToT{c9c!~m(`byK1AFx3U_}=5lVx6!>+u~4Ne~fhg zp%ok*MvHyMX&AGOl^sQ>9Ko9=uw=T$LXWO@R(4Qc#}uA9^La$ujm~HCGZ>b_Yia6d z7yU>Jd6iY%*kH!p3=++j{!S?-A?+DY`8$B`i)Ibsn>Ft6P)RuqDAD#nKg{pJ-Akzs z9|3A+Ms4T9lP4&2lIK!7U*Mqv!!#gG|J1O}Vx>ZHjL$;z{glAYfjMgK>xas8u;N71 zT7|PN;m_2M#$F#YepPJNvT}d2Ce-?u`hy2SSQsJ~xf#kw<!Vox)ZCQhEhF9H75>nM zGJyC)<5xiFXJr|cWMjX!&n7A0<$U&`{IN&ZJ`KCj=5K(~b2tx6LY4ascyOs&r2~~Z zvW%i%dN?d#03B!KrSNU^bhiKTXlsUAN=BvgOUZCvOgdhlhBhj=NDZ24mCY@-84A>5 z{1>5)+<3T4B9PmVA=k`Dm7s{4N5VvFNxO0HXHNo}`@%o)naiqUsIWu#i~Ezbw;TA# zYe_G;r^b~D@TsXp(oG2#V8(qeghkx1f{f8Lo=XO1$uxNrJ{aLV>X*k>6wV#F523uX zH*@=vQnYcOuLkHF;=u3?g&&Qh6sLCS^#ecu!K0J?P*P-5SU{vT1kSCFW*~PH_#lJ@ zqqq?y37{-0JUI9oJKixHu;9l#g`uqp(Q8e&NYemlA--=cDA(kbgP+2L&zD=Gjd}OW z0i{E*Zp~E)G$lTsM)%io6u)8w7ZFWkLe{i&be0CuJ4)6|9O37vudfI>jIzT4pCnm~ z`f9HcY+DQ^vMzNJpJalhactZKqVq`4GELM=PGiVrzs#wZmNi>wE(Yq*+<ScgA1cX< zF34@PaQIX*E(*72r~NYBPl~?CAcim(&Vp^cSrdpZ{fxS|`5&?^h4oND+Q6BbEUs<Y z*9rX4;gO}-pEaG!-XMzpU3dFTyw&TH=I8$o8%0w?4UpD2J_V1ss04q})o>CDEK*iW zahoZw<y_zU{{|f#tKdMTo7<g`CPk+slCz_8N~d8`5Hr;jfPrBTIHSG)p=q`LAJRl$ z8&ZjtiE=s54Li;e>#FfeiH|#uU#Oq1{_nIBQ8X9`X&zh^(KYyFKi$f`*U?Djq+qbc z93P2<J}aY_=l{@A5PuH<r6uR)mWvcrc9$~)ixj8&i&w0-?gfv7Er});_1_;7XY%)e z)sP#SRA5~^l2%10O$CEFwcxiZ(YGSdX(_RpAJqSMd4FM;A97(|s|<NBS}9xWlBr-% zB{N(KhyJod;8o7-f2SqR=C7S~4Ck~Z`78%aBIjRf6%Gnj!!Wl5{=W&+VLclX&e2FH zQE@}fk=C(=|A#P@N%OpkSJVHyXWt3rRDvujCs?hj{{5$C$EfLC>c4{j%lJqd@yuBn zU?!l3I`@w&BGbS6CDt5E#@yKCXU6~CNSiHGD#X2XjfxQ_gaX)FB6j`7<29H`-Un{0 z{{8P#NuzRAX5eeojFR4M?IBcs+M6z92aJNS$*2+x0^SX9$mYgsH&j$}0P?UA$`Dcb z(2)Jt;IZHRM)B7zvy{;74eAU>K#vWy^b+FwkA#vNlZxn*P$ABilWbTQ@l(sA!MOap zzRcJIK74ay_FjOb?+23Jz)7t)E+X<fruVSy+=DfBct4AxjeVIwy_k^C!6AB~L6YGJ z62goSyU#2?#{k|4=vG|t1xOO#%F!TMRY95X=>Z@9yKmrY3NJ(}zsT95P-+4B4&spN zYn_fW#7xRRZ3<4u2C<faco$VuAO@wdJZgtvi$tnBF5#r^dvn~nM?p?BI8L;{Cg>Zq z-fmq3L(}*MkS_bTK48rU@jbP{QEA1dBLb`z^SH3^4SJbwsAjcNM#b9-Hw_}GJzOY% g$waa+X7n2Zu-=ti;pEI1CRhLk85QYjNz>r}11(l8QUCw| diff --git a/customize.dist/openpaasng.png b/customize.dist/openpaasng.png deleted file mode 100644 index 54168332cd3bea1eaf3b41be53a50c3e8088f8ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5929 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 I(kSqM07I6Yy#N3J From 8ab9248a78c879bfee16fa9cb19769ff89aa5f3a Mon Sep 17 00:00:00 2001 From: Daniel RADEAU <daniel.radeau@alterway.fr> Date: Wed, 31 May 2017 12:42:37 +0200 Subject: [PATCH 188/236] Fix ES6 --- www/media/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/www/media/main.js b/www/media/main.js index 804eced6f..bc861d699 100644 --- a/www/media/main.js +++ b/www/media/main.js @@ -30,7 +30,7 @@ define([ var cryptKey = secret.keys && secret.keys.fileKeyStr; var fileId = secret.channel; var hexFileName = Cryptpad.base64ToHex(fileId); - var type = "image/png"; + // var type = "image/png"; var parsed = Cryptpad.parsePadUrl(window.location.href); var defaultName = Cryptpad.getDefaultName(parsed); @@ -105,7 +105,7 @@ define([ * * @type {Array} */ - const allowedMediaTypes = [ + var allowedMediaTypes = [ 'image/png', 'image/jpeg', 'image/jpg', From 82f5d3c96f6d55bb3dedf0e7a3712602bb335c40 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 12:51:26 +0200 Subject: [PATCH 189/236] abstract checks for authenticated RPCs --- rpc.js | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/rpc.js b/rpc.js index f108b1ab8..8be2f1df8 100644 --- a/rpc.js +++ b/rpc.js @@ -785,6 +785,24 @@ var upload_status = function (Env, publicKey, filesize, cb) { }); }; +var isAuthenticatedCall = function (call) { + return [ + //'COOKIE', + 'RESET', + 'PIN', + 'UNPIN', + 'GET_HASH', + 'GET_TOTAL_SIZE', + 'GET_FILE_SIZE', + 'UPDATE_LIMITS', + 'GET_LIMIT', + 'GET_MULTIPLE_FILE_SIZE', + 'UPLOAD', + 'UPLOAD_COMPLETE', + 'UPLOAD_CANCEL', + ].indexOf(call) !== -1; +}; + /*::const ConfigType = require('./config.example.js');*/ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)=>void*/) { // load pin-store... @@ -840,7 +858,6 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) beginSession(Sessions, publicKey); var cookie = msg[0]; - if (!isValidCookie(Sessions, publicKey, cookie)) { // no cookie is fine if the RPC is to get a cookie if (msg[1] !== 'COOKIE') { @@ -854,8 +871,10 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) return void respond('INVALID_MESSAGE_OR_PUBLIC_KEY'); } - if (checkSignature(serialized, signature, publicKey) !== true) { - return void respond("INVALID_SIGNATURE_OR_PUBLIC_KEY"); + if (isAuthenticatedCall(msg[1])) { + if (checkSignature(serialized, signature, publicKey) !== true) { + return void respond("INVALID_SIGNATURE_OR_PUBLIC_KEY"); + } } var safeKey = escapeKeyCharacters(publicKey); From 5050023b6a7d787a8b8201383296d17364bec342 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 31 May 2017 13:05:49 +0200 Subject: [PATCH 190/236] pinneddata can now show you what is unpinned --- pinneddata.js | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/pinneddata.js b/pinneddata.js index 0bf9be75f..2e8d6d6c7 100644 --- a/pinneddata.js +++ b/pinneddata.js @@ -26,14 +26,14 @@ const hashesFromPinFile = (pinFile, fileName) => { return Object.keys(pins); }; -const sizeForHashes = (hashes, dsFileSizes) => { +const sizeForHashes = (hashes, dsFileStats) => { let sum = 0; hashes.forEach((h) => { - const s = dsFileSizes[h]; + const s = dsFileStats[h]; if (typeof(s) !== 'number') { //console.log('missing ' + h + ' ' + typeof(s)); } else { - sum += s; + sum += s.size; } }); return sum; @@ -43,8 +43,9 @@ const sema = Semaphore.create(20); let dirList; const fileList = []; -const dsFileSizes = {}; +const dsFileStats = {}; const out = []; +const pinned = {}; nThen((waitFor) => { Fs.readdir('./datastore', waitFor((err, list) => { @@ -65,7 +66,7 @@ nThen((waitFor) => { sema.take((returnAfter) => { Fs.stat(f, waitFor(returnAfter((err, st) => { if (err) { throw err; } - dsFileSizes[f.replace(/^.*\/([^\/]*)\.ndjson$/, (all, a) => (a))] = st.size; + dsFileStats[f.replace(/^.*\/([^\/]*)\.ndjson$/, (all, a) => (a))] = st; }))); }); }); @@ -90,12 +91,25 @@ nThen((waitFor) => { Fs.readFile(f, waitFor(returnAfter((err, content) => { if (err) { throw err; } const hashes = hashesFromPinFile(content.toString('utf8'), f); - const size = sizeForHashes(hashes, dsFileSizes); - out.push([f, Math.floor(size / (1024 * 1024))]); + const size = sizeForHashes(hashes, dsFileStats); + if (process.argv.indexOf('--unpinned') > -1) { + hashes.forEach((x) => { pinned[x] = 1; }); + } else { + out.push([f, Math.floor(size / (1024 * 1024))]); + } }))); }); }); }).nThen(() => { - out.sort((a,b) => (a[1] - b[1])); - out.forEach((x) => { console.log(x[0] + ' ' + x[1] + ' MB'); }); + if (process.argv.indexOf('--unpinned') > -1) { + Object.keys(dsFileStats).forEach((f) => { + if (!(f in pinned)) { + console.log("./datastore/" + f.slice(0,2) + "/" + f + ".ndjson " + + dsFileStats[f].size + " " + (+dsFileStats[f].mtime)); + } + }); + } else { + out.sort((a,b) => (a[1] - b[1])); + out.forEach((x) => { console.log(x[0] + ' ' + x[1] + ' MB'); }); + } }); From f37b313efc89f02c3250cd0608336cbfbd60131d Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 31 May 2017 15:00:41 +0200 Subject: [PATCH 191/236] jshint node=true --- pinneddata.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinneddata.js b/pinneddata.js index 0bf9be75f..52cbb9d31 100644 --- a/pinneddata.js +++ b/pinneddata.js @@ -1,4 +1,4 @@ -/* jshint esversion: 6 */ +/* jshint esversion: 6, node: true */ const Fs = require('fs'); const Semaphore = require('saferphore'); const nThen = require('nthen'); From 087bcd2ea575bff42010e92e78f1e0f5d5a6b7ae Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 15:21:29 +0200 Subject: [PATCH 192/236] update default config with new CSP values --- config.example.js | 4 +- config.modifs.js | 233 ---------------------------------------------- 2 files changed, 3 insertions(+), 234 deletions(-) delete mode 100644 config.modifs.js diff --git a/config.example.js b/config.example.js index be7682162..d5b0c5dbf 100644 --- a/config.example.js +++ b/config.example.js @@ -35,11 +35,13 @@ module.exports = { */ "child-src 'self' *", + "media-src *", + /* this allows connections over secure or insecure websockets if you are deploying to production, you'll probably want to remove the ws://* directive, and change '*' to your domain */ - "connect-src 'self' ws: wss:", + "connect-src 'self' ws: wss: blob:", // data: is used by codemirror "img-src 'self' data: blob:", diff --git a/config.modifs.js b/config.modifs.js deleted file mode 100644 index 1216b3c98..000000000 --- a/config.modifs.js +++ /dev/null @@ -1,233 +0,0 @@ -/*@flow*/ -/* - globals module -*/ -module.exports = { - - // the address you want to bind to, :: means all ipv4 and ipv6 addresses - // this may not work on all operating systems - httpAddress: '::', - - // the port on which your httpd will listen - - /* Cryptpad can be configured to send customized HTTP Headers - * These settings may vary widely depending on your needs - * Examples are provided below - */ - - httpHeaders: { - "X-XSS-Protection": "1; mode=block", - "X-Content-Type-Options": "nosniff", - // 'X-Frame-Options': 'SAMEORIGIN', - }, - - contentSecurity: [ - "default-src 'none'", - "style-src 'unsafe-inline' 'self'", - "script-src 'self'", - "font-src 'self'", - - /* child-src is used to restrict iframes to a set of allowed domains. - * connect-src is used to restrict what domains can connect to the websocket. - * - * it is recommended that you configure these fields to match the - * domain which will serve your cryptpad instance. - */ - "child-src 'self' *", - - /* this allows connections over secure or insecure websockets - if you are deploying to production, you'll probably want to remove - the ws://* directive, and change '*' to your domain - */ - "connect-src 'self' ws: wss: blob:", - - // data: is used by codemirror - "img-src 'self' data: blob:", - "media-src 'self' data: blob:" - ].join('; '), - - // CKEditor requires significantly more lax content security policy in order to function. - padContentSecurity: [ - "default-src 'none'", - "style-src 'unsafe-inline' 'self'", - // Unsafe inline, unsafe-eval are needed for ckeditor :( - "script-src 'self' 'unsafe-eval' 'unsafe-inline'", - "font-src 'self'", - - /* See above under 'contentSecurity' as to how these values should be - * configured for best effect. - */ - "child-src 'self' *", - - // see the comment above in the 'contentSecurity' section - "connect-src 'self' ws: wss: blob:", - - // (insecure remote) images are included by users of the wysiwyg who embed photos in their pads - "img-src *", - "media-src *" - ].join('; '), - - httpPort: 3000, - - /* your server's websocket url is configurable - * (default: '/cryptpad_websocket') - * - * websocketPath can be relative, of the form '/path/to/websocket' - * or absolute, specifying a particular URL - * - * 'wss://cryptpad.fr:3000/cryptpad_websocket' - */ - websocketPath: '/cryptpad_websocket', - - /* it is assumed that your websocket will bind to the same port as http - * you can override this behaviour by supplying a number via websocketPort - */ - //websocketPort: 3000, - - /* if you want to run a different version of cryptpad but using the same websocket - * server, you should use the other server port as websocketPort and disable - * the websockets on that server - */ - //useExternalWebsocket: false, - - /* If Cryptpad is proxied without using https, the server needs to know. - * Specify 'useSecureWebsockets: true' so that it can send - * Content Security Policy Headers that prevent http and https from mixing - */ - useSecureWebsockets: false, - - /* Cryptpad can log activity to stdout - * This may be useful for debugging - */ - logToStdout: false, - - /* Cryptpad supports verbose logging - * (false by default) - */ - verbose: false, - - /* Main pages - * add exceptions to the router so that we can access /privacy.html - * and other odd pages - */ - mainPages: [ - 'index', - 'privacy', - 'terms', - 'about', - 'contact', - ], - - /* Domain - * If you want to have enable payments on your CryptPad instance, it has to be able to tell - * our account server what is your domain - */ - // domain: 'https://cryptpad.fr', - - /* - You have the option of specifying an alternative storage adaptor. - These status of these alternatives are specified in their READMEs, - which are available at the following URLs: - - mongodb: a noSQL database - https://github.com/xwiki-labs/cryptpad-mongo-store - amnesiadb: in memory storage - https://github.com/xwiki-labs/cryptpad-amnesia-store - leveldb: a simple, fast, key-value store - https://github.com/xwiki-labs/cryptpad-level-store - sql: an adaptor for a variety of sql databases via knexjs - https://github.com/xwiki-labs/cryptpad-sql-store - - For the most up to date solution, use the default storage adaptor. - */ - storage: './storage/file', - - /* - Cryptpad stores each document in an individual file on your hard drive. - Specify a directory where files should be stored. - It will be created automatically if it does not already exist. - */ - filePath: './datastore/', - - /* CryptPad allows logged in users to request that particular documents be - * stored by the server indefinitely. This is called 'pinning'. - * Pin requests are stored in a pin-store. The location of this store is - * defined here. - */ - pinPath: './pins', - - /* CryptPad allows logged in users to upload encrypted files. Files/blobs - * are stored in a 'blob-store'. Set its location here. - */ - blobPath: './blob', - - /* CryptPad stores incomplete blobs in a 'staging' area until they are - * fully uploaded. Set its location here. - */ - blobStagingPath: './blobstage', - - /* Cryptpad's file storage adaptor closes unused files after a configurale - * number of milliseconds (default 30000 (30 seconds)) - */ - channelExpirationMs: 30000, - - /* Cryptpad's file storage adaptor is limited by the number of open files. - * When the adaptor reaches openFileLimit, it will clean up older files - */ - openFileLimit: 2048, - - /* Cryptpad's socket server can be extended to respond to RPC calls - * you can configure it to respond to custom RPC calls if you like. - * provide the path to your RPC module here, or `false` if you would - * like to disable the RPC interface completely - */ - rpc: './rpc.js', - - /* RPC errors are shown by default, but if you really don't care, - * you can suppress them - */ - suppressRPCErrors: false, - - - /* WARNING: EXPERIMENTAL - * - * CryptPad features experimental support for encrypted file upload. - * Our encryption format is still liable to change. As such, we do not - * guarantee that files uploaded now will be supported in the future - */ - - /* Setting this value to anything other than true will cause file upload - * attempts to be rejected outright. - */ - enableUploads: true, - - /* If you have enabled file upload, you have the option of restricting it - * to a list of users identified by their public keys. If this value is set - * to true, your server will query a file (cryptpad/privileged.conf) when - * users connect via RPC. Only users whose public keys can be found within - * the file will be allowed to upload. - * - * privileged.conf uses '#' for line comments, and splits keys by newline. - * This is a temporary measure until a better quota system is in place. - * registered users' public keys can be found on the settings page. - */ - restrictUploads: false, - - /* clients can use the /settings/ app to opt out of usage feedback - * which informs the server of things like how much each app is being - * used, and whether certain clientside features are supported by - * the client's browser. The intent is to provide feedback to the admin - * such that the service can be improved. Enable this with `true` - * and ignore feedback with `false` or by commenting the attribute - */ - //logFeedback: true, - - /* it is recommended that you serve cryptpad over https - * the filepaths below are used to configure your certificates - */ - //privKeyAndCertFiles: [ - // '/etc/apache2/ssl/my_secret.key', - // '/etc/apache2/ssl/my_public_cert.crt', - // '/etc/apache2/ssl/my_certificate_authorities_cert_chain.ca' - //], -}; From 401e908963643c6bf50e3267d806bfb1fe1adaa4 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 17:17:01 +0200 Subject: [PATCH 193/236] use media-tag with xhr error handling --- www/common/media-tag.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/media-tag.js b/www/common/media-tag.js index 446bdd77e..d5d1143e9 100644 --- a/www/common/media-tag.js +++ b/www/common/media-tag.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(25),i=n(24),u=n(44),a=n(45),c=n(23),s=n(22);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(36),u=n(41),a=n(40),c=n(37),s=n(38),f=n(7),l=n(26),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(20),h=n(19);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h);var b=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download");r.processingEngine.setDefaultPlugin(b),r.CryptoFilter=f;var v=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(v);var g=n(21),d=(n(13),n(0),new g);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",s.getAllowedMediaTypes()),e.name=t.name,e.setAttribute("data-attr-type",t.type)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var i=n.content,u=y.getBlobUrl(i,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([i],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(14),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(14),a=n(1),c=n(46),s=n(13),f=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[],this.defaultPlugin=null}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===s.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");if(0===this.stacks[n].length&&!this.stats[n][a.RENDERER]){if(!this.defaultPlugin)throw new Error("No default plugin assignated");this.stacks[n].unshift(this.defaultPlugin)}}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}},{key:"setDefaultPlugin",value:function(e){this.defaultPlugin=e}}]),e}();f.STACK_LIMIT=100,f.SNAPSHOT_LIMIT=100,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){}),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var n=t.response;if(n)if(e.name)saveAs(n,e.name);else if(e.getAttribute("data-attr-type")){var r=e.getAttribute("data-attr-type"),o=r.split("/"),i=new File([n],"download."+(o[1]||"txt"),{type:r});saveAs(i)}else saveAs(n)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(t){function r(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function o(e){e||console.log("no event"),0===e.buttons?i===t.numPages?i=1:i++:4===e.buttons&&(1===i?i=t.numPages:i--)}var i=1;t.getPage(i).then(function(e){r(e)}),n.onclick=function(e){o(e),t.getPage(i).then(function(e){r(e)})},s.processingEngine.return(e)},function(e){console.error(e)})}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(16),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(32),o=n(29),i=n(34),u=n(33),a=n(30),c=n(31),s=n(28),f=n(27),l=n(35),p=n(2);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(15)}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(25),i=n(24),u=n(44),a=n(45),c=n(23),s=n(22);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(36),u=n(41),a=n(40),c=n(37),s=n(38),f=n(7),l=n(26),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(20),h=n(19);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h);var b=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download");r.processingEngine.setDefaultPlugin(b),r.CryptoFilter=f;var v=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(v);var g=n(21),d=(n(13),n(0),new g);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",s.getAllowedMediaTypes()),e.name=t.name,e.setAttribute("data-attr-type",t.type)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer";var u=function(e){var t=new Event("decryptionError");t.message="string"==typeof e?e:e.message,window.document.dispatchEvent(t)};i.onload=function(){if(/^4/.test(""+this.status))return u("XHR_ERROR",""+this.status);var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t)return u(t);var r=n.content,i=y.getBlobUrl(r,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([r],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",i),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(14),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(14),a=n(1),c=n(46),s=n(13),f=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[],this.defaultPlugin=null}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===s.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");if(0===this.stacks[n].length&&!this.stats[n][a.RENDERER]){if(!this.defaultPlugin)throw new Error("No default plugin assignated");this.stacks[n].unshift(this.defaultPlugin)}}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}},{key:"setDefaultPlugin",value:function(e){this.defaultPlugin=e}}]),e}();f.STACK_LIMIT=100,f.SNAPSHOT_LIMIT=100,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){}),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var n=t.response;if(n)if(e.name)saveAs(n,e.name);else if(e.getAttribute("data-attr-type")){var r=e.getAttribute("data-attr-type"),o=r.split("/"),i=new File([n],"download."+(o[1]||"txt"),{type:r});saveAs(i)}else saveAs(n)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(t){function r(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function o(e){e||console.log("no event"),0===e.buttons?i===t.numPages?i=1:i++:4===e.buttons&&(1===i?i=t.numPages:i--)}var i=1;t.getPage(i).then(function(e){r(e)}),n.onclick=function(e){o(e),t.getPage(i).then(function(e){r(e)})},s.processingEngine.return(e)},function(e){console.error(e)})}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(16),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(32),o=n(29),i=n(34),u=n(33),a=n(30),c=n(31),s=n(28),f=n(27),l=n(35),p=n(2);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(15)}])}); \ No newline at end of file From 105e5cdac987049c0f7446819c591fe88b8f88cb Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 18:01:12 +0200 Subject: [PATCH 194/236] fix 'undefined/' userHash --- www/common/cryptpad-common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 0c68d425c..1576275c7 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -246,7 +246,7 @@ define([ var getUserHash = common.getUserHash = function () { var hash = localStorage[userHashKey]; - if (hash) { + if (hash && ['undefined', 'undefined/'].indexOf(hash) !== -1) { var sHash = common.serializeHash(hash); if (sHash !== hash) { localStorage[userHashKey] = sHash; } } From 936bf8df9d8ce1f694765daf3a5fddbbfbb7dd3c Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 18:08:41 +0200 Subject: [PATCH 195/236] return falsey if userHash is junk --- www/common/cryptpad-common.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 1576275c7..93dc1a4fc 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -246,10 +246,10 @@ define([ var getUserHash = common.getUserHash = function () { var hash = localStorage[userHashKey]; - if (hash && ['undefined', 'undefined/'].indexOf(hash) !== -1) { + if (hash && ['undefined', 'undefined/'].indexOf(hash) === -1) { var sHash = common.serializeHash(hash); if (sHash !== hash) { localStorage[userHashKey] = sHash; } - } + } else { return; } return hash; }; From 2e03485db4f29e7a30b7bd94e916f0e400f72bf9 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 18:12:58 +0200 Subject: [PATCH 196/236] remove known bad entries from localStorage.userHash... --- www/common/cryptpad-common.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 93dc1a4fc..ee9daeb49 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -246,10 +246,15 @@ define([ var getUserHash = common.getUserHash = function () { var hash = localStorage[userHashKey]; - if (hash && ['undefined', 'undefined/'].indexOf(hash) === -1) { + if (['undefined', 'undefined/'].indexOf(hash) === -1) { + localStorage.removeItem(userHashKey); + return; + } + + if (hash) { var sHash = common.serializeHash(hash); if (sHash !== hash) { localStorage[userHashKey] = sHash; } - } else { return; } + } return hash; }; From 7b94106bac52233d7d27cc728f062b09c880ab77 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 18:15:31 +0200 Subject: [PATCH 197/236] fix inverted conditional :/ --- www/common/cryptpad-common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index ee9daeb49..039d2c4a0 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -246,7 +246,7 @@ define([ var getUserHash = common.getUserHash = function () { var hash = localStorage[userHashKey]; - if (['undefined', 'undefined/'].indexOf(hash) === -1) { + if (['undefined', 'undefined/'].indexOf(hash) !== -1) { localStorage.removeItem(userHashKey); return; } From 30f66ab7ba9009026ceb2d43a7b0210d6719064f Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 31 May 2017 18:44:44 +0200 Subject: [PATCH 198/236] hotfix 'undefined/' bug --- www/common/cryptpad-common.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 20927dc04..794555ed8 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -242,6 +242,11 @@ define([ var getUserHash = common.getUserHash = function () { var hash = localStorage[userHashKey]; + if (['undefined', 'undefined/'].indexOf(hash) !== -1) { + localStorage.removeItem(userHashKey); + return; + } + if (hash) { var sHash = common.serializeHash(hash); if (sHash !== hash) { localStorage[userHashKey] = sHash; } From 24f37ea414801a345d40c761b1459213b55994a9 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 31 May 2017 19:40:17 +0200 Subject: [PATCH 199/236] Delicious testing --- TestSelenium.js | 41 +++++++++++++++++++++++++++-------------- www/auth/main.js | 8 +++++++- www/common/test.js | 30 ++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 15 deletions(-) create mode 100644 www/common/test.js diff --git a/TestSelenium.js b/TestSelenium.js index 9623577b5..dcbeacaef 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -1,5 +1,6 @@ /* global process */ var WebDriver = require("selenium-webdriver"); +var nThen = require('nthen'); if (process.env.TRAVIS_PULL_REQUEST && process.env.TRAVIS_PULL_REQUEST !== 'false') { // We can't do saucelabs on pull requests so don't fail. @@ -21,18 +22,30 @@ if (process.env.SAUCE_USERNAME !== undefined) { driver = new WebDriver.Builder().withCapabilities({ browserName: "chrome" }).build(); } -driver.get('http://localhost:3000/assert/'); -var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000); -report.getAttribute("class").then(function (cls) { - report.getText().then(function (text) { - console.log("\n-----\n" + text + "\n-----"); - driver.quit(); - if (!cls) { - throw new Error("cls is null"); - } else if (cls.indexOf("failure") !== -1) { - throw new Error("cls contains the word failure"); - } else if (cls.indexOf("success") === -1) { - throw new Error("cls does not contain the word success"); - } - }); +var nt = nThen; +[ + '/assert/', + '/auth/#?test=test' +].forEach(function (path) { + var url = 'http://localhost:3000' + path; + nt = nThen(function (waitFor) { + driver.get(url); + var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000); + report.getAttribute("class").then(waitFor(function (cls) { + report.getText().then(waitFor(function (text) { + console.log("\n-----\n" + url + ' ' + text + "\n-----"); + if (!cls) { + throw new Error("cls is null"); + } else if (cls.indexOf("failure") !== -1) { + throw new Error("cls contains the word failure"); + } else if (cls.indexOf("success") === -1) { + throw new Error("cls does not contain the word success"); + } + })); + })); + }).nThen; }); + +nt(function () { + driver.quit(); +}) \ No newline at end of file diff --git a/www/auth/main.js b/www/auth/main.js index 747434c23..577e1e966 100644 --- a/www/auth/main.js +++ b/www/auth/main.js @@ -1,8 +1,9 @@ define([ 'jquery', '/common/cryptpad-common.js', + '/common/test.js', '/bower_components/tweetnacl/nacl-fast.min.js' -], function ($, Cryptpad) { +], function ($, Cryptpad, Test) { var Nacl = window.nacl; var signMsg = function (msg, privKey) { @@ -23,6 +24,11 @@ define([ Cryptpad.ready(function () { console.log('IFRAME READY'); + Test(function () { + // This is only here to maybe trigger an error. + window.drive = Cryptpad.getStore().getProxy().proxy['drive']; + Test.passed(); + }); $(window).on("message", function (jqe) { var evt = jqe.originalEvent; var data = JSON.parse(evt.data); diff --git a/www/common/test.js b/www/common/test.js new file mode 100644 index 000000000..2536f0733 --- /dev/null +++ b/www/common/test.js @@ -0,0 +1,30 @@ +define([], function () { + var out = function () { }; + if (window.location.hash.indexOf("?test=test") > -1) { + window.onerror = function (msg, url, lineNo, columnNo, e) { + document.body.innerHTML = '<div class="report fail">' + + JSON.stringify([ + msg, + url, + lineNo, + columnNo, + e ? e.message : null, + e ? e.stack : null + ]).replace(/</g, '') + + '</div>'; + }; + require.onError = function (e) { + document.body.innerHTML = '<div class="report fail">' + + JSON.stringify([ + e ? e.message : null, + e ? e.stack : null + ]).replace(/</g, '') + + '</div>'; + }; + out = function (f) { f(); } + } + out.passed = function () { + document.body.innerHTML = '<div class="report success">Test Passed</div>'; + } + return out; +}); \ No newline at end of file From 0d4b74cfbab7d7986b13f00bd16a123e69c84efc Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 31 May 2017 19:46:23 +0200 Subject: [PATCH 200/236] ;;;;;; keep these ;;; for later ;;;;; --- TestSelenium.js | 2 +- www/common/test.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TestSelenium.js b/TestSelenium.js index dcbeacaef..83b276a40 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -48,4 +48,4 @@ var nt = nThen; nt(function () { driver.quit(); -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/www/common/test.js b/www/common/test.js index 2536f0733..2d70e939f 100644 --- a/www/common/test.js +++ b/www/common/test.js @@ -21,10 +21,10 @@ define([], function () { ]).replace(/</g, '') + '</div>'; }; - out = function (f) { f(); } + out = function (f) { f(); }; } out.passed = function () { document.body.innerHTML = '<div class="report success">Test Passed</div>'; - } + }; return out; }); \ No newline at end of file From 3ca41d8df7fcad03c98f5f7afa85b9cd54c0cc0a Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 31 May 2017 20:49:03 +0200 Subject: [PATCH 201/236] Change the testing matrix --- .travis.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4160b8719..df4140ddc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,11 @@ language: node_js env: matrix: - - "BROWSER='firefox:19:Windows 2012'" - - "BROWSER='chrome::Windows 2008'" + - "BROWSER='firefox::Windows 10'" + - "BROWSER='chrome::Windows 10'" + - "BROWSER='MicrosoftEdge:14.14393:Windows 10'" + - "BROWSER='internet explorer:11.103:Windows 10'"" + - "BROWSER='safari:10.0:macOS 10.12'" branches: only: - master From 68296e9d23ca6fef8370f93f4221fad7f36701c4 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 31 May 2017 20:51:56 +0200 Subject: [PATCH 202/236] one too many quote marks --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index df4140ddc..a535229b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ env: - "BROWSER='firefox::Windows 10'" - "BROWSER='chrome::Windows 10'" - "BROWSER='MicrosoftEdge:14.14393:Windows 10'" - - "BROWSER='internet explorer:11.103:Windows 10'"" + - "BROWSER='internet explorer:11.103:Windows 10'" - "BROWSER='safari:10.0:macOS 10.12'" branches: only: From 7d557df74bb384a56e2fef762a094dd7b39aa9ef Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 31 May 2017 23:29:58 +0200 Subject: [PATCH 203/236] a new and more horrible way of sniffing the logs out of the instance --- TestSelenium.js | 17 +++++++++-- www/assert/main.js | 1 + www/common/test.js | 72 ++++++++++++++++++++++++++++++++++------------ 3 files changed, 69 insertions(+), 21 deletions(-) diff --git a/TestSelenium.js b/TestSelenium.js index 83b276a40..8e160a7f2 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -22,17 +22,30 @@ if (process.env.SAUCE_USERNAME !== undefined) { driver = new WebDriver.Builder().withCapabilities({ browserName: "chrome" }).build(); } +var SC_GET_LOGS = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__.getLogs() : '[]'"; + var nt = nThen; [ - '/assert/', + '/assert/#?test=test', '/auth/#?test=test' ].forEach(function (path) { var url = 'http://localhost:3000' + path; nt = nThen(function (waitFor) { driver.get(url); + var done = false; + var logMore = function (cb) { + if (done) { return; } + driver.executeScript(SC_GET_LOGS).then(waitFor(function (logs) { + JSON.parse(logs).forEach(function (l) { console.log('>' + l); }); + if (cb) { cb(); } else { setTimeout(logMore, 50); } + })); + }; + logMore(); + driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000); var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000); report.getAttribute("class").then(waitFor(function (cls) { report.getText().then(waitFor(function (text) { + logMore(function () { done = true; }); console.log("\n-----\n" + url + ' ' + text + "\n-----"); if (!cls) { throw new Error("cls is null"); @@ -48,4 +61,4 @@ var nt = nThen; nt(function () { driver.quit(); -}); \ No newline at end of file +}) \ No newline at end of file diff --git a/www/assert/main.js b/www/assert/main.js index ffab3f5a9..560d10fd8 100644 --- a/www/assert/main.js +++ b/www/assert/main.js @@ -4,6 +4,7 @@ define([ '/bower_components/textpatcher/TextPatcher.amd.js', 'json.sortify', '/common/cryptpad-common.js', + '/common/test.js' ], function ($, Hyperjson, TextPatcher, Sortify, Cryptpad) { window.Hyperjson = Hyperjson; window.TextPatcher = TextPatcher; diff --git a/www/common/test.js b/www/common/test.js index 2d70e939f..793bfd1b4 100644 --- a/www/common/test.js +++ b/www/common/test.js @@ -1,30 +1,64 @@ define([], function () { var out = function () { }; + out.passed = out; + var mkReport = function (list, pass) { + var rpt = document.createElement('div'); + rpt.textContent = JSON.stringify(list); + rpt.setAttribute('class', 'report ' + (pass ? 'success' : 'failure')); + rpt.setAttribute('style', 'display:none;'); + document.body.appendChild(rpt); + } if (window.location.hash.indexOf("?test=test") > -1) { window.onerror = function (msg, url, lineNo, columnNo, e) { - document.body.innerHTML = '<div class="report fail">' + - JSON.stringify([ - msg, - url, - lineNo, - columnNo, - e ? e.message : null, - e ? e.stack : null - ]).replace(/</g, '') + - '</div>'; + mkReport([ + msg, + url, + lineNo, + columnNo, + e ? e.message : null, + e ? e.stack : null + ]); }; require.onError = function (e) { - document.body.innerHTML = '<div class="report fail">' + - JSON.stringify([ - e ? e.message : null, - e ? e.stack : null - ]).replace(/</g, '') + - '</div>'; + mkReport([ + e ? e.message : null, + e ? e.stack : null + ]); }; out = function (f) { f(); }; + out.passed = function () { mkReport("Test Passed", true); }; + + var cpt = window.__CRYPTPAD_TEST__ = { + logs: [], + getLogs: function () { + var logs = JSON.stringify(cpt.logs); + cpt.logs = []; + return logs; + } + }; + + // jshint -W103 + var errProto = (new Error()).__proto__; + var doLog = function (o) { + var s; + if (typeof(o) === 'object' && o.__proto__ === errProto) { + s = JSON.stringify([ o.message, o.stack ]); + } else if (typeof(s) !== 'string') { + try { + s = JSON.stringify(o); + } catch (e) { + s = String(o); + } + } + var out = [s]; + try { throw new Error(); } catch (e) { out.push(e.stack.split('\n')[3]); } + window.__CRYPTPAD_TEST__.logs.push(out); + }; + + window.console._error = window.console.error; + window.console._log = window.console.log; + window.console.error = function (e) { window.console._error(e); doLog(e); }; + window.console.log = function (l) { window.console._log(l); doLog(l); }; } - out.passed = function () { - document.body.innerHTML = '<div class="report success">Test Passed</div>'; - }; return out; }); \ No newline at end of file From 244bd7b3789325fc10bb89f294a8aa7cac747a9f Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Wed, 31 May 2017 23:32:47 +0200 Subject: [PATCH 204/236] ;;; --- TestSelenium.js | 2 +- www/common/test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TestSelenium.js b/TestSelenium.js index 8e160a7f2..e4e9b8a4b 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -61,4 +61,4 @@ var nt = nThen; nt(function () { driver.quit(); -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/www/common/test.js b/www/common/test.js index 793bfd1b4..cc5bc2844 100644 --- a/www/common/test.js +++ b/www/common/test.js @@ -7,7 +7,7 @@ define([], function () { rpt.setAttribute('class', 'report ' + (pass ? 'success' : 'failure')); rpt.setAttribute('style', 'display:none;'); document.body.appendChild(rpt); - } + }; if (window.location.hash.indexOf("?test=test") > -1) { window.onerror = function (msg, url, lineNo, columnNo, e) { mkReport([ From 71bd808e4f800511bfc8eef475ee3431b75089bb Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 1 Jun 2017 00:09:39 +0200 Subject: [PATCH 205/236] Send everything through the test global function --- TestSelenium.js | 62 ++++++++++++++++++++++---------------- www/assert/main.js | 8 ++++- www/common/test.js | 74 +++++++++++++++++++++++++--------------------- 3 files changed, 85 insertions(+), 59 deletions(-) diff --git a/TestSelenium.js b/TestSelenium.js index e4e9b8a4b..562fb29c1 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -22,43 +22,55 @@ if (process.env.SAUCE_USERNAME !== undefined) { driver = new WebDriver.Builder().withCapabilities({ browserName: "chrome" }).build(); } -var SC_GET_LOGS = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__.getLogs() : '[]'"; +var SC_GET_DATA = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__.getData() : '[]'"; +var failed = false; var nt = nThen; [ '/assert/#?test=test', '/auth/#?test=test' ].forEach(function (path) { + if (failed) { return; } var url = 'http://localhost:3000' + path; - nt = nThen(function (waitFor) { + nt = nt(function (waitFor) { + var done = waitFor(); + console.log('\n\n-----TEST ' + url + ' -----'); driver.get(url); - var done = false; - var logMore = function (cb) { - if (done) { return; } - driver.executeScript(SC_GET_LOGS).then(waitFor(function (logs) { - JSON.parse(logs).forEach(function (l) { console.log('>' + l); }); - if (cb) { cb(); } else { setTimeout(logMore, 50); } + var waitTo = setTimeout(function () { + console.log("no report in 10 seconds, timing out"); + failed = true; + }, 10000); + var logMore = function () { + driver.executeScript(SC_GET_DATA).then(waitFor(function (dataS) { + var data = JSON.parse(dataS); + data.forEach(function (d) { + if (d.type !== 'log') { return; } + console.log('>' + d.val); + }); + data.forEach(function (d) { + if (d.type !== 'report') { return; } + console.log('RESULT: ' + d.val); + if (d.val !== 'passed') { + if (d.error) { + console.log(d.error.message); + console.log(d.error.stack); + } + failed = true; + } + clearTimeout(waitTo); + console.log('-----END TEST ' + url + ' -----'); + done(); + done = undefined; + }); + if (done) { setTimeout(logMore, 50); } })); }; logMore(); - driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000); - var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000); - report.getAttribute("class").then(waitFor(function (cls) { - report.getText().then(waitFor(function (text) { - logMore(function () { done = true; }); - console.log("\n-----\n" + url + ' ' + text + "\n-----"); - if (!cls) { - throw new Error("cls is null"); - } else if (cls.indexOf("failure") !== -1) { - throw new Error("cls contains the word failure"); - } else if (cls.indexOf("success") === -1) { - throw new Error("cls does not contain the word success"); - } - })); - })); }).nThen; }); -nt(function () { - driver.quit(); +nt(function (waitFor) { + driver.quit().then(waitFor(function () { + if (failed) { process.exit(100); } + })); }); \ No newline at end of file diff --git a/www/assert/main.js b/www/assert/main.js index 560d10fd8..66ac5eb7b 100644 --- a/www/assert/main.js +++ b/www/assert/main.js @@ -5,7 +5,7 @@ define([ 'json.sortify', '/common/cryptpad-common.js', '/common/test.js' -], function ($, Hyperjson, TextPatcher, Sortify, Cryptpad) { +], function ($, Hyperjson, TextPatcher, Sortify, Cryptpad, Test) { window.Hyperjson = Hyperjson; window.TextPatcher = TextPatcher; window.Sortify = Sortify; @@ -268,6 +268,12 @@ The test returned: var $report = $('.report'); $report.addClass(failed?'failure':'success'); + + if (failed) { + Test.failed(); + } else { + Test.passed(); + } }); }); diff --git a/www/common/test.js b/www/common/test.js index cc5bc2844..b56237689 100644 --- a/www/common/test.js +++ b/www/common/test.js @@ -1,39 +1,13 @@ define([], function () { var out = function () { }; - out.passed = out; - var mkReport = function (list, pass) { - var rpt = document.createElement('div'); - rpt.textContent = JSON.stringify(list); - rpt.setAttribute('class', 'report ' + (pass ? 'success' : 'failure')); - rpt.setAttribute('style', 'display:none;'); - document.body.appendChild(rpt); - }; + out.passed = out.failed = out; if (window.location.hash.indexOf("?test=test") > -1) { - window.onerror = function (msg, url, lineNo, columnNo, e) { - mkReport([ - msg, - url, - lineNo, - columnNo, - e ? e.message : null, - e ? e.stack : null - ]); - }; - require.onError = function (e) { - mkReport([ - e ? e.message : null, - e ? e.stack : null - ]); - }; - out = function (f) { f(); }; - out.passed = function () { mkReport("Test Passed", true); }; - var cpt = window.__CRYPTPAD_TEST__ = { - logs: [], - getLogs: function () { - var logs = JSON.stringify(cpt.logs); - cpt.logs = []; - return logs; + data: [], + getData: function () { + var data = JSON.stringify(cpt.data); + cpt.data = []; + return data; } }; @@ -52,13 +26,47 @@ define([], function () { } var out = [s]; try { throw new Error(); } catch (e) { out.push(e.stack.split('\n')[3]); } - window.__CRYPTPAD_TEST__.logs.push(out); + cpt.data.push({ type: 'log', val: out.join('') }); }; window.console._error = window.console.error; window.console._log = window.console.log; window.console.error = function (e) { window.console._error(e); doLog(e); }; window.console.log = function (l) { window.console._log(l); doLog(l); }; + + window.onerror = function (msg, url, lineNo, columnNo, e) { + cpt.data.push({ + type: 'report', + val: 'failed', + error: { + message: e ? e.message : msg, + stack: e ? e.stack : (url + ":" + lineNo) + } + }); + }; + require.onError = function (e) { + cpt.data.push({ + type: 'report', + val: 'failed', + error: { message: e.message, stack: e.stack } + }); + }; + out = function (f) { f(); }; + out.passed = function () { + cpt.data.push({ + type: 'report', + val: 'passed' + }); + }; + out.failed = function (reason) { + var e; + try { throw new Error(reason); } catch (err) { e = err; } + cpt.data.push({ + type: 'report', + val: 'failed', + error: { message: e.message, stack: e.stack } + }); + }; } return out; }); \ No newline at end of file From c8bd1bb2ac5695c1806211cc8b8009f80b20463f Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 1 Jun 2017 00:29:17 +0200 Subject: [PATCH 206/236] Trying to improve the tests which fail always when running remotely --- TestSelenium.js | 7 +++++-- www/assert/main.js | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/TestSelenium.js b/TestSelenium.js index 562fb29c1..f9418a361 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -37,10 +37,13 @@ var nt = nThen; console.log('\n\n-----TEST ' + url + ' -----'); driver.get(url); var waitTo = setTimeout(function () { - console.log("no report in 10 seconds, timing out"); + console.log("no report in 20 seconds, timing out"); failed = true; - }, 10000); + done(); + done = undefined; + }, 20000); var logMore = function () { + if (!done) { return; } driver.executeScript(SC_GET_DATA).then(waitFor(function (dataS) { var data = JSON.parse(dataS); data.forEach(function (d) { diff --git a/www/assert/main.js b/www/assert/main.js index 66ac5eb7b..d47ec0210 100644 --- a/www/assert/main.js +++ b/www/assert/main.js @@ -29,6 +29,7 @@ define([ ASSERTS.forEach(function (f, index) { f(function (err) { + console.log("test " + index); done(err, index); }, index); }); From 92ab8d88ba22ae2782c1ef1608f9e39ee25bc62e Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 1 Jun 2017 00:41:31 +0200 Subject: [PATCH 207/236] accept defeat --- TestSelenium.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestSelenium.js b/TestSelenium.js index f9418a361..c3c36fabd 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -28,7 +28,7 @@ var failed = false; var nt = nThen; [ '/assert/#?test=test', - '/auth/#?test=test' + // '/auth/#?test=test' // TODO(cjd): Not working on automatic tests, understand why. ].forEach(function (path) { if (failed) { return; } var url = 'http://localhost:3000' + path; From 50082cfd19827793805792adb5b65e70c1af03fc Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 1 Jun 2017 00:50:36 +0200 Subject: [PATCH 208/236] Remove safari which is failing weirdly and fix race --- .travis.yml | 2 +- TestSelenium.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a535229b7..d37176da5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ env: - "BROWSER='chrome::Windows 10'" - "BROWSER='MicrosoftEdge:14.14393:Windows 10'" - "BROWSER='internet explorer:11.103:Windows 10'" - - "BROWSER='safari:10.0:macOS 10.12'" + #- "BROWSER='safari:10.0:macOS 10.12'" branches: only: - master diff --git a/TestSelenium.js b/TestSelenium.js index c3c36fabd..82dc1fbc7 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -45,6 +45,7 @@ var nt = nThen; var logMore = function () { if (!done) { return; } driver.executeScript(SC_GET_DATA).then(waitFor(function (dataS) { + if (!done) { return; } var data = JSON.parse(dataS); data.forEach(function (d) { if (d.type !== 'log') { return; } From 90060dde4c32b864be3308c1ef19faed560f2606 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 1 Jun 2017 10:08:16 +0200 Subject: [PATCH 209/236] added back safari --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d37176da5..a535229b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ env: - "BROWSER='chrome::Windows 10'" - "BROWSER='MicrosoftEdge:14.14393:Windows 10'" - "BROWSER='internet explorer:11.103:Windows 10'" - #- "BROWSER='safari:10.0:macOS 10.12'" + - "BROWSER='safari:10.0:macOS 10.12'" branches: only: - master From 337dd99b067986be54b325f4c42a6fc265c748b7 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 1 Jun 2017 10:15:57 +0200 Subject: [PATCH 210/236] lets see if safari will work with this... --- TestSelenium.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/TestSelenium.js b/TestSelenium.js index 82dc1fbc7..ace6d2656 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -35,7 +35,6 @@ var nt = nThen; nt = nt(function (waitFor) { var done = waitFor(); console.log('\n\n-----TEST ' + url + ' -----'); - driver.get(url); var waitTo = setTimeout(function () { console.log("no report in 20 seconds, timing out"); failed = true; @@ -69,7 +68,7 @@ var nt = nThen; if (done) { setTimeout(logMore, 50); } })); }; - logMore(); + driver.get(url).then(waitFor(logMore)); }).nThen; }); From 07279c8dc723a6a1a84603729fa47e18b134e1ec Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 1 Jun 2017 10:23:24 +0200 Subject: [PATCH 211/236] export boolean Test.testing --- www/common/test.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/www/common/test.js b/www/common/test.js index b56237689..a0a743f2b 100644 --- a/www/common/test.js +++ b/www/common/test.js @@ -52,6 +52,7 @@ define([], function () { }); }; out = function (f) { f(); }; + out.testing = true; out.passed = function () { cpt.data.push({ type: 'report', @@ -67,6 +68,8 @@ define([], function () { error: { message: e.message, stack: e.stack } }); }; + } else { + out.testing = false; } return out; -}); \ No newline at end of file +}); From 8bd9ad8847d98f81ee7c3171cb5f89fb696ee15d Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 1 Jun 2017 10:23:50 +0200 Subject: [PATCH 212/236] add automated registration test --- www/register/main.js | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/www/register/main.js b/www/register/main.js index 7d14dc02a..b53a142f1 100644 --- a/www/register/main.js +++ b/www/register/main.js @@ -2,8 +2,9 @@ define([ 'jquery', '/common/login.js', '/common/cryptpad-common.js', - '/common/credential.js' // preloaded for login.js -], function ($, Login, Cryptpad) { + '/common/test.js', + '/common/credential.js', // preloaded for login.js +], function ($, Login, Cryptpad, Test) { var Messages = Cryptpad.Messages; $(function () { @@ -63,6 +64,11 @@ define([ var $register = $('button#register'); var logMeIn = function (result) { + if (Test.testing) { + Test.passed(); + window.alert("Test passed!"); + return; + } localStorage.User_hash = result.userHash; var proxy = result.proxy; @@ -137,7 +143,6 @@ define([ case 'ALREADY_REGISTERED': Cryptpad.removeLoadingScreen(function () { Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) { - if (!yes) { return; } proxy.login_name = uname; if (!proxy[Cryptpad.displayNameKey]) { @@ -153,6 +158,9 @@ define([ } return; } + + if (Test.testing) { return void logMeIn(result); } + Cryptpad.eraseTempSessionValues(); if (shouldImport) { sessionStorage.migrateAnonDrive = 1; @@ -176,5 +184,18 @@ define([ $dialog.find('> div').addClass('half'); }); }); + + Test(function () { + $uname.val('test' + Math.random()); + $passwd.val('test'); + $confirm.val('test'); + $checkImport[0].checked = true; + $checkAcceptTerms[0].checked = true; + $register.click(); + + window.setTimeout(function () { + Cryptpad.findOKButton().click() + }, 1000); + }); }); }); From bd3dcebf1f05fe7d10a60948cdf8f1be932e1778 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 1 Jun 2017 10:26:46 +0200 Subject: [PATCH 213/236] add registration to tests --- TestSelenium.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TestSelenium.js b/TestSelenium.js index ace6d2656..2a39d9cfc 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -27,6 +27,7 @@ var SC_GET_DATA = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__. var failed = false; var nt = nThen; [ + '/register/#?test=test', '/assert/#?test=test', // '/auth/#?test=test' // TODO(cjd): Not working on automatic tests, understand why. ].forEach(function (path) { @@ -76,4 +77,4 @@ nt(function (waitFor) { driver.quit().then(waitFor(function () { if (failed) { process.exit(100); } })); -}); \ No newline at end of file +}); From 6eb3b6800fe94c573ed415dadf3105ea16b11a1a Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 1 Jun 2017 10:27:30 +0200 Subject: [PATCH 214/236] try safari 9 --- .travis.yml | 3 ++- TestSelenium.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a535229b7..883f6eecb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,8 @@ env: - "BROWSER='chrome::Windows 10'" - "BROWSER='MicrosoftEdge:14.14393:Windows 10'" - "BROWSER='internet explorer:11.103:Windows 10'" - - "BROWSER='safari:10.0:macOS 10.12'" + #- "BROWSER='safari:10.0:macOS 10.12'" + - "BROWSER='safari:9.0:OS X 10.11'" branches: only: - master diff --git a/TestSelenium.js b/TestSelenium.js index ace6d2656..fde69222e 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -7,6 +7,7 @@ if (process.env.TRAVIS_PULL_REQUEST && process.env.TRAVIS_PULL_REQUEST !== 'fals return; } +// https://wiki.saucelabs.com/display/DOCS/Platform+Configurator#/ var driver; if (process.env.SAUCE_USERNAME !== undefined) { var browserArray = process.env.BROWSER.split(':'); From c65ca5cfc6f81cff3329c4468de77523ffe5b237 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 1 Jun 2017 10:35:42 +0200 Subject: [PATCH 215/236] restore deleted line and add missing semicolon --- www/register/main.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/www/register/main.js b/www/register/main.js index b53a142f1..bdaca5197 100644 --- a/www/register/main.js +++ b/www/register/main.js @@ -143,6 +143,7 @@ define([ case 'ALREADY_REGISTERED': Cryptpad.removeLoadingScreen(function () { Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) { + if (!yes) { return; } proxy.login_name = uname; if (!proxy[Cryptpad.displayNameKey]) { @@ -194,7 +195,7 @@ define([ $register.click(); window.setTimeout(function () { - Cryptpad.findOKButton().click() + Cryptpad.findOKButton().click(); }, 1000); }); }); From 282095f67434d93d830f0ba96342021abbdd5e3a Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 1 Jun 2017 10:40:41 +0200 Subject: [PATCH 216/236] disable failing tests --- .travis.yml | 2 +- TestSelenium.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 883f6eecb..5e753c34c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ env: - "BROWSER='MicrosoftEdge:14.14393:Windows 10'" - "BROWSER='internet explorer:11.103:Windows 10'" #- "BROWSER='safari:10.0:macOS 10.12'" - - "BROWSER='safari:9.0:OS X 10.11'" + #- "BROWSER='safari:9.0:OS X 10.11'" branches: only: - master diff --git a/TestSelenium.js b/TestSelenium.js index 373bd0ba6..fccd4e067 100644 --- a/TestSelenium.js +++ b/TestSelenium.js @@ -28,7 +28,7 @@ var SC_GET_DATA = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__. var failed = false; var nt = nThen; [ - '/register/#?test=test', + //'/register/#?test=test', '/assert/#?test=test', // '/auth/#?test=test' // TODO(cjd): Not working on automatic tests, understand why. ].forEach(function (path) { From 7bf17c0d3297454dd1b98edc540f5f04b6bf97f9 Mon Sep 17 00:00:00 2001 From: Caleb James DeLisle <cjd@cjdns.fr> Date: Thu, 1 Jun 2017 10:56:11 +0200 Subject: [PATCH 217/236] drop edge and IE from the test matrix --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5e753c34c..09967f1f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,8 @@ env: matrix: - "BROWSER='firefox::Windows 10'" - "BROWSER='chrome::Windows 10'" - - "BROWSER='MicrosoftEdge:14.14393:Windows 10'" - - "BROWSER='internet explorer:11.103:Windows 10'" + #- "BROWSER='MicrosoftEdge:14.14393:Windows 10'" + #- "BROWSER='internet explorer:11.103:Windows 10'" #- "BROWSER='safari:10.0:macOS 10.12'" #- "BROWSER='safari:9.0:OS X 10.11'" branches: From 55af84cc90144ab455107ecfd6cfe87a19f026af Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 1 Jun 2017 14:27:06 +0200 Subject: [PATCH 218/236] lower spinner timeout interval --- www/common/toolbar2.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index 7c24bc900..d4e5931f1 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -10,7 +10,7 @@ define([ constants: {}, }; - var SPINNER_DISAPPEAR_TIME = 3000; + var SPINNER_DISAPPEAR_TIME = 1000; // Toolbar parts var TOOLBAR_CLS = Bar.constants.toolbar = 'cryptpad-toolbar'; From f631973f1f97c46c25f46643c5dd5f6c367037af Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 1 Jun 2017 18:16:02 +0200 Subject: [PATCH 219/236] optimize file upload --- rpc.js | 17 ++++++++++++++--- www/common/rpc.js | 18 ++++++++++++++++++ www/file/main.js | 2 +- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/rpc.js b/rpc.js index 8be2f1df8..d3b81647a 100644 --- a/rpc.js +++ b/rpc.js @@ -84,6 +84,7 @@ var unescapeKeyCharacters = function (key) { return key.replace(/\-/g, '/'); }; +// TODO Rename to getSession ? var beginSession = function (Sessions, key) { var safeKey = escapeKeyCharacters(key); if (Sessions[safeKey]) { @@ -625,6 +626,7 @@ var makeFileStream = function (root, id, cb) { var stream = Fs.createWriteStream(full, { flags: 'a', encoding: 'binary', + highWaterMark: Math.pow(2, 16), }); stream.on('open', function () { cb(void 0, stream); @@ -637,12 +639,15 @@ var makeFileStream = function (root, id, cb) { var upload = function (Env, publicKey, content, cb) { var paths = Env.paths; - var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line + var dec; + try { dec = Buffer.from(content, 'base64'); } + catch (e) { return void cb(e); } var len = dec.length; var session = beginSession(Env.Sessions, publicKey); - if (typeof(session.currentUploadSize) !== 'number') { + if (typeof(session.currentUploadSize) !== 'number' || + typeof(session.currentUploadSize) !== 'number') { // improperly initialized... maybe they didn't check before uploading? // reject it, just in case return cb('NOT_READY'); @@ -670,6 +675,12 @@ var upload = function (Env, publicKey, content, cb) { var upload_cancel = function (Env, publicKey, cb) { var paths = Env.paths; + + var session = beginSession(Env.Sessions, publicKey); + delete session.currentUploadSize; + delete session.pendingUploadSize; + if (session.blobstage) { session.blobstage.close(); } + var path = makeFilePath(paths.staging, publicKey); if (!path) { console.log(paths.staging, publicKey); @@ -797,7 +808,7 @@ var isAuthenticatedCall = function (call) { 'UPDATE_LIMITS', 'GET_LIMIT', 'GET_MULTIPLE_FILE_SIZE', - 'UPLOAD', + //'UPLOAD', 'UPLOAD_COMPLETE', 'UPLOAD_CANCEL', ].indexOf(call) !== -1; diff --git a/www/common/rpc.js b/www/common/rpc.js index 45fe1eaec..a39e410dd 100644 --- a/www/common/rpc.js +++ b/www/common/rpc.js @@ -129,6 +129,24 @@ types of messages: return sendMsg(ctx, data, cb); }; + send.unauthenticated = function (type, msg, cb) { + if (!ctx.connected) { + return void window.setTimeout(function () { + cb('DISCONNECTED'); + }); + } + + // construct an unsigned message + var data = [null, edPublicKey, null, type, msg]; + if (ctx.cookie && ctx.cookie.join) { + data[2] = ctx.cookie.join('|'); + } else { + data[2] = ctx.cookie; + } + + return sendMsg(ctx, data, cb); + }; + network.on('message', function (msg) { onMsg(ctx, msg); }); diff --git a/www/file/main.js b/www/file/main.js index 0c5e8f3a1..8d582a183 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -65,7 +65,7 @@ define([ var enc = Nacl.util.encodeBase64(box); chunks.push(box); - Cryptpad.rpc.send('UPLOAD', enc, function (e, msg) { + Cryptpad.rpc.send.unauthenticated('UPLOAD', enc, function (e, msg) { console.log(box); cb(e, msg); }); From 6db5b4b559450c34f03eca97e2e94d2038880524 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Thu, 1 Jun 2017 18:16:37 +0200 Subject: [PATCH 220/236] ignore blobstage --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 139fab33c..fc1136152 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ data npm-debug.log pins/ blob/ +blobstage/ privileged.conf From f6e443aeb26df1b2d8d6229fa8cf6af56769a19b Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 2 Jun 2017 11:45:07 +0200 Subject: [PATCH 221/236] put cookie requests back on authenticated rpc list --- rpc.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rpc.js b/rpc.js index d3b81647a..715abd118 100644 --- a/rpc.js +++ b/rpc.js @@ -798,7 +798,7 @@ var upload_status = function (Env, publicKey, filesize, cb) { var isAuthenticatedCall = function (call) { return [ - //'COOKIE', + 'COOKIE', 'RESET', 'PIN', 'UNPIN', @@ -893,6 +893,9 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function) public key which you provided. We can safely modify the state for that key + + OR it's an unauthenticated call, which must not modify the state + for that key in a meaningful way. */ // discard validated cookie from message From 8f7aaecc1ca58a6d160c4f554c4c5d9cc8cc2429 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 2 Jun 2017 11:45:54 +0200 Subject: [PATCH 222/236] cache some selectors and decrease memory demands --- www/file/main.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/www/file/main.js b/www/file/main.js index 8d582a183..e05a1bcc7 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -50,8 +50,18 @@ define([ if (queue.inProgress) { return; } queue.inProgress = true; - var $cancelCell = $table.find('tr[id="'+id+'"]').find('.upCancel'); - $cancelCell.html('-'); + var $row = $table.find('tr[id="'+id+'"]'); + + var $cancelCell = $row.find('.upCancel').html('-'); + var $pv = $row.find('.progressValue'); + var $pb = $row.find('.progressContainer'); + + var updateProgress = function (progressValue) { + $pv.text(Math.round(progressValue*100)/100 + '%'); + $pb.css({ + width: (progressValue/100)*188+'px' + }); + }; var u8 = new Uint8Array(blob); @@ -59,12 +69,9 @@ define([ var next = FileCrypto.encrypt(u8, metadata, key); var estimate = FileCrypto.computeEncryptedSize(blob.byteLength, metadata); - var chunks = []; var sendChunk = function (box, cb) { var enc = Nacl.util.encodeBase64(box); - - chunks.push(box); Cryptpad.rpc.send.unauthenticated('UPLOAD', enc, function (e, msg) { console.log(box); cb(e, msg); @@ -77,16 +84,10 @@ define([ if (box) { actual += box.length; var progressValue = (actual / estimate * 100); + updateProgress(progressValue); return void sendChunk(box, function (e) { if (e) { return console.error(e); } - var $pv = $table.find('tr[id="'+id+'"]').find('.progressValue'); - $pv.text(Math.round(progressValue*100)/100 + '%'); - var $pb = $table.find('tr[id="'+id+'"]').find('.progressContainer'); - $pb.css({ - width: (progressValue/100)*188+'px' - }); - next(again); }); } From 767793b5ca7ae5c72719fc91142bd672fa9eb7e4 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 2 Jun 2017 12:13:11 +0200 Subject: [PATCH 223/236] fix stuck loading tip --- customize.dist/main.css | 2 ++ customize.dist/src/less/loading.less | 3 +++ www/common/common-interface.js | 9 +++++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/customize.dist/main.css b/customize.dist/main.css index 36bc87fdc..49f06eedc 100644 --- a/customize.dist/main.css +++ b/customize.dist/main.css @@ -387,6 +387,8 @@ left: 0; right: 0; text-align: center; + transition: opacity 750ms; + transition-delay: 3000ms; } @media screen and (max-height: 600px) { .cp #loadingTip { diff --git a/customize.dist/src/less/loading.less b/customize.dist/src/less/loading.less index 6dcf2491a..cc23c49d9 100644 --- a/customize.dist/src/less/loading.less +++ b/customize.dist/src/less/loading.less @@ -36,6 +36,9 @@ left: 0; right: 0; text-align: center; + + transition: opacity 750ms; + transition-delay: 3000ms; @media screen and (max-height: @media-medium-screen) { display: none; } diff --git a/www/common/common-interface.js b/www/common/common-interface.js index b2b5dad10..19066b06f 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -194,10 +194,11 @@ define([ }; UI.removeLoadingScreen = function (cb) { $('#' + LOADING).fadeOut(750, cb); - $('#loadingTip').css('top', ''); - window.setTimeout(function () { - $('#loadingTip').fadeOut(750); - }, 3000); + $('#loadingTip').css('top', '') + // loading.less sets transition-delay: $wait-time + // and transition: opacity $fadeout-time + .css('opacity', 0); + // jquery.fadeout can get stuck }; UI.errorLoadingScreen = function (error, transparent) { if (!$('#' + LOADING).is(':visible')) { UI.addLoadingScreen(undefined, true); } From 65233c24648d6f2310d52cde79d1488154536063 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 2 Jun 2017 16:16:17 +0200 Subject: [PATCH 224/236] remove unused variable --- www/file/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/file/main.js b/www/file/main.js index e05a1bcc7..82c5d01fe 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -52,7 +52,7 @@ define([ var $row = $table.find('tr[id="'+id+'"]'); - var $cancelCell = $row.find('.upCancel').html('-'); + $row.find('.upCancel').html('-'); var $pv = $row.find('.progressValue'); var $pb = $row.find('.progressContainer'); From 77d4ffba8647c825da10d0f74c91909db0fafd41 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Fri, 2 Jun 2017 17:39:45 +0200 Subject: [PATCH 225/236] animate preview mode sidebar --- www/code/code.css | 1 + www/code/code.less | 3 +++ www/code/main.js | 10 ++++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/www/code/code.css b/www/code/code.css index 78a4b7bf2..589544493 100644 --- a/www/code/code.css +++ b/www/code/code.css @@ -18,6 +18,7 @@ body { display: inline-block; height: 100%; width: 50%; + transition: width 500ms, min-width 500ms, max-width 500ms; min-width: 20%; max-width: 80%; resize: horizontal; diff --git a/www/code/code.less b/www/code/code.less index ef7cef32d..04e3ab615 100644 --- a/www/code/code.less +++ b/www/code/code.less @@ -16,10 +16,13 @@ body { max-height: 100%; min-height: auto; } + +@slideTime: 500ms; .CodeMirror { display: inline-block; height: 100%; width: 50%; + transition: width @slideTime, min-width @slideTime, max-width @slideTime; min-width: 20%; max-width: 80%; resize: horizontal; diff --git a/www/code/main.js b/www/code/main.js index 2ad40bdb2..ce3b88621 100644 --- a/www/code/main.js +++ b/www/code/main.js @@ -53,6 +53,7 @@ define([ var andThen = function (CMeditor) { var CodeMirror = Cryptpad.createCodemirror(CMeditor, ifrw, Cryptpad); + $iframe.find('.CodeMirror').addClass('fullPage'); editor = CodeMirror.editor; var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox'); @@ -145,8 +146,13 @@ define([ var $codeMirror = $iframe.find('.CodeMirror'); if (mode === "markdown") { APP.$previewButton.show(); - $previewContainer.show(); - $codeMirror.removeClass('fullPage'); + Cryptpad.getPadAttribute('previewMode', function (e, data) { + if (e) { return void console.error(e); } + if (data !== false) { + $previewContainer.show(); + $codeMirror.removeClass('fullPage'); + } + }); return; } APP.$previewButton.hide(); From b9b8352633313240050faad1cb3684848a1e1a21 Mon Sep 17 00:00:00 2001 From: jxtsai <chihsun.tsai@gmail.com> Date: Mon, 5 Jun 2017 15:10:13 +0800 Subject: [PATCH 226/236] Traditional Chinese --- customize.dist/messages.js | 1 + customize.dist/translations/messages.zh.js | 545 +++++++++++++++++++++ 2 files changed, 546 insertions(+) create mode 100644 customize.dist/translations/messages.zh.js diff --git a/customize.dist/messages.js b/customize.dist/messages.js index 2dac5b6c9..67759a15e 100644 --- a/customize.dist/messages.js +++ b/customize.dist/messages.js @@ -9,6 +9,7 @@ var map = { 'de': 'Deutsch', 'pt-br': 'Português do Brasil', 'ro': 'Română', + 'zh': '繁體中文', }; var getStoredLanguage = function () { return localStorage.getItem(LS_LANG); }; diff --git a/customize.dist/translations/messages.zh.js b/customize.dist/translations/messages.zh.js new file mode 100644 index 000000000..ac9b273e8 --- /dev/null +++ b/customize.dist/translations/messages.zh.js @@ -0,0 +1,545 @@ +define(function () { + var out = {}; + // translations must set this key for their language to be available in + // the language dropdowns that are shown throughout Cryptpad's interface + + out._languageName = 'Chinese'; + + out.main_title = "CryptPad: 零知識, 即時協作編寫"; + out.main_slogan = "團結就是力量 - 合作是關鍵"; // TODO remove? + + out.type = {}; + out.type.pad = '富文本'; + out.type.code = '編碼'; + out.type.poll = '投票'; + out.type.slide = '投影片簡報'; + out.type.drive = '磁碟'; + out.type.whiteboard = '白板'; + out.type.file = '檔案'; + out.type.media = '多媒體'; + + out.button_newpad = '富文件檔案'; + out.button_newcode = '新代碼檔案'; + out.button_newpoll = '新投票調查'; + out.button_newslide = '新簡報'; + out.button_newwhiteboard = '新白板'; + + // NOTE: We want to update the 'common_connectionLost' key. + // Please do not add a new 'updated_common_connectionLostAndInfo' but change directly the value of 'common_connectionLost' + out.updated_0_common_connectionLost = "<b>伺服器連線中斷</b><br>現在是唯讀狀態,直到連線恢復正常。"; + out.common_connectionLost = out.updated_0_common_connectionLost; + + out.websocketError = '無法連結上 websocket 伺服器...'; + out.typeError = "這個編輯檔與所選的應用程式並不相容"; + out.onLogout = '你已登出, <a href="/" target="_blank">點擊這裏</a> 來登入<br>或按<em>Escape</em> 來以唯讀模型使用你的編輯檔案'; + out.wrongApp = "無法在瀏覽器顯示即時期間的內容,請試著再重新載入本頁。"; + + out.loading = "載入中..."; + out.error = "錯誤"; + out.saved = "儲存"; + out.synced = "所有資料已儲存好了"; + out.deleted = "自 CryptDrive 刪除檔案"; + + out.disconnected = '已斷線'; + out.synchronizing = '同步中'; + out.reconnecting = '重新連結...'; + out.lag = 'Lag'; + out.readonly = '唯讀'; + out.anonymous = "匿名"; + out.yourself = "你自己"; + out.anonymousUsers = "匿名的編輯群"; + out.anonymousUser = "匿名的編輯群者"; + out.users = "用戶"; + out.and = "與"; + out.viewer = "檢視者"; + out.viewers = "檢視群"; + out.editor = "編輯者"; + out.editors = "編輯群"; + + out.language = "語言"; + + out.comingSoon = "即將上市..."; + + out.newVersion = '<b>CryptPad 已更新!</b><br>' + + '檢查最新版本有什麼新功能:<br>'+ + '<a href="https://github.com/xwiki-labs/cryptpad/releases/tag/{0}" target="_blank">CryptPad新發佈記事 {0}</a>'; + + out.upgrade = "昇級"; + out.upgradeTitle = "昇級帳戶以取得更多的儲存空間"; + out.MB = "MB"; + out.GB = "GB"; + out.KB = "KB"; + + out.formattedMB = "{0} MB"; + out.formattedGB = "{0} GB"; + out.formattedKB = "{0} KB"; + + out.greenLight = "每件事都很順利"; + out.orangeLight = "連線速度慢可能會影響用戶體驗"; + out.redLight = "你這段期間的連線已中斷"; + + out.pinLimitReached = "你已達到儲存容量上限"; + out.updated_0_pinLimitReachedAlert = "你已達到儲存容量上限,新檔案不會儲存到你的 CryptDrive.<br>" + + '要嘛你可以自 CryptDrive 移除原有文件或是 <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">昇級到付費版</a>增加你的儲存容量。'; + out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert; + out.pinAboveLimitAlert = '這個版本中, 我們對免費用戶實施 50MB 容量上限的儲存限制,你目前已使用了 {0}。你可以刪除一些檔案或是昇級到付費帳戶 <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>。你的貢獻可助我們改善 CryptPad 並散佈零知識技術。可聯絡 <a href="https://accounts.cryptpad.fr/#/support" target="_blank">用戶支援</a>如果有任何問題的話。'; + out.pinLimitNotPinned = "你已達到容量使用上限<br>"+ + "這個檔案無法儲存到你的 CryptDrive."; + out.pinLimitDrive = "你已達到容量使用上限<br>" + + "你不能建立新的編輯檔案"; + out.importButtonTitle = '從電腦上傳滙入檔案'; + + out.exportButtonTitle = '將這個檔案滙出到電腦'; + out.exportPrompt = '你希望怎麼命名你的檔案?'; + + out.changeNamePrompt = '更換你的名稱(若留空白則會成為無名氏): '; + out.user_rename = "改變顯示名稱"; + out.user_displayName = "顯示名稱"; + out.user_accountName = "帳號名稱"; + + out.clickToEdit = "點擊以編輯"; + + out.forgetButtonTitle = '將這個檔案移置垃圾筒'; + out.forgetPrompt = '點擊 OK 將把這個檔案移置垃圾筒,確定要這樣做嗎'; + out.movedToTrash = '這個檔案已被移置垃圾筒<br><a href="/drive/">讀取我的雲端硬碟</a>'; + + out.shareButton = '分享'; + out.shareSuccess = '複製連結到剪貼版'; + + out.newButton = '新'; + out.newButtonTitle = '建立新的工作檔案'; + + out.saveTemplateButton = "存成模版"; + out.saveTemplatePrompt = "為這個模版選一個標題"; + out.templateSaved = "模版已儲存!"; + out.selectTemplate = "選擇一個模版或是按 escape 跳出"; + + out.previewButtonTitle = "顯示或隱藏 Markdown 預覽模式"; + + out.presentButtonTitle = "輸入簡報模式"; + out.presentSuccess = '按 ESC 以退出簡報模式'; + + out.backgroundButtonTitle = '改變簡報的顏色背景'; + out.colorButtonTitle = '在簡報模式下改變文字顏色'; + + out.printButton = "列印 (enter)"; + out.printButtonTitle = "列印投影片或滙出成 PDF 檔案"; + out.printOptions = "版型選項"; + out.printSlideNumber = "顯示投影片號碼"; + out.printDate = "顯示日期"; + out.printTitle = "顯示檔案標題"; + out.printCSS = "自定風格規則 (CSS):"; + out.printTransition = "啟用轉場動畫"; + + out.slideOptionsTitle = "自定你的投影片"; + out.slideOptionsButton = "儲存 (enter)"; + + out.editShare = "編輯連結"; + out.editShareTitle = "複製所編輯的連結到剪貼版"; + out.editOpen = "在新分頁開啟連結編輯"; + out.editOpenTitle = "在新分頁開啟這個檔案為編輯模式"; + out.viewShare = "唯讀連結"; + out.viewShareTitle = "複製唯讀的連結到剪貼版"; + out.viewOpen = "在新分頁開啟唯讀連結"; + out.viewOpenTitle = "在新分頁開啟這個檔案為唯讀模式"; + + out.notifyJoined = "{0} 已加入此協作期間"; + out.notifyRenamed = "{0} 現在改名為 {1}"; + out.notifyLeft = "{0} 已離開了這個協作期間"; + + out.okButton = 'OK (enter)'; + + out.cancel = "取消"; + out.cancelButton = '取消 (esc)'; + + out.historyButton = "顯示文件歷史"; + out.history_next = "到下一個版本"; + out.history_prev = "到之前的版本"; + out.history_goTo = "到所選擇的版本"; + out.history_close = "回到"; + out.history_closeTitle = "關閉歷史記錄"; + out.history_restore = "重建"; + out.history_restoreTitle = "將此文件重建到所挑選的版本"; + out.history_restorePrompt = "確定要將這個展現的版本來取代現有版本嗎?"; + out.history_restoreDone = "文件已重建"; + out.history_version = "版本:"; + + // Polls + + out.poll_title = "零知識日期挑選"; + out.poll_subtitle = "零知識, <em>即時</em> 排程"; + + out.poll_p_save = "你的設定會立即更新, 因此從不需要按鍵儲存或擔心遺失。"; + out.poll_p_encryption = "你所有幹入的資料都會予以加密,只有取得連結者才可以讀取它。即便是伺服器也不能看到你作了什麼變動。"; + + out.wizardLog = "點擊左上方的按鍵以回到你的調查"; + out.wizardTitle = "使用精靈來建立調查投票"; + out.wizardConfirm = "你真的要新增這些問題到你的調查中嗎?"; + + out.poll_publish_button = "發佈"; + out.poll_admin_button = "管理者"; + out.poll_create_user = "新增使用者"; + out.poll_create_option = "新增選項"; + out.poll_commit = "投入"; + + out.poll_closeWizardButton = "關閉協助精靈"; + out.poll_closeWizardButtonTitle = "關閉協助精靈"; + out.poll_wizardComputeButton = "計算最適化"; + out.poll_wizardClearButton = "清除表格"; + out.poll_wizardDescription = "透過輸入任何日期或時間分段,可自動建立一些選項"; + out.poll_wizardAddDateButton = "+ 日期"; + out.poll_wizardAddTimeButton = "+ 時間"; + + out.poll_optionPlaceholder = "選項"; + out.poll_userPlaceholder = "你的名稱"; + out.poll_removeOption = "確定要移除這個選項嗎?"; + out.poll_removeUser = "確定要移除這位使用者嗎?"; + + out.poll_titleHint = "標題"; + out.poll_descriptionHint = "請簡述這個調查目的,完成時使用「發佈鍵」。任何知道此調查連結者可以更改這裏的描述內容,但我們不鼓勵這麼做。."; + + // Canvas + out.canvas_clear = "清除"; + out.canvas_delete = "刪除所選"; + out.canvas_disable = "取消繪圖"; + out.canvas_enable = "啟動繪圖"; + out.canvas_width = "寛度"; + out.canvas_opacity = "透明度"; + + // File manager + + out.fm_rootName = "根目錄"; + out.fm_trashName = "垃圾桶"; + out.fm_unsortedName = "未整理的檔案"; + out.fm_filesDataName = "所有檔案"; + out.fm_templateName = "模版"; + out.fm_searchName = "搜尋"; + out.fm_searchPlaceholder = "搜尋..."; + out.fm_newButton = "新的"; + out.fm_newButtonTitle = "建立新工作檔案或資料夾"; + out.fm_newFolder = "新資料夾"; + out.fm_newFile = "新工作檔案"; + out.fm_folder = "資料夾"; + out.fm_folderName = "資料夾名稱"; + out.fm_numberOfFolders = "# 個資料夾"; + out.fm_numberOfFiles = "# 檔案"; + out.fm_fileName = "檔案名"; + out.fm_title = "標題"; + out.fm_type = "類型"; + out.fm_lastAccess = "上回使用"; + out.fm_creation = "創建"; + out.fm_forbidden = "禁止的行為"; + out.fm_originalPath = "原始路徑"; + out.fm_openParent = "顯示在目錄夾中"; + out.fm_noname = "無標題文件"; + out.fm_emptyTrashDialog = "確定要清理垃圾筒嗎?"; + out.fm_removeSeveralPermanentlyDialog = "確定要將這些 {0} 東西永自垃圾筒移除嗎?"; + out.fm_removePermanentlyDialog = "你確定要永久地移除這些項目嗎?"; + out.fm_removeSeveralDialog = "確定要將這些 {0} 東西移至垃圾筒嗎?"; + out.fm_removeDialog = "確定要將移動 {0} 至垃圾筒嗎?"; + out.fm_restoreDialog = "確定要重置 {0} 到它之前的位置嗎?"; + out.fm_unknownFolderError = "所選或上回訪問的目錄不再存在了,正開啟上層目錄中..."; + out.fm_contextMenuError = "無法在此元件下打開文本選單。如果這個問題一直發生,請試著重新載入此頁。"; + out.fm_selectError = "無法選取目標的要素。如果這個問題一直發生,請試著重新載入此頁。"; + out.fm_categoryError = "無法打開所選的類別,正在顯示根目錄。"; + out.fm_info_root = "在此建立任何巢狀目錄夾以便於整理分類你的檔案。"; + out.fm_info_unsorted = '包含所有你曾訪問過的檔案,其尚未被整理在 "根目錄" 或移到到"垃圾筒".';「// "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName" + out.fm_info_template = '包含所有工作檔案已存成模版,便於讓你在建立新工作檔案時套用。'; + out.updated_0_fm_info_trash = '清空垃圾筒好讓 CryptDrive 多出一些空間'; + out.fm_info_trash = out.updated_0_fm_info_trash; + out.fm_info_allFiles = '包含在 "根目錄", "未整理的" 和 "垃圾筒" 裏的所有檔案。這裏你無法移動或移除檔案。'; // Same here + out.fm_info_anonymous = '你尚未登入,因此這些工作檔案可能會被刪除。 (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">了解原因</a>). ' + + '<a href="/register/">註冊</a>或<a href="/login/">登入</a>以便保留它們。'; + out.fm_alert_backupUrl = "這個雲端硬碟的備份連結<br>" + + "<strong>高度建議</strong>把自己的 IP 資訊保留成只有自己知道<br>" + + "萬一瀏覽器記憶被消除,你可以用它來接收所有的檔案。<br>" + + "任何知道此連結的人可以編輯或移除你檔案管理底下的所有檔案。<br>"; + out.fm_alert_anonymous = "嗨你好, 你目前正以匿名方式在使用 CryptPad , 這也沒問題,不過你的東西過一段時間沒動靜後,就會自動被刪除。 " + + "匿名的用戶我們也取消其進階功能,因為我們要明確地讓用戶知道,這裏 " + + '不是一個安全存放東西的地方。你可以 <a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">進一步了解 </a> 關於 ' + + '為何我們這樣作,以及為何你最好能夠<a href="/register/">註冊</a> 以及 <a href="/login/">登錄</a>使用。'; + out.fm_backup_title = '備份連結'; + out.fm_nameFile = '你想要如何來命名這個檔案呢?'; + out.fm_error_cantPin = "內部伺服器出錯,請重新載入本頁並再試一次。"; + // File - Context menu + out.fc_newfolder = "新資料夾"; + out.fc_rename = "重新命名"; + out.fc_open = "打開"; + out.fc_open_ro = "打開 (唯讀)"; + out.fc_delete = "刪除"; + out.fc_restore = "重置"; + out.fc_remove = "永久刪除"; + out.fc_empty = "清理垃圾筒"; + out.fc_prop = "Properties"; + out.fc_sizeInKilobytes = "容量大小 (Kilobytes)"; + // fileObject.js (logs) + out.fo_moveUnsortedError = "你不能移動資料夾到未整理的工作檔案清單"; + out.fo_existingNameError = "名稱已被使用,請選擇其它名稱"; + out.fo_moveFolderToChildError = "你不能移動資料夾到它的子資料夾底下"; + out.fo_unableToRestore = "無法將這個檔案重置到原始的位置。你可以試著將它移動到其它新位置。"; + out.fo_unavailableName = "在新位置裏同名的檔案或資料夾名稱已存在,請重新命名後再試看看。"; + + // login + out.login_login = "登入"; + out.login_makeAPad = '匿名地建立一個工作檔案'; + out.login_nologin = "瀏覽本地的工作檔案"; + out.login_register = "註冊"; + out.logoutButton = "登出"; + out.settingsButton = "設定"; + + out.login_username = "用戶名"; + out.login_password = "密碼"; + out.login_confirm = "確認你的密碼"; + out.login_remember = "記住我"; + + out.login_hashing = "散列你的密碼中,這要花上一點時間"; + + out.login_hello = 'Hello {0},'; // {0} is the username + out.login_helloNoName = 'Hello,'; + out.login_accessDrive = '取用你的磁碟'; + out.login_orNoLogin = '或'; + + out.login_noSuchUser = '無效的用戶名或密碼,請再試一次或重新註冊'; + out.login_invalUser = '要求用戶名'; + out.login_invalPass = '要求密碼'; + out.login_unhandledError = '發生了未預期的錯誤 :('; + + out.register_importRecent = "滙入檔案記錄 (建議)"; + out.register_acceptTerms = "我同意 <a href='/terms.html'>服務條款</a>"; + out.register_passwordsDontMatch = "密碼不相符!"; + out.register_mustAcceptTerms = "你必須同意我們的服務條款。"; + out.register_mustRememberPass = "如果你忘了密碼,我們也無法為你重置。因此務必自行好好記住! 請在勾選處勾選確認。"; + + out.register_header = "歡迎來到 CryptPad"; + out.register_explanation = [ + "<p>首先讓我們先了解幾件事</p>", + "<ul>", + "<li>你的密碼是你用來加密所有工作檔案的密鑰。一旦遺失它,我們也沒辦法幫你恢復你的資料。</li>", + "<li>你可以滙入近期在瀏覽器下檢視的工作檔案到你的雲端硬碟裏。</li>", + "<li>如果你使用的是公用分享電腦,你需要在完成工作後進行登出,只是關閉分頁是不夠的。</li>", + "</ul>" + ].join(''); + + out.register_writtenPassword = "我已記下了我的用戶名和密碼,請繼續"; + out.register_cancel = "回去"; + + out.register_warning = "零知識表示如果你遺失了密碼,我們也無法還原你的資料"; + + out.register_alreadyRegistered = "這名用戶己存在了,你要登入嗎?"; + + // Settings + out.settings_title = "設定"; + out.settings_save = "儲存"; + out.settings_backupTitle = "備份或重建你所有的資料"; + out.settings_backup = "備份"; + out.settings_restore = "重建"; + out.settings_resetTitle = "清除你的雲端硬碟"; + out.settings_reset = "從你的 CryptDrive 移除所有的檔案和資料夾"; + out.settings_resetPrompt = "這個動作會自你的雲端硬碟中移除所有工作檔案<br>"+ + "確定要繼續嗎?<br>" + + "輸入 “<em>I love CryptPad</em>” 來確認。"; + out.settings_resetDone = "你的目錄現已清空!"; + out.settings_resetError = "不正確的認證文字,你的 CryptDrive 並未更改。"; + out.settings_resetTips = "使用 CryptDrive 的竅門"; + out.settings_resetTipsButton = "在 CryptDrive 下重置可用的訣竅"; + out.settings_resetTipsDone = "所有的訣竅現在都可再次看到了。"; + + out.settings_importTitle = "滙入這個瀏覽器近期的工作檔案到我的 CryptDrive"; + out.settings_import = "滙入"; + out.settings_importConfirm = "確定要從這個瀏覽器滙入近期的工作檔案到你的 CryptDrive ?"; + out.settings_importDone = "滙入完成"; + + out.settings_userFeedbackHint1 = "CryptPad 會提供一些基本的反饋到伺服器,以讓我們知道如何改善用戶體驗。"; + out.settings_userFeedbackHint2 = "你的工作檔案內容絕不會被分享到伺服器"; + out.settings_userFeedback = "啟用用戶反饋功能"; + + out.settings_anonymous = "你尚未登入,在此瀏覽器上進行特別設定。"; + out.settings_publicSigningKey = "公開金鑰簽署"; + + out.settings_usage = "用法"; + out.settings_usageTitle = "查看所有置頂的工作檔案所佔的容量"; + out.settings_pinningNotAvailable = "工作檔案置頂功能只開放給已註冊用戶"; + out.settings_pinningError = "有點不對勁"; + out.settings_usageAmount = "你置頂的工作檔案佔了 {0}MB"; + + out.settings_logoutEverywhereTitle = "自所有地點登出"; + out.settings_logoutEverywhere = "自所有其它的網頁期間登出"; + out.settings_logoutEverywhereConfirm = "你確定嗎?你將需要登入到所有用到設置。"; + + out.upload_serverError = "伺服器出錯:本次無法上傳你的檔案"; + out.upload_uploadPending = "你欲上傳檔案正在傳輸中,要取消並上傳新檔案嗎?"; + out.upload_success = "你的檔案 ({0}) 已成功地上傳並放入到你的網路磁碟中。"; + out.upload_notEnoughSpace = "你的 CryptDrive 無足夠空間來存放這個檔案。"; + out.upload_tooLarge = "此檔案超過了上傳單一檔案可允許的容量上限。"; + out.upload_choose = "選擇一個檔案"; + out.upload_pending = "待處理"; + out.upload_cancelled = "已取消的"; + out.upload_name = "檔案名"; + out.upload_size = "大小"; + out.upload_progress = "進度"; + out.download_button = "解密 & 下載"; + + // general warnings + out.warn_notPinned = "這個工作檔案並不在任何人的 CryptDrive 裏,它將在 3 個月到期後刪除。 <a href='/about.html#pinning'>進一步了解...</a>"; + + // index.html + + + //about.html + out.main_p2 = '本專案使用 <a href="http://ckeditor.com/">CKEditor</a> 視覺編輯器, <a href="https://codemirror.net/">CodeMirror</a>, 以及 <a href="https://github.com/xwiki-contrib/chainpad">ChainPad</a> 即時引擊。'; + out.main_howitworks_p1 = 'CryptPad 應用一種變體的 <a href="https://en.wikipedia.org/wiki/Operational_transformation">操作型變換 Operational transformation</a> 演算法,它利用<a href="https://bitcoin.org/bitcoin.pdf">Nakamoto Blockchain</a>來找到分散的共識, Nakamoto Blockchain 是一種建構當前流行的<a href="https://en.wikipedia.org/wiki/Bitcoin">比特幣</a>。這套演算法可避免需要一個中央的伺服器來解析操作型變換編輯衝突,而無須處理解析衝突,伺服器並不知道哪一個檔案被編輯。'; + + // contact.html + out.main_about_p2 = '若有任何問題和建議, 可以在<a href="https://twitter.com/cryptpad">tweet us</a>, <a href="https://github.com/xwiki-labs/cryptpad/issues/" title="our issue tracker">github</a>提出問題, 或是來到 irc (<a href="http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7" title="freenode webchat">irc.freenode.net</a>)打聲招呼, 再或者 <a href="mailto:research@xwiki.com">寄封電郵給我們</a>.'; + + out.main_info = "<h1>Collaborate in Confidence</h1><br> 利用共同享文件發嚮點子,透過 <strong>零知識 </strong> 科技確保隱私安全; 對任何網路服務商都要加以提防。"; + + out.main_howitworks = '它如何運作'; + out.main_zeroKnowledge = '零知識'; + out.main_zeroKnowledge_p = "你不必相信我們所說的<em>並不會</em> 察看你的檔案, CryptPad 革命性的零知識技術讓我們 <em>真的不能看到</em>。 進一步了解在這裏,我們如何保護用戶的 <a href=\"/privacy.html\" title='Privacy'>隱私和安全</a>。"; + out.main_writeItDown = '寫下它'; + out.main_writeItDown_p = "偉大的專案來自不起眼的小點子。記下靈感與點子的瞬間,因為你從不會知道哪個會帶來重大突破。"; + out.main_share = '分享連結, 分享工作檔案'; + out.main_share_p = "一起來發響想法點子: 在任何設備上,與朋友一起執行有效率的會議, 協作待辦清單與快速製作簡報。"; + out.main_organize = 'Get organized'; + out.main_organize_p = "利用 CryptPad 空間, 你可以保留看管重要的東西。資料夾讓你可以追踪專案和全盤了解事情的走向狀況。"; + out.tryIt = 'Try it out!'; + out.main_richText = '富文字編輯器'; + out.main_richText_p = '利用我們的即時零知識技術,集體協作地編輯富文本檔案 <a href="http://ckeditor.com" target="_blank">CkEditor</a> 應用程式application.'; + out.main_code = '代碼編輯器'; + out.main_code_p = '利用我們的即時零知識技術,集體協作地編輯程式代碼 <a href="https://www.codemirror.net" target="_blank">CodeMirror</a> 應用程式。'; + out.main_slide = '投影片編輯器'; + out.main_slide_p = '使用 Markdown 語法來建立投影片,並利用瀏覽器來展示投影片。'; + out.main_poll = '調查'; + out.main_poll_p = '規劃會議或活動,或是為問題舉行投最佳方案的投票。'; + out.main_drive = 'CryptDrive'; + + out.footer_applications = "應用程式"; + out.footer_contact = "聯繫"; + out.footer_aboutUs = "關於 Cryptpad"; + + out.about = "關於"; + out.privacy = "隱私"; + out.contact = "聯繫"; + out.terms = "服務條款"; + out.blog = "Blog"; + + // privacy.html + + out.policy_title = 'CryptPad 隱私政策'; + out.policy_whatweknow = '我們會知道哪些關於你的資料'; + out.policy_whatweknow_p1 = '作為一個網頁上的應用程式, CryptPad 可以接取 HTTP 協議所曝露的元數據。 這包括你的 IP 地址、各式其它的 HTTP 標頭,其用於識別你特定的瀏覽器。 你可以訪問 <a target="_blank" rel="noopener noreferrer" href="https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending" title="what http headers is my browser sending">WhatIsMyBrowser.com</a>這個網站,知道你的瀏覽器分享了哪些資訊。'; + out.policy_whatweknow_p2 = '我們使用 <a href="https://www.elastic.co/products/kibana" target="_blank" rel="noopener noreferrer" title="open source analytics platform">Kibana</a>, 它是一個開源的流量數據分析平台, 以更了解用戶。Kibana 讓我們知道你是如何地發現 CryptPad, 是透過直接接入、攑搜尋引擊或是其它網站的介紹如 Reddit 和 Twitter。'; + out.policy_howweuse = '我們如何利用我們知道的東西'; + out.policy_howweuse_p1 = '我們利用這些資訊評估過去成功的效果,以更佳地決定如何推廣 CryptPad。有關你地理位置的資訊讓我們知道是否該提供英語之外的語言版本支援'; + out.policy_howweuse_p2 = "有關你的瀏覽器資訊 (是桌面還是手機操作系統) 有助於讓我們決定要優先哪些功能改善。我們開發團隊人很少,我們試著挑選盡可能地提昇更多用戶的使用體驗。"; + out.policy_whatwetell = '我們可以告訴別人關於你的哪些資料'; + out.policy_whatwetell_p1 = '我們不會給第三人我們所收集的資訊,除非被依法要求配合。'; + out.policy_links = '其它網站連結'; + out.policy_links_p1 = '本站含有其它網站的連結,包括其它組織的産品。我們無法對這些隱私實踐或任何本站以外的內容負責。一般而言,連到外站的連結會另啟新視窗,以明確讓你知道已離開了CryptPad.fr.'; + out.policy_ads = '廣告'; + out.policy_ads_p1 = '我們不會放置任何線上廣告,但會提供一些資助我們研究的機構與團體的網址連結'; + out.policy_choices = '你有的選擇'; + out.policy_choices_open = '我們的代碼是開放的,你可以選擇自行在自己的機器上來架設自己的 CryptPad.'; + out.policy_choices_vpn = '如果你要使用我們架設的服務, 但不希望曝露自己的 IP 地址, 你可以利用<a href="https://www.torproject.org/projects/torbrowser.html.en" title="downloads from the Tor project" target="_blank" rel="noopener noreferrer">Tor 瀏覽器套件</a>來保護隱藏 IP 地址, 或是使用 <a href="https://riseup.net/en/vpn" title="VPNs provided by Riseup" target="_blank" rel="noopener noreferrer">VPN</a>。'; + out.policy_choices_ads = '如果你只是想要封鎖我們的數據分析器, 你可以使用廣告封鎖工具如 <a hre="https://www.eff.org/privacybadger" title="download privacy badger" target="_blank" rel="noopener noreferrer">Privacy Badger</a>.'; + + // terms.html + + out.tos_title = "CryptPad 服務條款"; + out.tos_legal = "請不要惡意、濫用或從事非法活動。"; + out.tos_availability = "希望你覺得我們的産品與服務對你有所幫助, 但我們並不能一直百分百保證它的表現穩定與可得性。請記得定期滙出你的資料。"; + out.tos_e2ee = "CryptPad 的內容可以被任何猜出或取得工作檔案分段識別碼的人讀取與修改。我們建議你使用端對端加密 (e2ee) 訊息技術來分享工作檔案連結 以及假設如果一旦連結外漏不會背上任何責任。"; + out.tos_logs = "你的瀏覽器提供給伺服器的元數據,可能會因為維護本服務之效能而被收集記錄。"; + out.tos_3rdparties = "除非法令要求,我們不會提供任何個人資料給第三方。"; + + // BottomBar.html + + out.bottom_france = '<a href="http://www.xwiki.com/" target="_blank" rel="noopener noreferrer">Made with <img class="bottom-bar-heart" src="/customize/heart.png" alt="love" /> in <img class="bottom-bar-fr" src="/customize/fr.png" alt="France" /></a>'; + out.bottom_support = '<a href="http://labs.xwiki.com/" title="XWiki Labs" target="_blank" rel="noopener noreferrer">An <img src="/customize/logo-xwiki2.png" alt="XWiki SAS" class="bottom-bar-xwiki"/> Labs Project </a> with the support of <a href="http://ng.open-paas.org/" title="OpenPaaS::ng" target="_blank" rel="noopener noreferrer"> <img src="/customize/openpaasng.png" alt="OpenPaaS-ng" class="bottom-bar-openpaas" /></a>'; + + // Header.html + + out.header_france = '<a href="http://www.xwiki.com/" target="_blank" rel="noopener noreferrer">With <img class="bottom-bar-heart" src="/customize/heart.png" alt="love" /> from <img class="bottom-bar-fr" src="/customize/fr.png" title="France" alt="France"/> by <img src="/customize/logo-xwiki.png" alt="XWiki SAS" class="bottom-bar-xwiki"/></a>'; + + out.header_support = '<a href="http://ng.open-paas.org/" title="OpenPaaS::ng" target="_blank" rel="noopener noreferrer"> <img src="/customize/openpaasng.png" alt="OpenPaaS-ng" class="bottom-bar-openpaas" /></a>'; + out.header_logoTitle = '回到主頁'; + + // Initial states + + out.initialState = [ + '<span style="font-size:16px;"><p>', + '這是 <strong>CryptPad</strong>, 零知識即時協作編輯平台,當你輸入時一切已即存好。', + '<br>', + '分享這個工作檔案的網址連結給友人或是使用、 <span style="background-color:#5cb85c;color:#ffffff;"> 分享 </span> 按鈕分享<em>唯讀的連結</em> 其只能看不能編寫。', + '</p>', + + '<p><span style="color:#808080;"><em>', + '來吧, 開始打字輸入吧...', + '</em></span></p></span>', + '<p> <br></p>' + ].join(''); + + out.codeInitialState = [ + '# CryptPad 零知識即時協作代碼編輯平台\n', + '\n', + '* 你所輸入的東西會予以加密,僅有知道此網頁連結者可以接取這份文件。\n', + '* 你可以在右上角選擇欲編寫的程式語言以及樣版配色風格。' + ].join(''); + + out.slideInitialState = [ + '# CryptSlide\n', + '* 它是零知識即時協作編輯平台。\n', + '* 你所輸入的東西會予以加密,僅有知道此網頁連結者可以接取這份文件。\n', + '* 即便是本站伺服器也不知道你輸入了什麼內容。\n', + '* 你在這裏看到的、你在這裏聽到的、當你離開本站時,讓它就留在這裏吧。\n', + '\n', + '---', + '\n', + '# 如何使用\n', + '1. 使用 markdown 語法來寫下你的投影片內容\n', + ' - 進一步學習 markdown 語法 [here](http://www.markdowntutorial.com/)\n', + '2. 利用 --- 來區隔不同的投影片\n', + '3. 點擊下方 "Play" 鍵來查看成果', + ' - 你的投影片會即時更新' + ].join(''); + + // Readme + + out.driveReadmeTitle = "什麼是 CryptDrive?"; + out.readme_welcome = "歡迎來到 CryptPad !"; + out.readme_p1 = "歡迎來到 CryptPad, 這裏你可以獨自作個人筆記或是和別人共享協作。"; + out.readme_p2 = "這個工作檔案可以讓你快速地了解如何使用 CryptPad 作筆記,有效地整理管理文件工作檔案。"; + out.readme_cat1 = "認識如何使用 CryptDrive"; + out.readme_cat1_l1 = "建立一個工作檔案: 在 CryptDrive 底下, 點擊 {0} 然後 {1} 這樣就可以建立一個新的工作檔案。"; // 0: New, 1: Rich Text + out.readme_cat1_l2 = "從 CryptDrive 開啟工作檔案: 雙擊工作檔案的圖示來開啟它。"; + out.readme_cat1_l3 = "分類你的工作檔案:登入之後,每一個你能接取使用的工作檔案會顯示在你雲端硬碟中的 {0} 部份。"; // 0: Unsorted files + out.readme_cat1_l3_l1 = "你可以點擊或是拉曳檔案到雲端硬碟 {0} 區,新增資料夾。"; // 0: Documents + out.readme_cat1_l3_l2 = "記得試著點擊圖示,以顯示更多的選項功能。"; + out.readme_cat1_l4 = "把舊的工作檔案放到垃圾筒:點擊或是拉曳檔案到 {0} 如同把它們拉到文件目錄夾一樣的方法。"; // 0: Trash + out.readme_cat2 = "像個專業人士來編寫你的工作檔案"; + out.edit = "編輯"; + out.view = "檢視"; + out.readme_cat2_l1 = "在工作檔案下的 {0} 按鍵可讓其它的協作者接取 {1} 或是 {2} 工作檔案"; // 0: Share, 1: edit, 2: view + out.readme_cat2_l2 = "若要更改工作檔案的名稱,只要點擊右上的鉛筆圖示即可"; + out.readme_cat3 = "發現其它的 CryptPad 應用"; + out.readme_cat3_l1 = "使用 CryptPad 代碼編輯器,你可以和其它人協作各種程式碼,如 Javascript、 markdown、 HTML 等等。"; + out.readme_cat3_l2 = "使用 CryptPad 投影片編輯功能,你可以使用 Markdown 快速製作簡報檔。"; + out.readme_cat3_l3 = "利用 CryptPoll 你可以快速作個線上調查,尤其是調查每個人有空的會議時間。"; + + // Tips + out.tips = {}; + out.tips.lag = "右上角的綠色圖標顯示你連線至 CryptPad 伺服器的連線品質。"; + out.tips.shortcuts = "`ctrl+b`, `ctrl+i` 和 `ctrl+u` 分別是粗體字、斜體、與加底線用法的快速鍵。"; + out.tips.indent = "要使用數字以及符號列表, 可使用 tab 或 shift+tab 快速地增加或滅少縮排指令。"; + out.tips.title = "點擊正上方來設定工作檔案的標題。"; + out.tips.store = "每一回你造訪一個工作檔案, 如果是登入狀態,則這些檔案會自動儲存到你的 CryptDrive."; + out.tips.marker = "在格式下拉選單中使用 \"marker\" 可以標注反亮文字."; + + out.feedback_about = "如果你讀了這裏,也許會好奇為何當你執行某些動作時 CryptPad 會請求網頁資訊。"; + out.feedback_privacy = "我們注重你的隱私,同時也要讓 CryptPad 容易使用。我們利用這個檔案來了解哪一種介面設計為用戶所重視,透過它來請求特別的功能參數。"; + out.feedback_optout = "如果欲退出客戶資料收集, 請到 <a href='/settings/'>用戶設定頁</a>, 可以找到勾選項目來啟用或關閉用戶回饋功能。"; + + return out; +}); + From 8d4017b79ea8acb1a1810a08bb09cb5186785643 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Mon, 5 Jun 2017 11:35:05 +0200 Subject: [PATCH 227/236] fix parse error --- customize.dist/translations/messages.zh.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/customize.dist/translations/messages.zh.js b/customize.dist/translations/messages.zh.js index ac9b273e8..af8a37615 100644 --- a/customize.dist/translations/messages.zh.js +++ b/customize.dist/translations/messages.zh.js @@ -243,7 +243,7 @@ define(function () { out.fm_selectError = "無法選取目標的要素。如果這個問題一直發生,請試著重新載入此頁。"; out.fm_categoryError = "無法打開所選的類別,正在顯示根目錄。"; out.fm_info_root = "在此建立任何巢狀目錄夾以便於整理分類你的檔案。"; - out.fm_info_unsorted = '包含所有你曾訪問過的檔案,其尚未被整理在 "根目錄" 或移到到"垃圾筒".';「// "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName" + out.fm_info_unsorted = '包含所有你曾訪問過的檔案,其尚未被整理在 "根目錄" 或移到到"垃圾筒".'; // "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName" out.fm_info_template = '包含所有工作檔案已存成模版,便於讓你在建立新工作檔案時套用。'; out.updated_0_fm_info_trash = '清空垃圾筒好讓 CryptDrive 多出一些空間'; out.fm_info_trash = out.updated_0_fm_info_trash; From f43132a63b58c9dd7e00e031a8f9734177c7ddf8 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 6 Jun 2017 10:01:07 +0200 Subject: [PATCH 228/236] bump version in footer and package.json --- customize.dist/about.html | 2 +- customize.dist/contact.html | 2 +- customize.dist/index.html | 2 +- customize.dist/privacy.html | 2 +- customize.dist/src/fragments/footer.html | 2 +- customize.dist/terms.html | 2 +- package.json | 2 +- www/settings/index.html | 2 +- www/user/index.html | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/customize.dist/about.html b/customize.dist/about.html index 3873351dc..dadd21e3b 100644 --- a/customize.dist/about.html +++ b/customize.dist/about.html @@ -117,7 +117,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div> </footer> </body> diff --git a/customize.dist/contact.html b/customize.dist/contact.html index 182912748..768cf2f7c 100644 --- a/customize.dist/contact.html +++ b/customize.dist/contact.html @@ -114,7 +114,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div> </footer> </body> diff --git a/customize.dist/index.html b/customize.dist/index.html index 9f5195b68..db9cef793 100644 --- a/customize.dist/index.html +++ b/customize.dist/index.html @@ -236,7 +236,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div> </footer> </body> diff --git a/customize.dist/privacy.html b/customize.dist/privacy.html index 13cf05dab..8218dbad2 100644 --- a/customize.dist/privacy.html +++ b/customize.dist/privacy.html @@ -135,7 +135,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div> </footer> </body> diff --git a/customize.dist/src/fragments/footer.html b/customize.dist/src/fragments/footer.html index 55b332a0f..a43182135 100644 --- a/customize.dist/src/fragments/footer.html +++ b/customize.dist/src/fragments/footer.html @@ -39,5 +39,5 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div> </footer> diff --git a/customize.dist/terms.html b/customize.dist/terms.html index e5e09e9a0..bda3dcbb9 100644 --- a/customize.dist/terms.html +++ b/customize.dist/terms.html @@ -118,7 +118,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div> </footer> </body> diff --git a/package.json b/package.json index 3f8432ef5..9454404ac 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "cryptpad", "description": "realtime collaborative visual editor with zero knowlege server", - "version": "1.7.0", + "version": "1.8.0", "dependencies": { "chainpad-server": "^1.0.1", "express": "~4.10.1", diff --git a/www/settings/index.html b/www/settings/index.html index 3098251de..28b36675e 100644 --- a/www/settings/index.html +++ b/www/settings/index.html @@ -108,7 +108,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div> </footer> </body> diff --git a/www/user/index.html b/www/user/index.html index 3098251de..28b36675e 100644 --- a/www/user/index.html +++ b/www/user/index.html @@ -108,7 +108,7 @@ </div> </div> </div> - <div class="version-footer">CryptPad v1.7.0 (Hodag)</div> + <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div> </footer> </body> From 85f1fb86d0caad5f29425ee395d532a624a84f03 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 6 Jun 2017 10:28:00 +0200 Subject: [PATCH 229/236] Add missing french translation keys --- customize.dist/translations/messages.fr.js | 8 ++++++++ customize.dist/translations/messages.js | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 71227966c..6e61ff11a 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -60,10 +60,14 @@ define(function () { out.upgrade = "Augmenter votre limite"; out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage"; + + out.upgradeAccount = "Améliorer le compte"; out.MB = "Mo"; out.GB = "Go"; out.KB = "Ko"; + out.supportCryptpad = "Soutenir CryptPad"; + out.formattedMB = "{0} Mo"; out.formattedGB = "{0} Go"; out.formattedKB = "{0} Ko"; @@ -76,6 +80,7 @@ define(function () { out.updated_0_pinLimitReachedAlert = "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CryptDrive.<br>" + 'Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">abonner à une offre premium</a> pour augmenter la limite maximale.'; out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert; + out.pinLimitReachedAlertNoAccounts = out.pinLimitReached; out.pinAboveLimitAlert = 'Depuis la dernière version, nous imposons désormais une limite de 50 Mo de stockage gratuit et vous utilisez actuellement {0}. You devriez soit supprimer certains pads ou soit vous abonner sur <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Votre contribution nous aidera à améliorer CryptPad et à répandre le Zero Knowledge. Vous pouvez contacter le <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> pour tout problème ou question concernant ces changements.'; out.pinLimitNotPinned = "Vous avez atteint votre limite de stockage.<br>"+ "Ce pad n'est pas enregistré dans votre CryptDrive."; @@ -304,6 +309,8 @@ define(function () { out.login_invalPass = 'Mot de passe requis'; out.login_unhandledError = "Une erreur inattendue s'est produite :("; + out.login_notRegistered = 'Pas enregistré ?'; + out.register_importRecent = "Importer l'historique (Recommendé)"; out.register_acceptTerms = "J'accepte <a href='/terms.html'>les conditions d'utilisation</a>"; out.register_passwordsDontMatch = "Les mots de passe doivent être identiques!"; @@ -374,6 +381,7 @@ define(function () { out.upload_name = "Nom du fichier"; out.upload_size = "Taille"; out.upload_progress = "État"; + out.upload_mustLogin = "Vous devez vous connecter pour uploader un fichier"; out.download_button = "Déchiffrer et télécharger"; // general warnings diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 218aa6e99..1ebbc8ea8 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -313,7 +313,6 @@ define(function () { out.login_notRegistered = 'Not registered?'; - out.register_importRecent = "Import pad history (Recommended)"; out.register_acceptTerms = "I accept <a href='/terms.html'>the terms of service</a>"; out.register_passwordsDontMatch = "Passwords do not match!"; From ee57458158479f34e999fa95df3c536fba1221cb Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 6 Jun 2017 10:49:32 +0200 Subject: [PATCH 230/236] Remove the pin limit alert --- customize.dist/translations/messages.es.js | 1 - customize.dist/translations/messages.fr.js | 1 - customize.dist/translations/messages.js | 1 - customize.dist/translations/messages.zh.js | 1 - www/common/cryptpad-common.js | 9 +-------- 5 files changed, 1 insertion(+), 12 deletions(-) diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js index 8f74d2433..a128c2e39 100644 --- a/customize.dist/translations/messages.es.js +++ b/customize.dist/translations/messages.es.js @@ -436,7 +436,6 @@ define(function () { out.pinLimitReachedAlert = ["Has llegado a tu limite de espacio. Nuevos pads no serán guardados en tu CryptDrive.", "Puedes eliminar pads de tu CryptDrive o <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">suscribirte a una oferta premium</a> para obtener más espacio."].join("<br>"); out.pinLimitReachedAlertNoAccounts = "Has llegado a tu limite de espacio"; - out.pinAboveLimitAlert = "Desde esta versión, ponemos un limite de 50MB a las cuentas gratís y estás usando {0}. Tendrás que eliminar unos pads o suscribirte en <a href=\"https://accounts.cryptpad.fr/#!on={1}\" target=\"_blank\">accounts.cryptpad.fr</a>. Tu contribución nos ayuda a mejorar CryptPad y extender el Zero Knowledge. Por favor contacta <a href=\"https://accounts.cryptpad.fr/#/support\" target=\"_blank\">el soporte</a> si tienes preguntas adicionales."; out.previewButtonTitle = "Mostrar/esconder la vista previa Markdown"; out.fm_info_trash = "Vacía tu papelera para liberar espaci en tu CryptDrive."; out.fm_info_anonymous = "No estás conectado, así que estos pads pueden ser borrados (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">¿por qué?</a>). <a href=\"/register/\">Registrate</a> o <a href=\"/login/\">Inicia sesión</a> para asegurarlos."; diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 6e61ff11a..166ed2098 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -81,7 +81,6 @@ define(function () { 'Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">abonner à une offre premium</a> pour augmenter la limite maximale.'; out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert; out.pinLimitReachedAlertNoAccounts = out.pinLimitReached; - out.pinAboveLimitAlert = 'Depuis la dernière version, nous imposons désormais une limite de 50 Mo de stockage gratuit et vous utilisez actuellement {0}. You devriez soit supprimer certains pads ou soit vous abonner sur <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Votre contribution nous aidera à améliorer CryptPad et à répandre le Zero Knowledge. Vous pouvez contacter le <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> pour tout problème ou question concernant ces changements.'; out.pinLimitNotPinned = "Vous avez atteint votre limite de stockage.<br>"+ "Ce pad n'est pas enregistré dans votre CryptDrive."; out.pinLimitDrive = out.pinLimitReached+ ".<br>" + diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 1ebbc8ea8..fa08fb1c7 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -83,7 +83,6 @@ define(function () { 'You can either remove pads from your CryptDrive or <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">subscribe to a premium offer</a> to increase your limit.'; out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert; out.pinLimitReachedAlertNoAccounts = out.pinLimitReached; - out.pinAboveLimitAlert = 'As of this release, we are imposing a 50MB limit on free data storage and you are currently using {0}. You will need to either delete some pads or subscribe on <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Your contribution will help us improve CryptPad and spread Zero Knowledge. Please contact <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> if you have any other questions.'; out.pinLimitNotPinned = "You've reached your storage limit.<br>"+ "This pad is not stored in your CryptDrive."; out.pinLimitDrive = "You've reached your storage limit.<br>" + diff --git a/customize.dist/translations/messages.zh.js b/customize.dist/translations/messages.zh.js index af8a37615..81560c69a 100644 --- a/customize.dist/translations/messages.zh.js +++ b/customize.dist/translations/messages.zh.js @@ -82,7 +82,6 @@ define(function () { out.updated_0_pinLimitReachedAlert = "你已達到儲存容量上限,新檔案不會儲存到你的 CryptDrive.<br>" + '要嘛你可以自 CryptDrive 移除原有文件或是 <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">昇級到付費版</a>增加你的儲存容量。'; out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert; - out.pinAboveLimitAlert = '這個版本中, 我們對免費用戶實施 50MB 容量上限的儲存限制,你目前已使用了 {0}。你可以刪除一些檔案或是昇級到付費帳戶 <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>。你的貢獻可助我們改善 CryptPad 並散佈零知識技術。可聯絡 <a href="https://accounts.cryptpad.fr/#/support" target="_blank">用戶支援</a>如果有任何問題的話。'; out.pinLimitNotPinned = "你已達到容量使用上限<br>"+ "這個檔案無法儲存到你的 CryptDrive."; out.pinLimitDrive = "你已達到容量使用上限<br>" + diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 039d2c4a0..f5b30aadf 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -803,7 +803,6 @@ define([ }; var LIMIT_REFRESH_RATE = 30000; // milliseconds - var limitReachedDisplayed = false; common.createUsageBar = function (cb, alwaysDisplayUpgrade) { var todo = function (err, state, data) { var $container = $('<span>', {'class':'limit-container'}); @@ -854,13 +853,7 @@ define([ if (quota < 0.8) { $usage.addClass('normal'); } else if (quota < 1) { $usage.addClass('warning'); } - else { - $usage.addClass('above'); - if (!limitReachedDisplayed && Config.noSubscriptionButton === true) { - limitReachedDisplayed = true; - common.alert(Messages._getKey('pinAboveLimitAlert', [prettyUsage, encodeURIComponent(window.location.hostname)]), null, true); - } - } + else { $usage.addClass('above'); } var $text = $('<span>', {'class': 'usageText'}); $text.text(usage + ' / ' + prettyLimit); $limit.append($usage).append($text); From ac91d2f413812bddd82c0686cddf2116f8f3a6fb Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 6 Jun 2017 11:37:54 +0200 Subject: [PATCH 231/236] Fix the upgrade and donate buttons in the home page --- customize.dist/main.js | 31 +++------------------- customize.dist/translations/messages.fr.js | 2 +- www/common/cryptpad-common.js | 1 + www/common/toolbar2.js | 5 +++- www/settings/main.js | 29 +------------------- 5 files changed, 10 insertions(+), 58 deletions(-) diff --git a/customize.dist/main.js b/customize.dist/main.js index b6149b8ef..a55bd7b44 100644 --- a/customize.dist/main.js +++ b/customize.dist/main.js @@ -3,6 +3,7 @@ define([ '/customize/application_config.js', '/common/cryptpad-common.js', '/api/config', + '/customize/header.js', ], function ($, Config, Cryptpad, ApiConfig) { window.APP = { @@ -14,29 +15,6 @@ define([ $(function () { var $main = $('#mainBlock'); - // Language selector - var $sel = $('#language-selector'); - Cryptpad.createLanguageSelector(undefined, $sel); - $sel.find('button').addClass('btn').addClass('btn-secondary'); - $sel.show(); - - var $upgrade = $('#upgrade'); - - var showUpgrade = function (text) { - if (ApiConfig.removeDonateButton) { return; } - if (localStorage.plan) { return; } - if (!text) { return; } - $upgrade.text(text).show(); - }; - - // User admin menu - var $userMenu = $('#user-menu'); - var userMenuCfg = { - $initBlock: $userMenu - }; - var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg); - $userAdmin.find('button').addClass('btn').addClass('btn-secondary'); - $(window).click(function () { $('.cryptpad-dropdown').hide(); }); @@ -66,13 +44,11 @@ define([ }); }); - showUpgrade(Messages.upgradeAccount); - $loggedInBlock.removeClass('hidden'); - } else { + } + else { $main.find('#userForm').removeClass('hidden'); $('#name').focus(); - showUpgrade(Messages.supportCryptpad); } var displayCreateButtons = function () { @@ -99,7 +75,6 @@ define([ var $block = Cryptpad.createDropdown(dropdownConfig); $block.find('button').addClass('btn').addClass('btn-primary'); $block.appendTo($parent); - }; /* Log in UI */ diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 166ed2098..64b40f553 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -308,7 +308,7 @@ define(function () { out.login_invalPass = 'Mot de passe requis'; out.login_unhandledError = "Une erreur inattendue s'est produite :("; - out.login_notRegistered = 'Pas enregistré ?'; + out.login_notRegistered = 'Pas encore inscrit ?'; out.register_importRecent = "Importer l'historique (Recommendé)"; out.register_acceptTerms = "J'accepte <a href='/terms.html'>les conditions d'utilisation</a>"; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index f5b30aadf..86ff53c14 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -27,6 +27,7 @@ define([ Messages: Messages, Clipboard: Clipboard, donateURL: 'https://accounts.cryptpad.fr/#/donate?on=' + window.location.hostname, + upgradeURL: 'https://accounts.cryptpad.fr/#/?on=' + window.location.hostname, account: {}, }; diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index d4e5931f1..af188f0e8 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -703,12 +703,15 @@ define([ var text; var feedback; + var url; if (ApiConfig.allowSubscriptions && Cryptpad.isLoggedIn()) { text = Messages.upgradeAccount; feedback = "UPGRADE_ACCOUNT"; + url = Cryptpad.upgradeURL; } else { text = Messages.supportCryptpad; feedback = "SUPPORT_CRYPTPAD"; + url = Cryptpad.donateURL; } var $upgrade = toolbar.$top.find('.' + UPGRADE_CLS).attr({ @@ -716,7 +719,7 @@ define([ }).text(text).show() .click(function () { Cryptpad.feedback(feedback); - window.open(Cryptpad.donateURL,'_blank'); + window.open(url,'_blank'); }); return $upgrade; }; diff --git a/www/settings/main.js b/www/settings/main.js index d02825fc1..3f0ab0331 100644 --- a/www/settings/main.js +++ b/www/settings/main.js @@ -5,6 +5,7 @@ define([ '/common/mergeDrive.js', '/api/config', '/bower_components/file-saver/FileSaver.min.js', + '/customize/header.js', ], function ($, Cryptpad, Crypt, Merge, ApiConfig) { var saveAs = window.saveAs; @@ -15,14 +16,6 @@ define([ _onRefresh: [] }; - var $upgrade = $('#upgrade'); - var showUpgrade = function (text) { - if (ApiConfig.removeDonateButton) { return; } - if (localStorage.plan) { return; } - if (!text) { return; } - $upgrade.text(text).show(); - }; - var Messages = Cryptpad.Messages; // Manage changes in the realtime object made from another page @@ -333,30 +326,10 @@ define([ APP.$container.append(createUserFeedbackToggle(obj)); obj.proxy.on('change', [], refresh); obj.proxy.on('remove', [], refresh); - - - if (Cryptpad.isLoggedIn()) { - showUpgrade(Messages.upgradeAccount); - } else { - showUpgrade(Messages.supportCryptpad); - } }; $(function () { var $main = $('#mainBlock'); - // Language selector - var $sel = $('#language-selector'); - Cryptpad.createLanguageSelector(undefined, $sel); - $sel.find('button').addClass('btn').addClass('btn-secondary'); - $sel.show(); - - // User admin menu - var $userMenu = $('#user-menu'); - var userMenuCfg = { - $initBlock: $userMenu - }; - var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg); - $userAdmin.find('button').addClass('btn').addClass('btn-secondary'); $(window).click(function () { $('.cryptpad-dropdown').hide(); From 5641a4a839cad73bf63ef64fee9215c446df276f Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 6 Jun 2017 11:52:47 +0200 Subject: [PATCH 232/236] Add the file app in the 'new' dropdown menus --- customize.dist/application_config.js | 3 ++- customize.dist/main.js | 2 ++ www/common/toolbar2.js | 2 ++ www/drive/main.js | 4 ++++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/customize.dist/application_config.js b/customize.dist/application_config.js index 151a8b7da..af2474775 100644 --- a/customize.dist/application_config.js +++ b/customize.dist/application_config.js @@ -4,7 +4,8 @@ define(function() { /* Select the buttons displayed on the main page to create new collaborative sessions * Existing types : pad, code, poll, slide */ - config.availablePadTypes = ['drive', 'pad', 'code', 'slide', 'poll', 'whiteboard']; + config.availablePadTypes = ['drive', 'pad', 'code', 'slide', 'poll', 'whiteboard', 'file']; + config.registeredOnlyTypes = ['file']; /* Cryptpad apps use a common API to display notifications to users * by default, notifications are hidden after 5 seconds diff --git a/customize.dist/main.js b/customize.dist/main.js index a55bd7b44..72cfdd33c 100644 --- a/customize.dist/main.js +++ b/customize.dist/main.js @@ -57,6 +57,8 @@ define([ var $container = $('<div>', {'class': 'dropdown-bar'}).appendTo($parent); Config.availablePadTypes.forEach(function (el) { if (el === 'drive') { return; } + if (!Cryptpad.isLoggedIn() && Config.registeredOnlyTypes && + Config.registeredOnlyTypes.indexOf(el) !== -1) { return; } options.push({ tag: 'a', attributes: { diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js index af188f0e8..8740606ee 100644 --- a/www/common/toolbar2.js +++ b/www/common/toolbar2.js @@ -636,6 +636,8 @@ define([ var pads_options = []; Config.availablePadTypes.forEach(function (p) { if (p === 'drive') { return; } + if (!Cryptpad.isLoggedIn() && Config.registeredOnlyTypes && + Config.registeredOnlyTypes.indexOf(p) !== -1) { return; } pads_options.push({ tag: 'a', attributes: { diff --git a/www/drive/main.js b/www/drive/main.js index 03dcb7716..10d98e400 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -1370,6 +1370,10 @@ define([ } AppConfig.availablePadTypes.forEach(function (type) { if (type === 'drive') { return; } + if (!Cryptpad.isLoggedIn() && AppConfig.registeredOnlyTypes && + AppConfig.registeredOnlyTypes.indexOf(type) !== -1) { + return; + } var attributes = { 'class': 'newdoc', 'data-type': type, From f1271bfd03edbbf05d5626224fb18a389dd76180 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 6 Jun 2017 11:56:22 +0200 Subject: [PATCH 233/236] Missing file --- customize.dist/header.js | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 customize.dist/header.js diff --git a/customize.dist/header.js b/customize.dist/header.js new file mode 100644 index 000000000..7a2ac9295 --- /dev/null +++ b/customize.dist/header.js @@ -0,0 +1,53 @@ +define([ + 'jquery', + '/customize/application_config.js', + '/common/cryptpad-common.js', + '/api/config', +], function ($, Config, Cryptpad, ApiConfig) { + + window.APP = { + Cryptpad: Cryptpad, + }; + + var Messages = Cryptpad.Messages; + + $(function () { + // Language selector + var $sel = $('#language-selector'); + Cryptpad.createLanguageSelector(undefined, $sel); + $sel.find('button').addClass('btn').addClass('btn-secondary'); + $sel.show(); + + var $upgrade = $('#upgrade'); + + var showUpgrade = function (text, feedback, url) { + if (ApiConfig.removeDonateButton) { return; } + if (localStorage.plan) { return; } + if (!text) { return; } + $upgrade.text(text).show(); + $upgrade.click(function () { + Cryptpad.feedback(feedback); + window.open(url,'_blank'); + }); + }; + + // User admin menu + var $userMenu = $('#user-menu'); + var userMenuCfg = { + $initBlock: $userMenu + }; + var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg); + $userAdmin.find('button').addClass('btn').addClass('btn-secondary'); + + $(window).click(function () { + $('.cryptpad-dropdown').hide(); + }); + + if (Cryptpad.isLoggedIn() && ApiConfig.allowSubscriptions) { + showUpgrade(Messages.upgradeAccount, "HOME_UPGRADE_ACCOUNT", Cryptpad.upgradeURL); + } else { + showUpgrade(Messages.supportCryptpad, "HOME_SUPPORT_CRYPTPAD", Cryptpad.donateURL); + } + }); +}); + From 811d031ffd407df64425d75488dc01e8ffa2a329 Mon Sep 17 00:00:00 2001 From: yflory <yann.flory@xwiki.com> Date: Tue, 6 Jun 2017 12:09:55 +0200 Subject: [PATCH 234/236] Fix the 'File' entry in the drive 'New' menu --- www/drive/main.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/www/drive/main.js b/www/drive/main.js index 10d98e400..b6cdfd2c9 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -1415,6 +1415,12 @@ define([ }); $block.find('a.newdoc').click(function () { var type = $(this).attr('data-type') || 'pad'; + // We can't create a hash for files before uploading the file + if (type === 'file') { // TODO: remove when filename are gone? + sessionStorage[Cryptpad.newPadPathKey] = filesOp.isPathIn(currentPath, [TRASH]) ? '' : currentPath; + window.open('/' + type + '/'); + return; + } var name = Cryptpad.getDefaultName({type: type}); filesOp.addFile(currentPath, name, type, onCreated); }); From d25477e8c6cf279a617233734b5e567a7c273755 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Tue, 6 Jun 2017 18:08:23 +0200 Subject: [PATCH 235/236] don't let tooltips interfere with DOM interaction --- www/common/common-interface.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/www/common/common-interface.js b/www/common/common-interface.js index 19066b06f..5d1e01cc8 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -194,10 +194,16 @@ define([ }; UI.removeLoadingScreen = function (cb) { $('#' + LOADING).fadeOut(750, cb); - $('#loadingTip').css('top', '') + var $tip = $('#loadingTip').css('top', '') // loading.less sets transition-delay: $wait-time // and transition: opacity $fadeout-time - .css('opacity', 0); + .css({ + 'opacity': 0, + 'pointer-events': 'none', + }); + setTimeout(function () { + $tip.remove(); + }, 3750); // jquery.fadeout can get stuck }; UI.errorLoadingScreen = function (error, transparent) { From 2f851ab97ebaaf4d1995d36c2776ca56035ab321 Mon Sep 17 00:00:00 2001 From: ansuz <ansuz@transitiontech.ca> Date: Wed, 7 Jun 2017 10:13:51 +0200 Subject: [PATCH 236/236] fix lint errors --- customize.dist/main.js | 3 +-- www/settings/main.js | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/customize.dist/main.js b/customize.dist/main.js index 72cfdd33c..f2580bbe1 100644 --- a/customize.dist/main.js +++ b/customize.dist/main.js @@ -2,9 +2,8 @@ define([ 'jquery', '/customize/application_config.js', '/common/cryptpad-common.js', - '/api/config', '/customize/header.js', -], function ($, Config, Cryptpad, ApiConfig) { +], function ($, Config, Cryptpad) { window.APP = { Cryptpad: Cryptpad, diff --git a/www/settings/main.js b/www/settings/main.js index 3f0ab0331..c7379db3a 100644 --- a/www/settings/main.js +++ b/www/settings/main.js @@ -3,10 +3,9 @@ define([ '/common/cryptpad-common.js', '/common/cryptget.js', '/common/mergeDrive.js', - '/api/config', '/bower_components/file-saver/FileSaver.min.js', '/customize/header.js', -], function ($, Cryptpad, Crypt, Merge, ApiConfig) { +], function ($, Cryptpad, Crypt, Merge) { var saveAs = window.saveAs; var USERNAME_KEY = 'cryptpad.username';