diff --git a/.babelrc.js b/.babelrc.js deleted file mode 100644 index 5cfbddd7a0..0000000000 --- a/.babelrc.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - plugins: ['@babel/plugin-syntax-dynamic-import'], - presets: [ - [ - '@babel/preset-env', - { - modules: false - } - ] - ] -}; diff --git a/Makefile b/Makefile index a3e1d4eab6..0de4d002ee 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,7 @@ lint-fix-watch: clean: rm -rf apps/accessibility/js/ rm -rf apps/comments/js/ + rm -rf apps/files/js/dist/ rm -rf apps/files_sharing/js/dist/ rm -rf apps/files_trashbin/js/ rm -rf apps/files_versions/js/ @@ -47,6 +48,7 @@ clean-dev: clean-git: clean git checkout -- apps/accessibility/js/ git checkout -- apps/comments/js/ + git checkout -- apps/files/js/dist/ git checkout -- apps/files_sharing/js/dist/ git checkout -- apps/files_trashbin/js/ git checkout -- apps/files_versions/js/ diff --git a/apps/comments/js/comments.js b/apps/comments/js/comments.js index 0af7b54d60..e53e7b984d 100644 --- a/apps/comments/js/comments.js +++ b/apps/comments/js/comments.js @@ -1,2 +1,2 @@ -!function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/js/",n(n.s=3)}([function(t,e){t.exports=jQuery},function(t,e,n){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||"",o=t[3];if(!o)return n;if(e&&"function"==typeof btoa){var i=(r=o,s=btoa(unescape(encodeURIComponent(JSON.stringify(r)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(l," */")),a=o.sources.map((function(t){return"/*# sourceURL=".concat(o.sourceRoot).concat(t," */")}));return[n].concat(a).concat([i]).join("\n")}var r,s,l;return[n].join("\n")}(e,t);return e[2]?"@media ".concat(e[2],"{").concat(n,"}"):n})).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},i=0;in.parts.length&&(o.parts.length=n.parts.length)}else{var r=[];for(i=0;i\n\t\t\t\n'},11:function(t,e,n,o,i){return'\t\t
\n'},compiler:[7,">= 4.0.0"],main:function(t,e,o,i,a){var r,s,l=null!=e?e:t.nullContext||{},c=o.helperMissing,m="function",u=t.escapeExpression;return'
  • \n\t
    \n\t\t
    \n\t\t
    '+u(n(s=null!=(s=o.actorDisplayName||(null!=e?e.actorDisplayName:e))?s:c)===m?s.call(l,{name:"actorDisplayName",hash:{},data:a}):s)+"
    \n"+(null!=(r=o.if.call(l,null!=e?e.isUserAuthor:e,{name:"if",hash:{},fn:t.program(9,a,0),inverse:t.noop,data:a}))?r:"")+'\t\t
    '+u(n(s=null!=(s=o.date||(null!=e?e.date:e))?s:c)===m?s.call(l,{name:"date",hash:{},data:a}):s)+'
    \n\t
    \n\t
    '+(null!=(r=n(s=null!=(s=o.formattedMessage||(null!=e?e.formattedMessage:e))?s:c)===m?s.call(l,{name:"formattedMessage",hash:{},data:a}):s)?r:"")+"
    \n"+(null!=(r=o.if.call(l,null!=e?e.isLong:e,{name:"if",hash:{},fn:t.program(11,a,0),inverse:t.noop,data:a}))?r:"")+"
  • \n"},useData:!0}),i.commentsmodifymenu=o({1:function(t,e,o,i,a){var r,s,l=null!=e?e:t.nullContext||{},c=o.helperMissing,m=t.escapeExpression;return'\t\t
  • \n\t\t\t\n'+(null!=(r=o.if.call(l,null!=e?e.iconClass:e,{name:"if",hash:{},fn:t.program(2,a,0),inverse:t.program(4,a,0),data:a}))?r:"")+"\t\t\t\t"+m("function"===n(s=null!=(s=o.displayName||(null!=e?e.displayName:e))?s:c)?s.call(l,{name:"displayName",hash:{},data:a}):s)+"\n\t\t\t\n\t\t
  • \n"},2:function(t,e,n,o,i){var a;return'\t\t\t\t\t\n'},4:function(t,e,n,o,i){return'\t\t\t\t\t\n'},compiler:[7,">= 4.0.0"],main:function(t,e,n,o,i){var a;return"\n"},useData:!0}),i.edit_comment=o({1:function(t,e,n,o,i){var a;return'\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n'},compiler:[7,">= 4.0.0"],main:function(t,e,o,i,a){var r,s,l=null!=e?e:t.nullContext||{},c=o.helperMissing,m="function",u=t.escapeExpression;return"<"+u(n(s=null!=(s=o.tag||(null!=e?e.tag:e))?s:c)===m?s.call(l,{name:"tag",hash:{},data:a}):s)+' class="newCommentRow comment" data-id="'+u(n(s=null!=(s=o.id||(null!=e?e.id:e))?s:c)===m?s.call(l,{name:"id",hash:{},data:a}):s)+'">\n\t
    \n\t\t
    \n\t\t
    '+u(n(s=null!=(s=o.actorDisplayName||(null!=e?e.actorDisplayName:e))?s:c)===m?s.call(l,{name:"actorDisplayName",hash:{},data:a}):s)+"
    \n"+(null!=(r=o.if.call(l,null!=e?e.isEditMode:e,{name:"if",hash:{},fn:t.program(1,a,0),inverse:t.noop,data:a}))?r:"")+'\t
    \n\t
    \n\t\t
    '+u(n(s=null!=(s=o.message||(null!=e?e.message:e))?s:c)===m?s.call(l,{name:"message",hash:{},data:a}):s)+'
    \n\t\t\n\t\t\n\t
    \n\n"},useData:!0}),i.filesplugin=o({compiler:[7,">= 4.0.0"],main:function(t,e,o,i,a){var r,s=null!=e?e:t.nullContext||{},l=o.helperMissing,c=t.escapeExpression;return'\n\t\n\n'},useData:!0}),i.view=o({compiler:[7,">= 4.0.0"],main:function(t,e,o,i,a){var r,s=null!=e?e:t.nullContext||{},l=o.helperMissing,c=t.escapeExpression;return'\n\n\n\n'},useData:!0})},function(t,e){!function(t,e){_.extend(t.Files.Client,{PROPERTY_FILEID:"{"+t.Files.Client.NS_OWNCLOUD+"}id",PROPERTY_MESSAGE:"{"+t.Files.Client.NS_OWNCLOUD+"}message",PROPERTY_ACTORTYPE:"{"+t.Files.Client.NS_OWNCLOUD+"}actorType",PROPERTY_ACTORID:"{"+t.Files.Client.NS_OWNCLOUD+"}actorId",PROPERTY_ISUNREAD:"{"+t.Files.Client.NS_OWNCLOUD+"}isUnread",PROPERTY_OBJECTID:"{"+t.Files.Client.NS_OWNCLOUD+"}objectId",PROPERTY_OBJECTTYPE:"{"+t.Files.Client.NS_OWNCLOUD+"}objectType",PROPERTY_ACTORDISPLAYNAME:"{"+t.Files.Client.NS_OWNCLOUD+"}actorDisplayName",PROPERTY_CREATIONDATETIME:"{"+t.Files.Client.NS_OWNCLOUD+"}creationDateTime",PROPERTY_MENTIONS:"{"+t.Files.Client.NS_OWNCLOUD+"}mentions"});var n=t.Backbone.Model.extend({sync:t.Backbone.davSync,defaults:{actorType:"users",objectType:"files"},davProperties:{id:t.Files.Client.PROPERTY_FILEID,message:t.Files.Client.PROPERTY_MESSAGE,actorType:t.Files.Client.PROPERTY_ACTORTYPE,actorId:t.Files.Client.PROPERTY_ACTORID,actorDisplayName:t.Files.Client.PROPERTY_ACTORDISPLAYNAME,creationDateTime:t.Files.Client.PROPERTY_CREATIONDATETIME,objectType:t.Files.Client.PROPERTY_OBJECTTYPE,objectId:t.Files.Client.PROPERTY_OBJECTID,isUnread:t.Files.Client.PROPERTY_ISUNREAD,mentions:t.Files.Client.PROPERTY_MENTIONS},parse:function(t){return{id:t.id,message:t.message,actorType:t.actorType,actorId:t.actorId,actorDisplayName:t.actorDisplayName,creationDateTime:t.creationDateTime,objectType:t.objectType,objectId:t.objectId,isUnread:"true"===t.isUnread,mentions:this._parseMentions(t.mentions)}},_parseMentions:function(t){if(_.isUndefined(t))return{};var e={};for(var n in t){var o=t[n];if(!_.isUndefined(o.localName)&&"mention"===o.localName){e[n]={};for(var i=o.firstChild;i;i=i.nextSibling)!_.isUndefined(i.localName)&&i.localName.startsWith("mention")&&(e[n][i.localName]=i.textContent)}}return e}});e.Comments.CommentModel=n}(OC,OCA)},function(t,e){!function(t,e){var n=t.Backbone.Collection.extend({sync:t.Backbone.davSync,model:e.Comments.CommentModel,_objectType:"files",_objectId:null,_endReached:!1,_limit:20,initialize:function(t,e){(e=e||{}).objectType&&(this._objectType=e.objectType),e.objectId&&(this._objectId=e.objectId)},url:function(){return t.linkToRemote("dav")+"/comments/"+encodeURIComponent(this._objectType)+"/"+encodeURIComponent(this._objectId)+"/"},setObjectId:function(t){this._objectId=t},hasMoreResults:function(){return!this._endReached},reset:function(){return this._endReached=!1,this._summaryModel=null,t.Backbone.Collection.prototype.reset.apply(this,arguments)},fetchNext:function(t){var e=this;if(!this.hasMoreResults())return null;var o='\n\n '+(this._limit+1)+"\n "+this.length+"\n\n",i=(t=t||{}).success;return t=_.extend({remove:!1,parse:!0,data:o,davProperties:n.prototype.model.prototype.davProperties,success:function(n){if(n.length<=e._limit?e._endReached=!0:n=_.initial(n),!e.set(n,t))return!1;i&&i.apply(null,arguments),e.trigger("sync","REPORT",e,t)}},t),this.sync("REPORT",this,t)},getSummaryModel:function(){return this._summaryModel||(this._summaryModel=new e.Comments.CommentSummaryModel({id:this._objectId,objectType:this._objectType})),this._summaryModel},updateReadMarker:function(t,e){return e=e||{},this.getSummaryModel().save({readMarker:(t||new Date).toUTCString()},e)}});e.Comments.CommentCollection=n}(OC,OCA)},function(t,e){!function(t,e){_.extend(t.Files.Client,{PROPERTY_READMARKER:"{"+t.Files.Client.NS_OWNCLOUD+"}readMarker"});var n=t.Backbone.Model.extend({sync:t.Backbone.davSync,_objectType:"files",_objectId:null,davProperties:{readMarker:t.Files.Client.PROPERTY_READMARKER},initialize:function(t,e){(e=e||{}).objectType&&(this._objectType=e.objectType)},url:function(){return t.linkToRemote("dav")+"/comments/"+encodeURIComponent(this._objectType)+"/"+encodeURIComponent(this.id)+"/"}});e.Comments.CommentSummaryModel=n}(OC,OCA)},function(e,n){!function(e,n){var o=n.Files.DetailTabView.extend({id:"commentsTabView",className:"tab commentsTabView",_autoCompleteData:void 0,_commentsModifyMenu:void 0,events:{"submit .newCommentForm":"_onSubmitComment","click .showMore":"_onClickShowMore","click .cancel":"_onClickCloseComment","click .comment":"_onClickComment","keyup div.message":"_onTextChange","change div.message":"_onTextChange","input div.message":"_onTextChange","paste div.message":"_onPaste"},_commentMaxLength:1e3,initialize:function(){n.Files.DetailTabView.prototype.initialize.apply(this,arguments),this.collection=new n.Comments.CommentCollection,this.collection.on("request",this._onRequest,this),this.collection.on("sync",this._onEndRequest,this),this.collection.on("add",this._onAddModel,this),this.collection.on("change:message",this._onChangeModel,this),this._commentMaxThreshold=.9*this._commentMaxLength,_.bindAll(this,"_onTypeComment","_initAutoComplete","_onAutoComplete")},template:function(t){var o=e.getCurrentUser();return n.Comments.Templates.view(_.extend({actorId:o.uid,actorDisplayName:o.displayName},t))},editCommentTemplate:function(o){var i=e.getCurrentUser();return n.Comments.Templates.edit_comment(_.extend({actorId:i.uid,actorDisplayName:i.displayName,newMessagePlaceholder:t("comments","New comment …"),submitText:t("comments","Post"),cancelText:t("comments","Cancel"),tag:"li"},o))},commentTemplate:function(o){return"deleted_users"===(o=_.extend({editTooltip:t("comments","Edit comment"),isUserAuthor:e.getCurrentUser().uid===o.actorId,isLong:this._isLong(o.message)},o)).actorType&&(o.actorId=null,o.actorDisplayName=t("comments","[Deleted user]")),n.Comments.Templates.comment(o)},getLabel:function(){return t("comments","Comments")},getIcon:function(){return"icon-comment"},setFileInfo:function(t){t?(this.model=t,this.render(),this._initAutoComplete($("#commentsTabView").find(".newCommentForm .message")),this.collection.setObjectId(this.model.id),this.collection.reset([],{silent:!0}),this.nextPage()):(this.model=null,this.render(),this.collection.reset())},render:function(){this.$el.html(this.template({emptyResultLabel:t("comments","No comments yet, start the conversation!"),moreLabel:t("comments","More comments …")})),this.$el.find(".comments").before(this.editCommentTemplate({tag:"div"})),this.$el.find(".has-tooltip").tooltip(),this.$container=this.$el.find("ul.comments"),this.$el.find(".avatar").avatar(e.getCurrentUser().uid,32),this.delegateEvents(),this.$el.find(".message").on("keydown input change",this._onTypeComment),autosize(this.$el.find(".newCommentRow .message")),this.$el.find(".newCommentForm .message").focus()},_initAutoComplete:function(t){var n=this,o=10;_.isUndefined(e.appConfig.comments)||(o=e.appConfig.comments.maxAutoCompleteResults),t.atwho({at:"@",limit:o,callbacks:{remoteFilter:n._onAutoComplete,highlighter:function(t){var e=$(t);return e.find(".avatar").avatar(void 0,32),e},sorter:function(t,e){return e}},displayTpl:function(t){return'
  • '+escapeHTML(t.label)+"
  • "},insertTpl:function(t){return''+escapeHTML(t.label)+""},searchKey:"label"}),t.on("inserted.atwho",(function(t,e){n._postRenderItem($(t.target).find('span[data-username="'+e.find("[data-username]").data("username")+'"]').parent(),!0)}))},_onAutoComplete:function(t,n){var o=this;_.isUndefined(this._autoCompleteRequestTimer)||clearTimeout(this._autoCompleteRequestTimer),this._autoCompleteRequestTimer=_.delay((function(){_.isUndefined(this._autoCompleteRequestCall)||this._autoCompleteRequestCall.abort(),this._autoCompleteRequestCall=$.ajax({url:e.linkToOCS("core",2)+"autocomplete/get",data:{search:t,itemType:"files",itemId:o.model.get("id"),sorter:"commenters|share-recipients",limit:e.appConfig.comments.maxAutoCompleteResults},beforeSend:function(t){t.setRequestHeader("Accept","application/json")},success:function(t){n(t.ocs.data)}})}),400)},_formatItem:function(t){var n=new Date(t.get("creationDateTime")).getTime();return _.extend({timestamp:n,date:e.Util.relativeModifiedDate(n),altDate:e.Util.formatDate(n),formattedMessage:this._formatMessage(t.get("message"),t.get("mentions"))},t.attributes)},_toggleLoading:function(t){this._loading=t,this.$el.find(".loading").toggleClass("hidden",!t)},_onRequest:function(t){"REPORT"===t&&(this._toggleLoading(!0),this.$el.find(".showMore").addClass("hidden"))},_onEndRequest:function(t){var e=this.model;(this._toggleLoading(!1),this.$el.find(".emptycontent").toggleClass("hidden",!!this.collection.length),this.$el.find(".showMore").toggleClass("hidden",!this.collection.hasMoreResults()),"REPORT"===t)&&(this.collection.findWhere({isUnread:!0})&&this.collection.updateReadMarker(null,{success:function(){e.set("commentsUnread",0)}}),this.$el.find(".newCommentForm .message").focus())},_onAddModel:function(t,e,n){var o=$(this.commentTemplate(this._formatItem(t)));!_.isUndefined(n.at)&&e.length>1?this.$container.find("li").eq(n.at).before(o):this.$container.append(o),this._postRenderItem(o),$("#commentsTabView").find(".newCommentForm div.message").text("").prop("contenteditable",!0);var i=t.get("mentions"),a=this;t.fetch({success:function(t){if(!_.isEqual(i,t.get("mentions"))){var e=$(a.commentTemplate(a._formatItem(t)));o.html(e.html()),a._postRenderItem(o)}}})},_onChangeModel:function(t){if(t.get("message").trim()!==t.previous("message").trim()){var e=this.$container.find('.comment[data-id="'+t.id+'"] form').closest(".comment"),n=e.data("commentEl");if(!_.isUndefined(n)){var o=this;t.fetch({success:function(t){n.removeClass("hidden"),e.remove();var i=n.find(".message");i.html(o._formatMessage(t.get("message"),t.get("mentions"))).find(".avatar").each((function(){$(this).avatar()})),o._postRenderItem(i)}})}}},_postRenderItem:function(t,o){t.find(".has-tooltip").tooltip();var i=t.find(".message .avatar");$(t.context).hasClass("message")&&(i=t.find(".avatar")),i.each((function(){var t=$(this);t.avatar(t.attr("data-username"),16)})),t.find(".authorRow .avatar").each((function(){var t=$(this);t.avatar(t.attr("data-username"),32)}));var a=t.find(".avatar").data("username");a!==e.getCurrentUser().uid&&t.find(".authorRow .avatar, .authorRow .author").contactsMenu(a,0,t.find(".authorRow"));var r=t.find(".message");if(0===r.length&&(r=t),!o){var s=this,l=new n.Comments.CommentsModifyMenu;t.find(".authorRow").append(l.$el),t.find(".more").on("click",_.bind(l.show,l)),s.listenTo(l,"select:menu-item-clicked",(function(t,e){"edit"===e?s._onClickEditComment(t):"delete"===e&&s._onClickDeleteComment(t)}))}this._postRenderMessage(r,o)},_postRenderMessage:function(t,n){n||t.find(".avatar-name-wrapper").each((function(){var t=$(this),n=t.find(".avatar").data("user");n!==e.getCurrentUser().uid&&t.contactsMenu(n,0,t)}))},_formatMessage:function(t,e,n){for(var o in t=escapeHTML(t).replace(/\n/g,"
    "),e){if(!e.hasOwnProperty(o))return;var i="@"+e[o].mentionId;-1!==e[o].mentionId.indexOf(" ")&&(i=_.escape('@"'+e[o].mentionId+'"')),i=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");var a=new RegExp("(^|\\s)("+i+")\\b","g");-1!==e[o].mentionId.indexOf(" ")&&(a=new RegExp("(^|\\s)("+i+")","g"));var r=this._composeHTMLMention(e[o].mentionId,e[o].mentionDisplayName);t=t.replace(a,(function(t,e){return e+r}))}return!0!==n&&(t=OCP.Comments.plainToRich(t)),t},_composeHTMLMention:function(t,n){var o='';return''+o+""+_.escape(n)+""},nextPage:function(){!this._loading&&this.collection.hasMoreResults()&&this.collection.fetchNext()},_onClickEditComment:function(e){e.preventDefault();var n=$(e.target).closest(".comment"),o=n.data("id"),i=this.collection.get(o),a=$(this.editCommentTemplate(_.extend({isEditMode:!0,submitText:t("comments","Save")},i.attributes)));n.addClass("hidden").removeClass("collapsed"),n.after(a),a.data("commentEl",n),a.find(".message").on("keydown input change",this._onTypeComment),a.find(".avatar:first").replaceWith(n.find(".avatar:first").clone()),a.find(".has-tooltip").tooltip();var r=a.find(".message");r.html(this._formatMessage(i.get("message"),i.get("mentions"),!0)).find(".avatar").each((function(){$(this).avatar()}));return this._postRenderItem(r,!0),autosize(a.find(".message")),this._initAutoComplete(a.find(".message")),!1},_onTypeComment:function(e){var n=$(e.target),o=n.text().length,i=n.data("submitButtonEl");i||(i=n.closest("form").find(".submit"),n.data("submitButtonEl",i)),n.tooltip("hide"),o>this._commentMaxThreshold&&(n.attr("data-original-title",t("comments","Allowed characters {count} of {max}",{count:o,max:this._commentMaxLength})),n.tooltip({trigger:"manual"}),n.tooltip("show"),n.addClass("error"));var a=o>this._commentMaxLength;n.toggleClass("error",a),i.prop("disabled",a),13!==e.keyCode||e.shiftKey||n.atwho("isSelecting")||(i.click(),e.preventDefault())},_onClickComment:function(t){var e=$(t.target);e.is(".comment")||(e=e.closest(".comment")),e.removeClass("collapsed")},_onClickCloseComment:function(t){t.preventDefault();var e=$(t.target).closest(".comment");return e.data("commentEl").removeClass("hidden"),e.remove(),!1},_onClickDeleteComment:function(n){n.preventDefault();var o=$(n.target).closest(".comment"),i=o.data("id"),a=o.find(".deleteLoading"),r=o.find(".more");return o.addClass("disabled"),a.removeClass("hidden"),r.addClass("hidden"),o.data("commentEl",o),this.collection.get(i).destroy({success:function(){o.data("commentEl").remove(),o.remove()},error:function(){a.addClass("hidden"),r.removeClass("hidden"),o.removeClass("disabled"),e.Notification.showTemporary(t("comments","Error occurred while retrieving comment with ID {id}",{id:i}))}}),!1},_onClickShowMore:function(t){t.preventDefault(),this.nextPage()},_onSubmitSuccess:function(t,e){var n=e.find(".submit"),o=e.find(".submitLoading");n.removeClass("hidden"),o.addClass("hidden")},_commentBodyHTML2Plain:function(t){var e,n=t.clone();n.find(".avatar-name-wrapper").each((function(){var t=$(this),e=t.parent(),n=t.find(".avatar").data("username");-1!==n.indexOf(" ")?e.html('@"'+n+'"'):e.html("@"+n)})),n.html(OCP.Comments.richToPlain(n.html()));var o=n.html();do{o=(e=o).replace("
    ","\n")}while(e!==o);return n.html(o),n.text()},_onSubmitComment:function(t){var n=this,o=$(t.target),i=o.closest(".comment").data("id"),a=e.getCurrentUser(),r=o.find(".submit"),s=o.find(".submitLoading"),l=o.find(".message"),c=l.text().trim();if(t.preventDefault(),c.length&&!(c.length>this._commentMaxLength)){if(l.prop("contenteditable",!1),r.addClass("hidden"),s.removeClass("hidden"),c=this._commentBodyHTML2Plain(l),i)this.collection.get(i).save({message:c},{success:function(t){if(n._onSubmitSuccess(t,o),t.get("message").trim()===t.previous("message").trim()){var e=o.closest(".comment");e.data("commentEl").removeClass("hidden"),e.remove()}},error:function(){n._onSubmitError(o,i)}});else this.collection.create({actorId:a.uid,actorDisplayName:a.displayName,actorType:"users",verb:"comment",message:c,creationDateTime:(new Date).toUTCString()},{at:0,wait:!0,success:function(t){n._onSubmitSuccess(t,o)},error:function(){n._onSubmitError(o,void 0)}});return!1}},_onSubmitError:function(n,o){n.find(".submit").removeClass("hidden"),n.find(".submitLoading").addClass("hidden"),n.find(".message").prop("contenteditable",!0),_.isUndefined(o)?e.Notification.show(t("comments","Error occurred while posting comment"),{type:"error"}):e.Notification.show(t("comments","Error occurred while updating comment with id {id}",{id:o}),{type:"error"})},_onTextChange:function(){var t=$("#commentsTabView").find(".newCommentForm div.message");t.text().trim().length||t.empty()},_onPaste:function(t){t.preventDefault();var e=t.originalEvent.clipboardData.getData("text/plain");document.execCommand("insertText",!1,e)},_isLong:function(t){return t.length>250||(t.match(/\n/g)||[]).length>1}});n.Comments.CommentsTabView=o}(OC,OCA)},function(e,n){var o;OC,OCA,o=OC.Backbone.View.extend({tagName:"div",className:"commentsModifyMenu popovermenu bubble menu",_scopes:[{name:"edit",displayName:t("comments","Edit comment"),iconClass:"icon-rename"},{name:"delete",displayName:t("comments","Delete comment"),iconClass:"icon-delete"}],initialize:function(){},events:{"click a.action":"_onClickAction"},_onClickAction:function(t){var e=$(t.currentTarget);e.hasClass("menuitem")||(e=e.closest(".menuitem")),OC.hideMenus(),this.trigger("select:menu-item-clicked",t,e.data("action"))},render:function(){this.$el.html(OCA.Comments.Templates.commentsmodifymenu({items:this._scopes}))},show:function(t){for(var e in this._context=t,this._scopes)this._scopes[e].active=!1;var n=$(t.target),o=n.offset(),i=n.closest(".authorRow").offset(),a={top:o.top-i.top+48,left:"",right:""};a.left=o.left-i.left,a.left>200?(a.left="",a.right=this.$el.closest(".comment").find(".date").width(),this.$el.removeClass("menu-left").addClass("menu-right")):this.$el.removeClass("menu-right").addClass("menu-left"),this.$el.css(a),this.render(),this.$el.removeClass("hidden"),OC.showMenu(null,this.$el)}}),OCA.Comments=OCA.Comments||{},OCA.Comments.CommentsModifyMenu=o},function(e,o){_.extend(OC.Files.Client,{PROPERTY_COMMENTS_UNREAD:"{"+OC.Files.Client.NS_OWNCLOUD+"}comments-unread"}),OCA.Comments=_.extend({},OCA.Comments),OCA.Comments||(OCA.Comments={}),OCA.Comments.FilesPlugin={ignoreLists:["trashbin","files.public"],_formatCommentCount:function(t){return OCA.Comments.Templates.filesplugin({count:t,countMessage:n("comments","%n unread comment","%n unread comments",t),iconUrl:OC.imagePath("core","actions/comment")})},attach:function(e){var o=this;if(!(this.ignoreLists.indexOf(e.id)>=0)){e.registerTabView(new OCA.Comments.CommentsTabView("commentsTabView"));var i=e._getWebdavProperties;e._getWebdavProperties=function(){var t=i.apply(this,arguments);return t.push(OC.Files.Client.PROPERTY_COMMENTS_UNREAD),t},e.filesClient.addFileInfoParser((function(t){var e={},n=t.propStat[0].properties[OC.Files.Client.PROPERTY_COMMENTS_UNREAD];return _.isUndefined(n)||""===n||(e.commentsUnread=parseInt(n,10)),e})),e.$el.addClass("has-comments");var a=e._createRow;e._createRow=function(t){var e=a.apply(this,arguments);return t.commentsUnread&&e.attr("data-comments-unread",t.commentsUnread),e},e.fileActions.registerAction({name:"Comment",displayName:function(e){if(e&&e.$file){var o=parseInt(e.$file.data("comments-unread"),10);if(o>=0)return n("comments","1 new comment","{unread} new comments",o,{unread:o})}return t("comments","Comment")},mime:"all",order:-140,iconClass:"icon-comment",permissions:OC.PERMISSION_READ,type:OCA.Files.FileActions.TYPE_INLINE,render:function(t,e,n){var i=n.$file.data("comments-unread");if(i){var a=$(o._formatCommentCount(i));return n.$file.find("a.name>span.fileactions").append(a),a}return""},actionHandler:function(t,e){e.$file.find(".action-comment").tooltip("hide"),e.fileList.showDetailsView(t,"commentsTabView")}});var r=e.elementToFile;e.elementToFile=function(t){var e=r.apply(this,arguments),n=t.data("comments-unread");return n&&(e.commentsUnread=n),e}}}},OC.Plugins.register("OCA.Files.FileList",OCA.Comments.FilesPlugin)},function(t,e){OCA.Comments.ActivityTabViewPlugin={prepareModelForDisplay:function(t,e,n){if("comments"===t.get("app")&&"comments"===t.get("type")&&"ActivityTabView"===n&&(e.addClass("comment"),t.get("message")&&this._isLong(t.get("message")))){e.addClass("collapsed");var o=$("
    ").addClass("message-overlay");e.find(".activitymessage").after(o),e.on("click",this._onClickCollapsedComment)}},_onClickCollapsedComment:function(t){var e=$(t.target);e.is(".comment")||(e=e.closest(".comment")),e.removeClass("collapsed")},_isLong:function(t){return t.length>250||(t.match(/\n/g)||[]).length>1}},OC.Plugins.register("OCA.Activity.RenderingPlugins",OCA.Comments.ActivityTabViewPlugin)},function(t,e){!function(t,e,n){"use strict";var o=function(){this.initialize()};o.prototype={fileList:null,initialize:function(){var o=this;this.fileAppLoaded=function(){return!!e.Files&&!!e.Files.App},this.renderCommentResult=function(e,o){var i;(i=n(".nofilterresults")).hasClass("hidden")||i.addClass("hidden"),this.updateLegacyMimetype(o);var a=n("
    ").addClass("path").text(o.path),r=n("
    ");r.addClass("avatar").css("display","inline-block").css("vertical-align","middle").css("margin","0 5px 2px 3px"),o.authorName?r.avatar(o.authorId,21,void 0,!1,void 0,o.authorName):r.avatar(o.authorId,21),e.find("td.info div.name").after(a).text(o.comment).prepend(n("").addClass("path").css("margin-right","5px").text(o.authorName)).prepend(r),e.find("td.result a").attr("href",o.link),e.find("td.icon").css("background-image","url("+t.imagePath("core","actions/comment")+")").css("opacity",".4");var s=t.dirname(o.path);return s===o.path&&(s="/"),e.find("td.info a").attr("href",t.generateUrl("/apps/files/?dir={dir}&scrollto={scrollto}",{dir:s,scrollto:o.fileName})),e},this.handleCommentClick=function(e,n,i){return!o.fileAppLoaded()||"files"!==o.fileList.id||(o.fileList.changeDirectory(t.dirname(n.path)),o.fileList.scrollTo(n.name),!1)},this.updateLegacyMimetype=function(t){!t.mime&&t.mime_type&&(t.mime=t.mime_type)},this.setFileList=function(t){this.fileList=t},t.Plugins.register("OCA.Search.Core",this)},attach:function(t){t.setRenderer("comment",this.renderCommentResult.bind(this)),t.setHandler("comment",this.handleCommentClick.bind(this))}},e.Search.comment=new o}(OC,OCA,$)},function(t,e,n){var o,i,a;a=this,o=[n(0)],void 0===(i=function(t){return a.returnExportsGlobal=function(t){"use strict";var e,n,o,i,a,r,s,l;e=function(){function e(t){this.$inputor=t,this.domInputor=this.$inputor[0]}return e.prototype.setPos=function(){return this.domInputor},e.prototype.getIEPosition=function(){return this.getPosition()},e.prototype.getPosition=function(){var t,e;return e=this.getOffset(),t=this.$inputor.offset(),e.left-=t.left,e.top-=t.top,e},e.prototype.getOldIEPos=function(){var t,e;return e=r.selection.createRange(),(t=r.body.createTextRange()).moveToElementText(this.domInputor),t.setEndPoint("EndToEnd",e),t.text.length},e.prototype.getPos=function(){var t,e,n;return(n=this.range())?((t=n.cloneRange()).selectNodeContents(this.domInputor),t.setEnd(n.endContainer,n.endOffset),e=t.toString().length,t.detach(),e):r.selection?this.getOldIEPos():void 0},e.prototype.getOldIEOffset=function(){var t,e;return(t=r.selection.createRange().duplicate()).moveStart("character",-1),{height:(e=t.getBoundingClientRect()).bottom-e.top,left:e.left,top:e.top}},e.prototype.getOffset=function(){var e,n,o,i,a;return s.getSelection&&(o=this.range())?(o.endOffset-1>0&&o.endContainer===!this.domInputor&&((e=o.cloneRange()).setStart(o.endContainer,o.endOffset-1),e.setEnd(o.endContainer,o.endOffset),n={height:(i=e.getBoundingClientRect()).height,left:i.left+i.width,top:i.top},e.detach()),n&&0!==(null!=n?n.height:void 0)||(e=o.cloneRange(),a=t(r.createTextNode("|")),e.insertNode(a[0]),e.selectNode(a[0]),n={height:(i=e.getBoundingClientRect()).height,left:i.left,top:i.top},a.remove(),e.detach())):r.selection&&(n=this.getOldIEOffset()),n&&(n.top+=t(s).scrollTop(),n.left+=t(s).scrollLeft()),n},e.prototype.range=function(){var t;if(s.getSelection)return(t=s.getSelection()).rangeCount>0?t.getRangeAt(0):null},e}(),n=function(){function e(t){this.$inputor=t,this.domInputor=this.$inputor[0]}return e.prototype.getIEPos=function(){var t,e,n,o,i,a;return e=this.domInputor,o=0,(i=r.selection.createRange())&&i.parentElement()===e&&(n=e.value.replace(/\r\n/g,"\n").length,(a=e.createTextRange()).moveToBookmark(i.getBookmark()),(t=e.createTextRange()).collapse(!1),o=a.compareEndPoints("StartToEnd",t)>-1?n:-a.moveStart("character",-n)),o},e.prototype.getPos=function(){return r.selection?this.getIEPos():this.domInputor.selectionStart},e.prototype.setPos=function(t){var e,n;return e=this.domInputor,r.selection?((n=e.createTextRange()).move("character",t),n.select()):e.setSelectionRange&&e.setSelectionRange(t,t),e},e.prototype.getIEOffset=function(t){var e;return e=this.domInputor.createTextRange(),t||(t=this.getPos()),e.move("character",t),{left:e.boundingLeft,top:e.boundingTop,height:e.boundingHeight}},e.prototype.getOffset=function(e){var n,o,i;return n=this.$inputor,r.selection?((o=this.getIEOffset(e)).top+=t(s).scrollTop()+n.scrollTop(),o.left+=t(s).scrollLeft()+n.scrollLeft(),o):(o=n.offset(),i=this.getPosition(e),o={left:o.left+i.left-n.scrollLeft(),top:o.top+i.top-n.scrollTop(),height:i.height})},e.prototype.getPosition=function(t){var e,n,i,a,r;return e=this.$inputor,i=function(t){return t=t.replace(/<|>|`|"|&/g,"?").replace(/\r\n|\r|\n/g,"
    "),/firefox/i.test(navigator.userAgent)&&(t=t.replace(/\s/g," ")),t},void 0===t&&(t=this.getPos()),r=e.val().slice(0,t),n=e.val().slice(t),a=""+i(r)+"",a+="|",a+=""+i(n)+"",new o(e).create(a).rect()},e.prototype.getIEPosition=function(t){var e,n;return n=this.getIEOffset(t),e=this.$inputor.offset(),{left:n.left-e.left,top:n.top-e.top,height:n.height}},e}(),o=function(){function e(t){this.$inputor=t}return e.prototype.css_attr=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderTopWidth","boxSizing","fontFamily","fontSize","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","outlineWidth","overflow","overflowX","overflowY","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","textOverflow","textTransform","whiteSpace","wordBreak","wordWrap"],e.prototype.mirrorCss=function(){var e,n=this;return e={position:"absolute",left:-9999,top:0,zIndex:-2e4},"TEXTAREA"===this.$inputor.prop("tagName")&&this.css_attr.push("width"),t.each(this.css_attr,(function(t,o){return e[o]=n.$inputor.css(o)})),e},e.prototype.create=function(e){return this.$mirror=t("
    "),this.$mirror.css(this.mirrorCss()),this.$mirror.html(e),this.$inputor.after(this.$mirror),this},e.prototype.rect=function(){var t,e,n;return n={left:(e=(t=this.$mirror.find("#caret")).position()).left,top:e.top,height:t.height()},this.$mirror.remove(),n},e}(),i={contentEditable:function(t){return!(!t[0].contentEditable||"true"!==t[0].contentEditable)}},a={pos:function(t){return t||0===t?this.setPos(t):this.getPos()},position:function(t){return r.selection?this.getIEPosition(t):this.getPosition(t)},offset:function(t){return this.getOffset(t)}},r=null,s=null,l=function(t){var e;return(e=null!=t?t.iframe:void 0)?(s=e.contentWindow,r=e.contentDocument||s.document):(s=window,r=document)},t.fn.caret=function(o,r,s){var c;return a[o]?(t.isPlainObject(r)?(l(r),r=void 0):l(s),c=i.contentEditable(this)?new e(this):new n(this),a[o].apply(c,[r])):t.error("Method "+o+" does not exist on jQuery.caret")},t.fn.caret.EditableCaret=e,t.fn.caret.InputCaret=n,t.fn.caret.Utils=i,t.fn.caret.apis=a}(t)}.apply(e,o))||(t.exports=i)},function(t,e,n){var o,i;function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}o=[n(0)],void 0===(i=function(t){return function(t){var e,n,o;n={ESC:27,TAB:9,ENTER:13,CTRL:17,A:65,P:80,N:78,LEFT:37,UP:38,RIGHT:39,DOWN:40,BACKSPACE:8,SPACE:32},e={beforeSave:function(t){return i.arrayToDefaultHash(t)},matcher:function(t,e,n,o){var i,a,r;return t=t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),n&&(t="(?:^|\\s)"+t),i=decodeURI("%C3%80"),a=decodeURI("%C3%BF"),(r=new RegExp(t+"([A-Za-z"+i+"-"+a+"0-9_"+(o?" ":"")+"'.+-]*)$|"+t+"([^\\x00-\\xff]*)$","gi").exec(e))?r[2]||r[1]:null},filter:function(t,e,n){var o,i,a,r;for(o=[],i=0,r=e.length;r>i;i++)a=e[i],~new String(a[n]).toLowerCase().indexOf(t.toLowerCase())&&o.push(a);return o},remoteFilter:null,sorter:function(t,e,n){var o,i,a,r;if(!t)return e;for(o=[],i=0,r=e.length;r>i;i++)(a=e[i]).atwho_order=new String(a[n]).toLowerCase().indexOf(t.toLowerCase()),a.atwho_order>-1&&o.push(a);return o.sort((function(t,e){return t.atwho_order-e.atwho_order}))},tplEval:function(t,e){var n;n=t;try{return"string"!=typeof t&&(n=t(e)),n.replace(/\$\{([^\}]*)\}/g,(function(t,n,o){return e[n]}))}catch(t){return""}},highlighter:function(t,e){var n;return e?(n=new RegExp(">\\s*([^<]*?)("+e.replace("+","\\+")+")([^<]*)\\s*<","ig"),t.replace(n,(function(t,e,n,o){return"> "+e+""+n+""+o+" <"}))):t},beforeInsert:function(t,e,n){return t},beforeReposition:function(t){return t},afterMatchFailed:function(t,e){}},o=function(){function e(e){this.currentFlag=null,this.controllers={},this.aliasMaps={},this.$inputor=t(e),this.setupRootElement(),this.listen()}return e.prototype.createContainer=function(e){var n;return null!=(n=this.$el)&&n.remove(),t(e.body).append(this.$el=t("
    "))},e.prototype.setupRootElement=function(e,n){var o,i;if(null==n&&(n=!1),e)this.window=e.contentWindow,this.document=e.contentDocument||this.window.document,this.iframe=e;else{this.document=this.$inputor[0].ownerDocument,this.window=this.document.defaultView||this.document.parentWindow;try{this.iframe=this.window.frameElement}catch(i){if(o=i,this.iframe=null,t.fn.atwho.debug)throw new Error("iframe auto-discovery is failed.\nPlease use `setIframe` to set the target iframe manually.\n"+o)}}return this.createContainer((this.iframeAsRoot=n)?this.document:document)},e.prototype.controller=function(t){var e,n,o,i;if(this.aliasMaps[t])n=this.controllers[this.aliasMaps[t]];else for(o in i=this.controllers)if(e=i[o],o===t){n=e;break}return n||this.controllers[this.currentFlag]},e.prototype.setContextFor=function(t){return this.currentFlag=t,this},e.prototype.reg=function(t,e){var n,o;return o=(n=this.controllers)[t]||(n[t]=this.$inputor.is("[contentEditable]")?new l(this,t):new s(this,t)),e.alias&&(this.aliasMaps[e.alias]=t),o.init(e),this},e.prototype.listen=function(){return this.$inputor.on("compositionstart",function(t){return function(e){var n;return null!=(n=t.controller())&&n.view.hide(),t.isComposing=!0,null}}(this)).on("compositionend",function(t){return function(e){return t.isComposing=!1,setTimeout((function(e){return t.dispatch(e)})),null}}(this)).on("keyup.atwhoInner",function(t){return function(e){return t.onKeyup(e)}}(this)).on("keydown.atwhoInner",function(t){return function(e){return t.onKeydown(e)}}(this)).on("blur.atwhoInner",function(t){return function(e){var n;return(n=t.controller())?(n.expectedQueryCBId=null,n.view.hide(e,n.getOpt("displayTimeout"))):void 0}}(this)).on("click.atwhoInner",function(t){return function(e){return t.dispatch(e)}}(this)).on("scroll.atwhoInner",function(t){return function(){var e;return e=t.$inputor.scrollTop(),function(n){var o,i;return o=n.target.scrollTop,e!==o&&null!=(i=t.controller())&&i.view.hide(n),e=o,!0}}}(this)())},e.prototype.shutdown=function(){var t,e;for(t in e=this.controllers)e[t].destroy(),delete this.controllers[t];return this.$inputor.off(".atwhoInner"),this.$el.remove()},e.prototype.dispatch=function(t){var e,n,o,i;for(e in i=[],o=this.controllers)n=o[e],i.push(n.lookUp(t));return i},e.prototype.onKeyup=function(e){var o;switch(e.keyCode){case n.ESC:e.preventDefault(),null!=(o=this.controller())&&o.view.hide();break;case n.DOWN:case n.UP:case n.CTRL:case n.ENTER:t.noop();break;case n.P:case n.N:e.ctrlKey||this.dispatch(e);break;default:this.dispatch(e)}},e.prototype.onKeydown=function(e){var o,i;if((i=null!=(o=this.controller())?o.view:void 0)&&i.visible())switch(e.keyCode){case n.ESC:e.preventDefault(),i.hide(e);break;case n.UP:e.preventDefault(),i.prev();break;case n.DOWN:e.preventDefault(),i.next();break;case n.P:if(!e.ctrlKey)return;e.preventDefault(),i.prev();break;case n.N:if(!e.ctrlKey)return;e.preventDefault(),i.next();break;case n.TAB:case n.ENTER:case n.SPACE:if(!i.visible())return;if(!this.controller().getOpt("spaceSelectsMatch")&&e.keyCode===n.SPACE)return;if(!this.controller().getOpt("tabSelectsMatch")&&e.keyCode===n.TAB)return;i.highlighted()?(e.preventDefault(),i.choose(e)):i.hide(e);break;default:t.noop()}},e}();var i,r=[].slice;i=function(){function n(e,n){this.app=e,this.at=n,this.$inputor=this.app.$inputor,this.id=this.$inputor[0].id||this.uid(),this.expectedQueryCBId=null,this.setting=null,this.query=null,this.pos=0,this.range=null,0===(this.$el=t("#atwho-ground-"+this.id,this.app.$el)).length&&this.app.$el.append(this.$el=t("
    ")),this.model=new c(this),this.view=new m(this)}return n.prototype.uid=function(){return(Math.random().toString(16)+"000000000").substr(2,8)+(new Date).getTime()},n.prototype.init=function(e){return this.setting=t.extend({},this.setting||t.fn.atwho.default,e),this.view.init(),this.model.reload(this.setting.data)},n.prototype.destroy=function(){return this.trigger("beforeDestroy"),this.model.destroy(),this.view.destroy(),this.$el.remove()},n.prototype.callDefault=function(){var n,o,i,a;a=arguments[0],n=2<=arguments.length?r.call(arguments,1):[];try{return e[a].apply(this,n)}catch(i){return o=i,t.error(o+" Or maybe At.js doesn't have function "+a)}},n.prototype.trigger=function(t,e){var n,o;return null==e&&(e=[]),e.push(this),o=(n=this.getOpt("alias"))?t+"-"+n+".atwho":t+".atwho",this.$inputor.trigger(o,e)},n.prototype.callbacks=function(t){return this.getOpt("callbacks")[t]||e[t]},n.prototype.getOpt=function(t,e){try{return this.setting[t]}catch(t){return null}},n.prototype.insertContentFor=function(e){var n,o;return o=this.getOpt("insertTpl"),n=t.extend({},e.data("item-data"),{"atwho-at":this.at}),this.callbacks("tplEval").call(this,o,n,"onInsert")},n.prototype.renderView=function(t){var e;return e=this.getOpt("searchKey"),t=this.callbacks("sorter").call(this,this.query.text,t.slice(0,1001),e),this.view.render(t.slice(0,this.getOpt("limit")))},n.arrayToDefaultHash=function(e){var n,o,i,a;if(!t.isArray(e))return e;for(a=[],n=0,i=e.length;i>n;n++)o=e[n],t.isPlainObject(o)?a.push(o):a.push({name:o});return a},n.prototype.lookUp=function(t){var e,n;if((!t||"click"!==t.type||this.getOpt("lookUpOnClick"))&&(!this.getOpt("suspendOnComposing")||!this.app.isComposing))return(e=this.catchQuery(t))?(this.app.setContextFor(this.at),(n=this.getOpt("delay"))?this._delayLookUp(e,n):this._lookUp(e),e):(this.expectedQueryCBId=null,e)},n.prototype._delayLookUp=function(t,e){var n,o;return n=Date.now?Date.now():(new Date).getTime(),this.previousCallTime||(this.previousCallTime=n),(o=e-(n-this.previousCallTime))>0&&e>o?(this.previousCallTime=n,this._stopDelayedCall(),this.delayedCallTimeout=setTimeout(function(e){return function(){return e.previousCallTime=0,e.delayedCallTimeout=null,e._lookUp(t)}}(this),e)):(this._stopDelayedCall(),this.previousCallTime!==n&&(this.previousCallTime=0),this._lookUp(t))},n.prototype._stopDelayedCall=function(){return this.delayedCallTimeout?(clearTimeout(this.delayedCallTimeout),this.delayedCallTimeout=null):void 0},n.prototype._generateQueryCBId=function(){return{}},n.prototype._lookUp=function(e){var n;return n=function(t,e){return t===this.expectedQueryCBId?e&&e.length>0?this.renderView(this.constructor.arrayToDefaultHash(e)):this.view.hide():void 0},this.expectedQueryCBId=this._generateQueryCBId(),this.model.query(e.text,t.proxy(n,this,this.expectedQueryCBId))},n}();var s,l,c,m,u,d=function(t,e){function n(){this.constructor=t}for(var o in e)h.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},h={}.hasOwnProperty;s=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return d(n,e),n.prototype.catchQuery=function(){var t,e,n,o,i,a,r;return e=this.$inputor.val(),t=this.$inputor.caret("pos",{iframe:this.app.iframe}),r=e.slice(0,t),(o="string"==typeof(i=this.callbacks("matcher").call(this,this.at,r,this.getOpt("startWithSpace"),this.getOpt("acceptSpaceBar"))))&&i.length0?t.getRangeAt(0):void 0},o.prototype._setRange=function(e,n,o){return null==o&&(o=this._getRange()),o&&n?(n=t(n)[0],"after"===e?(o.setEndAfter(n),o.setStartAfter(n)):(o.setEndBefore(n),o.setStartBefore(n)),o.collapse(!1),this._clearRange(o)):void 0},o.prototype._clearRange=function(t){var e;return null==t&&(t=this._getRange()),e=this.app.window.getSelection(),null==this.ctrl_a_pressed?(e.removeAllRanges(),e.addRange(t)):void 0},o.prototype._movingEvent=function(t){var e;return"click"===t.type||(e=t.which)===n.RIGHT||e===n.LEFT||e===n.UP||e===n.DOWN},o.prototype._unwrap=function(e){var n;return(n=(e=t(e).unwrap().get(0)).nextSibling)&&n.nodeValue&&(e.nodeValue+=n.nodeValue,t(n).remove()),e},o.prototype.catchQuery=function(e){var o,i,a,r,s,l,c,m,u,d,h,p;if((p=this._getRange())&&p.collapsed){if(e.which===n.ENTER)return(i=t(p.startContainer).closest(".atwho-query")).contents().unwrap(),i.is(":empty")&&i.remove(),(i=t(".atwho-query",this.app.document)).text(i.text()).contents().last().unwrap(),void this._clearRange();if(/firefox/i.test(navigator.userAgent)){if(t(p.startContainer).is(this.$inputor))return void this._clearRange();e.which===n.BACKSPACE&&p.startContainer.nodeType===document.ELEMENT_NODE&&(u=p.startOffset-1)>=0?((a=p.cloneRange()).setStart(p.startContainer,u),t(a.cloneContents()).contents().last().is(".atwho-inserted")&&(s=t(p.startContainer).contents().get(u),this._setRange("after",t(s).contents().last()))):e.which===n.LEFT&&p.startContainer.nodeType===document.TEXT_NODE&&(o=t(p.startContainer.previousSibling)).is(".atwho-inserted")&&0===p.startOffset&&this._setRange("after",o.contents().last())}if(t(p.startContainer).closest(".atwho-inserted").addClass("atwho-query").siblings().removeClass("atwho-query"),(i=t(".atwho-query",this.app.document)).length>0&&i.is(":empty")&&0===i.text().length&&i.remove(),this._movingEvent(e)||i.removeClass("atwho-inserted"),i.length>0)switch(e.which){case n.LEFT:return this._setRange("before",i.get(0),p),void i.removeClass("atwho-query");case n.RIGHT:return this._setRange("after",i.get(0).nextSibling,p),void i.removeClass("atwho-query")}if(i.length>0&&(h=i.attr("data-atwho-at-query"))&&(i.empty().html(h).attr("data-atwho-at-query",null),this._setRange("after",i.get(0),p)),(a=p.cloneRange()).setStart(p.startContainer,0),l="string"==typeof(m=this.callbacks("matcher").call(this,this.at,a.toString(),this.getOpt("startWithSpace"),this.getOpt("acceptSpaceBar"))),0===i.length&&l&&(r=p.startOffset-this.at.length-m.length)>=0&&(p.setStart(p.startContainer,r),i=t("",this.app.document).attr(this.getOpt("editableAtwhoQueryAttrs")).addClass("atwho-query"),p.surroundContents(i.get(0)),(c=i.contents().last().get(0))&&(/firefox/i.test(navigator.userAgent)?(p.setStart(c,c.length),p.setEnd(c,c.length),this._clearRange(p)):this._setRange("after",c,p))),!(l&&m.length=0&&(this._movingEvent(e)&&i.hasClass("atwho-inserted")?i.removeClass("atwho-query"):!1!==this.callbacks("afterMatchFailed").call(this,this.at,i)&&this._setRange("after",this._unwrap(i.text(i.text()).contents().first()))),null)}},o.prototype.rect=function(){var e,n;return(n=this.query.el.offset())&&this.query.el[0].getClientRects().length?(this.app.iframe&&!this.app.iframeAsRoot&&(e=t(this.app.iframe).offset(),n.left+=e.left-this.$inputor.scrollLeft(),n.top+=e.top-this.$inputor.scrollTop()),n.bottom=n.top+this.query.el.height(),n):void 0},o.prototype.insert=function(t,e){var n,o,i,a,r;return this.$inputor.is(":focus")||this.$inputor.focus(),(o=this.getOpt("functionOverrides")).insert?o.insert.call(this,t,e):(a=""===(a=this.getOpt("suffix"))?a:a||" ",n=e.data("item-data"),this.query.el.removeClass("atwho-query").addClass("atwho-inserted").html(t).attr("data-atwho-at-query",""+n["atwho-at"]+this.query.text).attr("contenteditable","false"),(i=this._getRange())&&(this.query.el.length&&i.setEndAfter(this.query.el[0]),i.collapse(!1),i.insertNode(r=this.app.document.createTextNode(""+a)),this._setRange("after",r,i)),this.$inputor.is(":focus")||this.$inputor.focus(),this.$inputor.change())},o}(i),c=function(){function e(t){this.context=t,this.at=this.context.at,this.storage=this.context.$inputor}return e.prototype.destroy=function(){return this.storage.data(this.at,null)},e.prototype.saved=function(){return this.fetch()>0},e.prototype.query=function(t,e){var n,o,i;return o=this.fetch(),i=this.context.getOpt("searchKey"),o=this.context.callbacks("filter").call(this.context,t,o,i)||[],n=this.context.callbacks("remoteFilter"),o.length>0||!n&&0===o.length?e(o):n.call(this.context,t,e)},e.prototype.fetch=function(){return this.storage.data(this.at)||[]},e.prototype.save=function(t){return this.storage.data(this.at,this.context.callbacks("beforeSave").call(this.context,t||[]))},e.prototype.load=function(t){return!this.saved()&&t?this._load(t):void 0},e.prototype.reload=function(t){return this._load(t)},e.prototype._load=function(e){return"string"==typeof e?t.ajax(e,{dataType:"json"}).done(function(t){return function(e){return t.save(e)}}(this)):this.save(e)},e}(),m=function(){function e(e){this.context=e,this.$el=t("
      "),this.$elUl=this.$el.children(),this.timeoutID=null,this.context.$el.append(this.$el),this.bindEvent()}return e.prototype.init=function(){var t,e;return e=this.context.getOpt("alias")||this.context.at.charCodeAt(0),(t=this.context.getOpt("headerTpl"))&&1===this.$el.children().length&&this.$el.prepend(t),this.$el.attr({id:"at-view-"+e})},e.prototype.destroy=function(){return this.$el.remove()},e.prototype.bindEvent=function(){var e,n,o;return e=this.$el.find("ul"),n=0,o=0,e.on("mousemove.atwho-view","li",(function(i){var a;if((n!==i.clientX||o!==i.clientY)&&(n=i.clientX,o=i.clientY,!(a=t(i.currentTarget)).hasClass("cur")))return e.find(".cur").removeClass("cur"),a.addClass("cur")})).on("click.atwho-view","li",function(n){return function(o){return e.find(".cur").removeClass("cur"),t(o.currentTarget).addClass("cur"),n.choose(o),o.preventDefault()}}(this))},e.prototype.visible=function(){return t.expr.filters.visible(this.$el[0])},e.prototype.highlighted=function(){return this.$el.find(".cur").length>0},e.prototype.choose=function(t){var e,n;return(e=this.$el.find(".cur")).length&&(n=this.context.insertContentFor(e),this.context._stopDelayedCall(),this.context.insert(this.context.callbacks("beforeInsert").call(this.context,n,e,t),e),this.context.trigger("inserted",[e,t]),this.hide(t)),this.context.getOpt("hideWithoutSuffix")?this.stopShowing=!0:void 0},e.prototype.reposition=function(e){var n,o,i,a;return n=this.context.app.iframeAsRoot?this.context.app.window:window,e.bottom+this.$el.height()-t(n).scrollTop()>t(n).height()&&(e.bottom=e.top-this.$el.height()),e.left>(i=t(n).width()-this.$el.width()-5)&&(e.left=i),o={left:e.left,top:e.bottom},null!=(a=this.context.callbacks("beforeReposition"))&&a.call(this.context,o),this.$el.offset(o),this.context.trigger("reposition",[o])},e.prototype.next=function(){var t,e,n;return(t=this.$el.find(".cur").removeClass("cur").next()).length||(t=this.$el.find("li:first")),t.addClass("cur"),n=(e=t[0]).offsetTop+e.offsetHeight+(e.nextSibling?e.nextSibling.offsetHeight:0),this.scrollTop(Math.max(0,n-this.$el.height()))},e.prototype.prev=function(){var t,e,n;return(e=this.$el.find(".cur").removeClass("cur").prev()).length||(e=this.$el.find("li:last")),e.addClass("cur"),t=(n=e[0]).offsetTop+n.offsetHeight+(n.nextSibling?n.nextSibling.offsetHeight:0),this.scrollTop(Math.max(0,t-this.$el.height()))},e.prototype.scrollTop=function(t){var e;return(e=this.context.getOpt("scrollDuration"))?this.$elUl.animate({scrollTop:t},e):this.$elUl.scrollTop(t)},e.prototype.show=function(){var t;return this.stopShowing?void(this.stopShowing=!1):(this.visible()||(this.$el.show(),this.$el.scrollTop(0),this.context.trigger("shown")),(t=this.context.rect())?this.reposition(t):void 0)},e.prototype.hide=function(t,e){var n;if(this.visible())return isNaN(e)?(this.$el.hide(),this.context.trigger("hidden",[t])):(n=function(t){return function(){return t.hide()}}(this),clearTimeout(this.timeoutID),this.timeoutID=setTimeout(n,e))},e.prototype.render=function(e){var n,o,i,a,r,s,l;if(t.isArray(e)&&e.length>0){for(this.$el.find("ul").empty(),o=this.$el.find("ul"),l=this.context.getOpt("displayTpl"),i=0,r=e.length;r>i;i++)a=e[i],a=t.extend({},a,{"atwho-at":this.context.at}),s=this.context.callbacks("tplEval").call(this.context,l,a,"onDisplay"),(n=t(this.context.callbacks("highlighter").call(this.context,s,this.context.query.text))).data("item-data",a),o.append(n);return this.show(),this.context.getOpt("highlightFirst")?o.find("li:first").addClass("cur"):void 0}this.hide()},e}(),u={load:function(t,e){var n;return(n=this.controller(t))?n.model.load(e):void 0},isSelecting:function(){var t;return!!(null!=(t=this.controller())?t.view.visible():void 0)},hide:function(){var t;return null!=(t=this.controller())?t.view.hide():void 0},reposition:function(){var t;return(t=this.controller())?t.view.reposition(t.rect()):void 0},setIframe:function(t,e){return this.setupRootElement(t,e),null},run:function(){return this.dispatch()},destroy:function(){return this.shutdown(),this.$inputor.data("atwho",null)}},t.fn.atwho=function(e){var n,i;return n=arguments,i=null,this.filter('textarea, input, [contenteditable=""], [contenteditable=true]').each((function(){var r,s;return(s=(r=t(this)).data("atwho"))||r.data("atwho",s=new o(this)),"object"!=a(e)&&e?u[e]&&s?i=u[e].apply(s,Array.prototype.slice.call(n,1)):t.error("Method "+e+" does not exist on jQuery.atwho"):s.reg(e.at,e)})),null!=i?i:this},t.fn.atwho.default={at:void 0,alias:void 0,data:null,displayTpl:"
    • ${name}
    • ",insertTpl:"${atwho-at}${name}",headerTpl:null,callbacks:e,functionOverrides:{},searchKey:"name",suffix:void 0,hideWithoutSuffix:!1,startWithSpace:!0,acceptSpaceBar:!1,highlightFirst:!0,limit:5,maxLen:20,minLen:0,displayTimeout:300,delay:null,spaceSelectsMatch:!1,tabSelectsMatch:!0,editableAtwhoQueryAttrs:{},scrollDuration:150,suspendOnComposing:!0,lookUpOnClick:!0},t.fn.atwho.debug=!1}(t)}.apply(e,o))||(t.exports=i)},function(t,e,n){var o=n(17);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);(0,n(2).default)("8e87fa8e",o,!0,{})},function(t,e,n){(t.exports=n(1)(!1)).push([t.i,".atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:var(--color-main-background);color:var(--color-main-text);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 0 5px var(--color-box-shadow);min-width:120px;z-index:11110 !important}.atwho-view .atwho-header{padding:5px;margin:5px;cursor:pointer;border-bottom:solid 1px var(--color-border);color:var(--color-main-text);font-size:11px;font-weight:bold}.atwho-view .atwho-header .small{color:var(--color-main-text);float:right;padding-top:2px;margin-right:-5px;font-size:12px;font-weight:normal}.atwho-view .atwho-header:hover{cursor:default}.atwho-view .cur{background:var(--color-primary);color:var(--color-primary-text)}.atwho-view .cur small{color:var(--color-primary-text)}.atwho-view strong{color:var(--color-main-text);font-weight:normal}.atwho-view .cur strong{color:var(--color-primary-text);font-weight:normal}.atwho-view ul{list-style:none;padding:0;margin:auto;max-height:200px;overflow-y:auto}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid var(--color-border);cursor:pointer}.atwho-view small{font-size:smaller;color:var(--color-main-text);font-weight:normal}\n",""])},function(t,e,n){var o=n(19);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);(0,n(2).default)("477a5c21",o,!0,{})},function(t,e,n){(t.exports=n(1)(!1)).push([t.i,"#commentsTabView .emptycontent{margin-top:0}#commentsTabView .newCommentForm{margin-left:36px;position:relative}#commentsTabView .newCommentForm .message{width:100%;padding:10px;min-height:44px;margin:0;padding-right:30px}#commentsTabView .newCommentForm .submit,#commentsTabView .newCommentForm .submitLoading{width:44px;height:44px;margin:0;padding:13px;background-color:transparent;border:none;opacity:.3;position:absolute;bottom:0;right:0}#commentsTabView .deleteLoading{padding:14px;vertical-align:middle}#commentsTabView .newCommentForm .submit:not(:disabled):hover,#commentsTabView .newCommentForm .submit:not(:disabled):focus{opacity:1}#commentsTabView .newCommentForm div.message{resize:none}#commentsTabView .newCommentForm div.message:empty:before{content:attr(data-placeholder);color:grey}#commentsTabView .comment{position:relative;padding:10px 0 15px}#commentsTabView .comments .comment{border-top:1px solid var(--color-border)}#commentsTabView .comment .avatar,.atwho-view-ul * .avatar{width:32px;height:32px;line-height:32px;margin-right:5px}#commentsTabView .comment .message .avatar,.atwho-view-ul * .avatar{display:inline-block}#activityTabView li.comment.collapsed .activitymessage,#commentsTabView .comment.collapsed .message{white-space:pre-wrap}#activityTabView li.comment.collapsed .activitymessage,#commentsTabView .comment.collapsed .message{max-height:70px;overflow:hidden}#activityTabView li.comment .message-overlay,#commentsTabView .comment .message-overlay{display:none}#activityTabView li.comment.collapsed .message-overlay,#commentsTabView .comment.collapsed .message-overlay{display:block;position:absolute;z-index:2;height:50px;pointer-events:none;left:0;right:0;bottom:0;background:-moz-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-webkit-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-o-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-ms-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background-repeat:no-repeat}#commentsTabView .hidden{display:none !important}#commentsTabView .comment .authorRow{min-height:44px}#commentsTabView .comment .authorRow .tooltip{margin-top:5px}.atwho-view-ul * .avatar-name-wrapper,#commentsTabView .comment .authorRow{position:relative;display:inline-flex;align-items:center;width:100%}#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser),#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser) .avatar,#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser) .avatar img,#commentsTabView .comment .authorRow .avatar:not(.currentUser),#commentsTabView .comment .authorRow .author:not(.currentUser){cursor:pointer}.atwho-view-ul .avatar-name-wrapper,.atwho-view-ul .avatar-name-wrapper .avatar,.atwho-view-ul .avatar-name-wrapper .avatar img{cursor:pointer}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper{position:relative;display:inline;vertical-align:top;background-color:var(--color-background-dark);border-radius:50vh;padding:1px 7px 1px 1px;white-space:nowrap}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper .avatar,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper .avatar{height:16px;width:16px;vertical-align:middle;padding:1px;margin-top:-3px;margin-left:0;margin-right:2px}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper .avatar img,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper .avatar img{vertical-align:top}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper strong,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper strong{font-weight:bold}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper.currentUser,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper.currentUser{background-color:var(--color-primary);color:var(--color-primary-text)}.atwho-view-ul * .avatar-name-wrapper{white-space:nowrap}#commentsTabView .comment .author,#commentsTabView .comment .date{opacity:.5}#commentsTabView .comment .author{max-width:210px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#commentsTabView .comment .date{margin-left:auto;padding:10px 0px}#commentsTabView .comments>li:not(.newCommentRow) .message{padding-left:40px;word-wrap:break-word;overflow-wrap:break-word}#commentsTabView .comment .action{opacity:0.3;padding:14px;display:block}#commentsTabView .comment .action:hover,#commentsTabView .comment .action:focus{opacity:1}#commentsTabView .newCommentRow .action-container{margin-left:auto}#commentsTabView .comment.disabled .message{opacity:0.3}#commentsTabView .comment.disabled .action{display:none}#commentsTabView .message.error{color:#e9322d;border-color:#e9322d;box-shadow:0 0 6px #f8b9b7}.app-files .action-comment{padding:16px 14px}#commentsTabView .comment .message .contactsmenu-popover{left:-6px;top:24px}\n",""])}]); +!function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/js/",n(n.s=3)}([function(t,e){t.exports=jQuery},function(t,e,n){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||"",o=t[3];if(!o)return n;if(e&&"function"==typeof btoa){var i=(r=o,s=btoa(unescape(encodeURIComponent(JSON.stringify(r)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(l," */")),a=o.sources.map((function(t){return"/*# sourceURL=".concat(o.sourceRoot).concat(t," */")}));return[n].concat(a).concat([i]).join("\n")}var r,s,l;return[n].join("\n")}(e,t);return e[2]?"@media ".concat(e[2],"{").concat(n,"}"):n})).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},i=0;in.parts.length&&(o.parts.length=n.parts.length)}else{var r=[];for(i=0;i\n\t\t\t\n'},11:function(t,e,n,o,i){return'\t\t
      \n'},compiler:[7,">= 4.0.0"],main:function(t,e,o,i,a){var r,s,l=null!=e?e:t.nullContext||{},c=o.helperMissing,m="function",u=t.escapeExpression;return'
    • \n\t
      \n\t\t
      \n\t\t
      '+u(n(s=null!=(s=o.actorDisplayName||(null!=e?e.actorDisplayName:e))?s:c)===m?s.call(l,{name:"actorDisplayName",hash:{},data:a}):s)+"
      \n"+(null!=(r=o.if.call(l,null!=e?e.isUserAuthor:e,{name:"if",hash:{},fn:t.program(9,a,0),inverse:t.noop,data:a}))?r:"")+'\t\t
      '+u(n(s=null!=(s=o.date||(null!=e?e.date:e))?s:c)===m?s.call(l,{name:"date",hash:{},data:a}):s)+'
      \n\t
      \n\t
      '+(null!=(r=n(s=null!=(s=o.formattedMessage||(null!=e?e.formattedMessage:e))?s:c)===m?s.call(l,{name:"formattedMessage",hash:{},data:a}):s)?r:"")+"
      \n"+(null!=(r=o.if.call(l,null!=e?e.isLong:e,{name:"if",hash:{},fn:t.program(11,a,0),inverse:t.noop,data:a}))?r:"")+"
    • \n"},useData:!0}),i.commentsmodifymenu=o({1:function(t,e,o,i,a){var r,s,l=null!=e?e:t.nullContext||{},c=o.helperMissing,m=t.escapeExpression;return'\t\t
    • \n\t\t\t\n'+(null!=(r=o.if.call(l,null!=e?e.iconClass:e,{name:"if",hash:{},fn:t.program(2,a,0),inverse:t.program(4,a,0),data:a}))?r:"")+"\t\t\t\t"+m("function"===n(s=null!=(s=o.displayName||(null!=e?e.displayName:e))?s:c)?s.call(l,{name:"displayName",hash:{},data:a}):s)+"\n\t\t\t\n\t\t
    • \n"},2:function(t,e,n,o,i){var a;return'\t\t\t\t\t\n'},4:function(t,e,n,o,i){return'\t\t\t\t\t\n'},compiler:[7,">= 4.0.0"],main:function(t,e,n,o,i){var a;return"
        \n"+(null!=(a=n.each.call(null!=e?e:t.nullContext||{},null!=e?e.items:e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i}))?a:"")+"
      \n"},useData:!0}),i.edit_comment=o({1:function(t,e,n,o,i){var a;return'\t\t\t
      \n\t\t\t\t\n\t\t\t
      \n'},compiler:[7,">= 4.0.0"],main:function(t,e,o,i,a){var r,s,l=null!=e?e:t.nullContext||{},c=o.helperMissing,m="function",u=t.escapeExpression;return"<"+u(n(s=null!=(s=o.tag||(null!=e?e.tag:e))?s:c)===m?s.call(l,{name:"tag",hash:{},data:a}):s)+' class="newCommentRow comment" data-id="'+u(n(s=null!=(s=o.id||(null!=e?e.id:e))?s:c)===m?s.call(l,{name:"id",hash:{},data:a}):s)+'">\n\t
      \n\t\t
      \n\t\t
      '+u(n(s=null!=(s=o.actorDisplayName||(null!=e?e.actorDisplayName:e))?s:c)===m?s.call(l,{name:"actorDisplayName",hash:{},data:a}):s)+"
      \n"+(null!=(r=o.if.call(l,null!=e?e.isEditMode:e,{name:"if",hash:{},fn:t.program(1,a,0),inverse:t.noop,data:a}))?r:"")+'\t
      \n\t
      \n\t\t
      '+u(n(s=null!=(s=o.message||(null!=e?e.message:e))?s:c)===m?s.call(l,{name:"message",hash:{},data:a}):s)+'
      \n\t\t\n\t\t\n\t
      \n\n"},useData:!0}),i.filesplugin=o({compiler:[7,">= 4.0.0"],main:function(t,e,o,i,a){var r,s=null!=e?e:t.nullContext||{},l=o.helperMissing,c=t.escapeExpression;return'\n\t\n\n'},useData:!0}),i.view=o({compiler:[7,">= 4.0.0"],main:function(t,e,o,i,a){var r,s=null!=e?e:t.nullContext||{},l=o.helperMissing,c=t.escapeExpression;return'
        \n
      \n\n\n\n'},useData:!0})},function(t,e){!function(t,e){_.extend(t.Files.Client,{PROPERTY_FILEID:"{"+t.Files.Client.NS_OWNCLOUD+"}id",PROPERTY_MESSAGE:"{"+t.Files.Client.NS_OWNCLOUD+"}message",PROPERTY_ACTORTYPE:"{"+t.Files.Client.NS_OWNCLOUD+"}actorType",PROPERTY_ACTORID:"{"+t.Files.Client.NS_OWNCLOUD+"}actorId",PROPERTY_ISUNREAD:"{"+t.Files.Client.NS_OWNCLOUD+"}isUnread",PROPERTY_OBJECTID:"{"+t.Files.Client.NS_OWNCLOUD+"}objectId",PROPERTY_OBJECTTYPE:"{"+t.Files.Client.NS_OWNCLOUD+"}objectType",PROPERTY_ACTORDISPLAYNAME:"{"+t.Files.Client.NS_OWNCLOUD+"}actorDisplayName",PROPERTY_CREATIONDATETIME:"{"+t.Files.Client.NS_OWNCLOUD+"}creationDateTime",PROPERTY_MENTIONS:"{"+t.Files.Client.NS_OWNCLOUD+"}mentions"});var n=t.Backbone.Model.extend({sync:t.Backbone.davSync,defaults:{actorType:"users",objectType:"files"},davProperties:{id:t.Files.Client.PROPERTY_FILEID,message:t.Files.Client.PROPERTY_MESSAGE,actorType:t.Files.Client.PROPERTY_ACTORTYPE,actorId:t.Files.Client.PROPERTY_ACTORID,actorDisplayName:t.Files.Client.PROPERTY_ACTORDISPLAYNAME,creationDateTime:t.Files.Client.PROPERTY_CREATIONDATETIME,objectType:t.Files.Client.PROPERTY_OBJECTTYPE,objectId:t.Files.Client.PROPERTY_OBJECTID,isUnread:t.Files.Client.PROPERTY_ISUNREAD,mentions:t.Files.Client.PROPERTY_MENTIONS},parse:function(t){return{id:t.id,message:t.message,actorType:t.actorType,actorId:t.actorId,actorDisplayName:t.actorDisplayName,creationDateTime:t.creationDateTime,objectType:t.objectType,objectId:t.objectId,isUnread:"true"===t.isUnread,mentions:this._parseMentions(t.mentions)}},_parseMentions:function(t){if(_.isUndefined(t))return{};var e={};for(var n in t){var o=t[n];if(!_.isUndefined(o.localName)&&"mention"===o.localName){e[n]={};for(var i=o.firstChild;i;i=i.nextSibling)!_.isUndefined(i.localName)&&i.localName.startsWith("mention")&&(e[n][i.localName]=i.textContent)}}return e}});e.Comments.CommentModel=n}(OC,OCA)},function(t,e){!function(t,e){var n=t.Backbone.Collection.extend({sync:t.Backbone.davSync,model:e.Comments.CommentModel,_objectType:"files",_objectId:null,_endReached:!1,_limit:20,initialize:function(t,e){(e=e||{}).objectType&&(this._objectType=e.objectType),e.objectId&&(this._objectId=e.objectId)},url:function(){return t.linkToRemote("dav")+"/comments/"+encodeURIComponent(this._objectType)+"/"+encodeURIComponent(this._objectId)+"/"},setObjectId:function(t){this._objectId=t},hasMoreResults:function(){return!this._endReached},reset:function(){return this._endReached=!1,this._summaryModel=null,t.Backbone.Collection.prototype.reset.apply(this,arguments)},fetchNext:function(t){var e=this;if(!this.hasMoreResults())return null;var o='\n\n '+(this._limit+1)+"\n "+this.length+"\n\n",i=(t=t||{}).success;return t=_.extend({remove:!1,parse:!0,data:o,davProperties:n.prototype.model.prototype.davProperties,success:function(n){if(n.length<=e._limit?e._endReached=!0:n=_.initial(n),!e.set(n,t))return!1;i&&i.apply(null,arguments),e.trigger("sync","REPORT",e,t)}},t),this.sync("REPORT",this,t)},getSummaryModel:function(){return this._summaryModel||(this._summaryModel=new e.Comments.CommentSummaryModel({id:this._objectId,objectType:this._objectType})),this._summaryModel},updateReadMarker:function(t,e){return e=e||{},this.getSummaryModel().save({readMarker:(t||new Date).toUTCString()},e)}});e.Comments.CommentCollection=n}(OC,OCA)},function(t,e){!function(t,e){_.extend(t.Files.Client,{PROPERTY_READMARKER:"{"+t.Files.Client.NS_OWNCLOUD+"}readMarker"});var n=t.Backbone.Model.extend({sync:t.Backbone.davSync,_objectType:"files",_objectId:null,davProperties:{readMarker:t.Files.Client.PROPERTY_READMARKER},initialize:function(t,e){(e=e||{}).objectType&&(this._objectType=e.objectType)},url:function(){return t.linkToRemote("dav")+"/comments/"+encodeURIComponent(this._objectType)+"/"+encodeURIComponent(this.id)+"/"}});e.Comments.CommentSummaryModel=n}(OC,OCA)},function(e,n){!function(e,n){var o=n.Files.DetailTabView.extend({id:"commentsTabView",className:"tab commentsTabView",_autoCompleteData:void 0,_commentsModifyMenu:void 0,events:{"submit .newCommentForm":"_onSubmitComment","click .showMore":"_onClickShowMore","click .cancel":"_onClickCloseComment","click .comment":"_onClickComment","keyup div.message":"_onTextChange","change div.message":"_onTextChange","input div.message":"_onTextChange","paste div.message":"_onPaste"},_commentMaxLength:1e3,initialize:function(){n.Files.DetailTabView.prototype.initialize.apply(this,arguments),this.collection=new n.Comments.CommentCollection,this.collection.on("request",this._onRequest,this),this.collection.on("sync",this._onEndRequest,this),this.collection.on("add",this._onAddModel,this),this.collection.on("change:message",this._onChangeModel,this),this._commentMaxThreshold=.9*this._commentMaxLength,_.bindAll(this,"_onTypeComment","_initAutoComplete","_onAutoComplete")},template:function(t){var o=e.getCurrentUser();return n.Comments.Templates.view(_.extend({actorId:o.uid,actorDisplayName:o.displayName},t))},editCommentTemplate:function(o){var i=e.getCurrentUser();return n.Comments.Templates.edit_comment(_.extend({actorId:i.uid,actorDisplayName:i.displayName,newMessagePlaceholder:t("comments","New comment …"),submitText:t("comments","Post"),cancelText:t("comments","Cancel"),tag:"li"},o))},commentTemplate:function(o){return"deleted_users"===(o=_.extend({editTooltip:t("comments","Edit comment"),isUserAuthor:e.getCurrentUser().uid===o.actorId,isLong:this._isLong(o.message)},o)).actorType&&(o.actorId=null,o.actorDisplayName=t("comments","[Deleted user]")),n.Comments.Templates.comment(o)},getLabel:function(){return t("comments","Comments")},getIcon:function(){return"icon-comment"},setFileInfo:function(t){t?(this.model=t,this.render(),this._initAutoComplete($("#commentsTabView").find(".newCommentForm .message")),this.collection.setObjectId(this.model.id),this.collection.reset([],{silent:!0}),this.nextPage()):(this.model=null,this.render(),this.collection.reset())},render:function(){this.$el.html(this.template({emptyResultLabel:t("comments","No comments yet, start the conversation!"),moreLabel:t("comments","More comments …")})),this.$el.find(".comments").before(this.editCommentTemplate({tag:"div"})),this.$el.find(".has-tooltip").tooltip(),this.$container=this.$el.find("ul.comments"),this.$el.find(".avatar").avatar(e.getCurrentUser().uid,32),this.delegateEvents(),this.$el.find(".message").on("keydown input change",this._onTypeComment),autosize(this.$el.find(".newCommentRow .message")),this.$el.find(".newCommentForm .message").focus()},_initAutoComplete:function(t){var n=this,o=10;_.isUndefined(e.appConfig.comments)||(o=e.appConfig.comments.maxAutoCompleteResults),t.atwho({at:"@",limit:o,callbacks:{remoteFilter:n._onAutoComplete,highlighter:function(t){var e=$(t);return e.find(".avatar").avatar(void 0,32),e},sorter:function(t,e){return e}},displayTpl:function(t){return'
    • '+escapeHTML(t.label)+"
    • "},insertTpl:function(t){return''+escapeHTML(t.label)+""},searchKey:"label"}),t.on("inserted.atwho",(function(t,e){n._postRenderItem($(t.target).find('span[data-username="'+e.find("[data-username]").data("username")+'"]').parent(),!0)}))},_onAutoComplete:function(t,n){var o=this;_.isUndefined(this._autoCompleteRequestTimer)||clearTimeout(this._autoCompleteRequestTimer),this._autoCompleteRequestTimer=_.delay((function(){_.isUndefined(this._autoCompleteRequestCall)||this._autoCompleteRequestCall.abort(),this._autoCompleteRequestCall=$.ajax({url:e.linkToOCS("core",2)+"autocomplete/get",data:{search:t,itemType:"files",itemId:o.model.get("id"),sorter:"commenters|share-recipients",limit:e.appConfig.comments.maxAutoCompleteResults},beforeSend:function(t){t.setRequestHeader("Accept","application/json")},success:function(t){n(t.ocs.data)}})}),400)},_formatItem:function(t){var n=new Date(t.get("creationDateTime")).getTime();return _.extend({timestamp:n,date:e.Util.relativeModifiedDate(n),altDate:e.Util.formatDate(n),formattedMessage:this._formatMessage(t.get("message"),t.get("mentions"))},t.attributes)},_toggleLoading:function(t){this._loading=t,this.$el.find(".loading").toggleClass("hidden",!t)},_onRequest:function(t){"REPORT"===t&&(this._toggleLoading(!0),this.$el.find(".showMore").addClass("hidden"))},_onEndRequest:function(t){var e=this.model;(this._toggleLoading(!1),this.$el.find(".emptycontent").toggleClass("hidden",!!this.collection.length),this.$el.find(".showMore").toggleClass("hidden",!this.collection.hasMoreResults()),"REPORT"===t)&&(this.collection.findWhere({isUnread:!0})&&this.collection.updateReadMarker(null,{success:function(){e.set("commentsUnread",0)}}),this.$el.find(".newCommentForm .message").focus())},_onAddModel:function(t,e,n){var o=$(this.commentTemplate(this._formatItem(t)));!_.isUndefined(n.at)&&e.length>1?this.$container.find("li").eq(n.at).before(o):this.$container.append(o),this._postRenderItem(o),$("#commentsTabView").find(".newCommentForm div.message").text("").prop("contenteditable",!0);var i=t.get("mentions"),a=this;t.fetch({success:function(t){if(!_.isEqual(i,t.get("mentions"))){var e=$(a.commentTemplate(a._formatItem(t)));o.html(e.html()),a._postRenderItem(o)}}})},_onChangeModel:function(t){if(t.get("message").trim()!==t.previous("message").trim()){var e=this.$container.find('.comment[data-id="'+t.id+'"] form').closest(".comment"),n=e.data("commentEl");if(!_.isUndefined(n)){var o=this;t.fetch({success:function(t){n.removeClass("hidden"),e.remove();var i=n.find(".message");i.html(o._formatMessage(t.get("message"),t.get("mentions"))).find(".avatar").each((function(){$(this).avatar()})),o._postRenderItem(i)}})}}},_postRenderItem:function(t,o){t.find(".has-tooltip").tooltip();var i=t.find(".message .avatar");$(t.context).hasClass("message")&&(i=t.find(".avatar")),i.each((function(){var t=$(this);t.avatar(t.attr("data-username"),16)})),t.find(".authorRow .avatar").each((function(){var t=$(this);t.avatar(t.attr("data-username"),32)}));var a=t.find(".avatar").data("username");a!==e.getCurrentUser().uid&&t.find(".authorRow .avatar, .authorRow .author").contactsMenu(a,0,t.find(".authorRow"));var r=t.find(".message");if(0===r.length&&(r=t),!o){var s=this,l=new n.Comments.CommentsModifyMenu;t.find(".authorRow").append(l.$el),t.find(".more").on("click",_.bind(l.show,l)),s.listenTo(l,"select:menu-item-clicked",(function(t,e){"edit"===e?s._onClickEditComment(t):"delete"===e&&s._onClickDeleteComment(t)}))}this._postRenderMessage(r,o)},_postRenderMessage:function(t,n){n||t.find(".avatar-name-wrapper").each((function(){var t=$(this),n=t.find(".avatar").data("user");n!==e.getCurrentUser().uid&&t.contactsMenu(n,0,t)}))},_formatMessage:function(t,e,n){for(var o in t=escapeHTML(t).replace(/\n/g,"
      "),e){if(!e.hasOwnProperty(o))return;var i="@"+e[o].mentionId;-1!==e[o].mentionId.indexOf(" ")&&(i=_.escape('@"'+e[o].mentionId+'"')),i=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");var a=new RegExp("(^|\\s)("+i+")\\b","g");-1!==e[o].mentionId.indexOf(" ")&&(a=new RegExp("(^|\\s)("+i+")","g"));var r=this._composeHTMLMention(e[o].mentionId,e[o].mentionDisplayName);t=t.replace(a,(function(t,e){return e+r}))}return!0!==n&&(t=OCP.Comments.plainToRich(t)),t},_composeHTMLMention:function(t,n){var o='';return''+o+""+_.escape(n)+""},nextPage:function(){!this._loading&&this.collection.hasMoreResults()&&this.collection.fetchNext()},_onClickEditComment:function(e){e.preventDefault();var n=$(e.target).closest(".comment"),o=n.data("id"),i=this.collection.get(o),a=$(this.editCommentTemplate(_.extend({isEditMode:!0,submitText:t("comments","Save")},i.attributes)));n.addClass("hidden").removeClass("collapsed"),n.after(a),a.data("commentEl",n),a.find(".message").on("keydown input change",this._onTypeComment),a.find(".avatar:first").replaceWith(n.find(".avatar:first").clone()),a.find(".has-tooltip").tooltip();var r=a.find(".message");r.html(this._formatMessage(i.get("message"),i.get("mentions"),!0)).find(".avatar").each((function(){$(this).avatar()}));return this._postRenderItem(r,!0),autosize(a.find(".message")),this._initAutoComplete(a.find(".message")),!1},_onTypeComment:function(e){var n=$(e.target),o=n.text().length,i=n.data("submitButtonEl");i||(i=n.closest("form").find(".submit"),n.data("submitButtonEl",i)),n.tooltip("hide"),o>this._commentMaxThreshold&&(n.attr("data-original-title",t("comments","Allowed characters {count} of {max}",{count:o,max:this._commentMaxLength})),n.tooltip({trigger:"manual"}),n.tooltip("show"),n.addClass("error"));var a=o>this._commentMaxLength;n.toggleClass("error",a),i.prop("disabled",a),13!==e.keyCode||e.shiftKey||n.atwho("isSelecting")||(i.click(),e.preventDefault())},_onClickComment:function(t){var e=$(t.target);e.is(".comment")||(e=e.closest(".comment")),e.removeClass("collapsed")},_onClickCloseComment:function(t){t.preventDefault();var e=$(t.target).closest(".comment");return e.data("commentEl").removeClass("hidden"),e.remove(),!1},_onClickDeleteComment:function(n){n.preventDefault();var o=$(n.target).closest(".comment"),i=o.data("id"),a=o.find(".deleteLoading"),r=o.find(".more");return o.addClass("disabled"),a.removeClass("hidden"),r.addClass("hidden"),o.data("commentEl",o),this.collection.get(i).destroy({success:function(){o.data("commentEl").remove(),o.remove()},error:function(){a.addClass("hidden"),r.removeClass("hidden"),o.removeClass("disabled"),e.Notification.showTemporary(t("comments","Error occurred while retrieving comment with ID {id}",{id:i}))}}),!1},_onClickShowMore:function(t){t.preventDefault(),this.nextPage()},_onSubmitSuccess:function(t,e){var n=e.find(".submit"),o=e.find(".submitLoading");n.removeClass("hidden"),o.addClass("hidden")},_commentBodyHTML2Plain:function(t){var e,n=t.clone();n.find(".avatar-name-wrapper").each((function(){var t=$(this),e=t.parent(),n=t.find(".avatar").data("username");-1!==n.indexOf(" ")?e.html('@"'+n+'"'):e.html("@"+n)})),n.html(OCP.Comments.richToPlain(n.html()));var o=n.html();do{o=(e=o).replace("
      ","\n")}while(e!==o);return n.html(o),n.text()},_onSubmitComment:function(t){var n=this,o=$(t.target),i=o.closest(".comment").data("id"),a=e.getCurrentUser(),r=o.find(".submit"),s=o.find(".submitLoading"),l=o.find(".message"),c=l.text().trim();if(t.preventDefault(),c.length&&!(c.length>this._commentMaxLength)){if(l.prop("contenteditable",!1),r.addClass("hidden"),s.removeClass("hidden"),c=this._commentBodyHTML2Plain(l),i)this.collection.get(i).save({message:c},{success:function(t){if(n._onSubmitSuccess(t,o),t.get("message").trim()===t.previous("message").trim()){var e=o.closest(".comment");e.data("commentEl").removeClass("hidden"),e.remove()}},error:function(){n._onSubmitError(o,i)}});else this.collection.create({actorId:a.uid,actorDisplayName:a.displayName,actorType:"users",verb:"comment",message:c,creationDateTime:(new Date).toUTCString()},{at:0,wait:!0,success:function(t){n._onSubmitSuccess(t,o)},error:function(){n._onSubmitError(o,void 0)}});return!1}},_onSubmitError:function(n,o){n.find(".submit").removeClass("hidden"),n.find(".submitLoading").addClass("hidden"),n.find(".message").prop("contenteditable",!0),_.isUndefined(o)?e.Notification.show(t("comments","Error occurred while posting comment"),{type:"error"}):e.Notification.show(t("comments","Error occurred while updating comment with id {id}",{id:o}),{type:"error"})},_onTextChange:function(){var t=$("#commentsTabView").find(".newCommentForm div.message");t.text().trim().length||t.empty()},_onPaste:function(t){t.preventDefault();var e=t.originalEvent.clipboardData.getData("text/plain");document.execCommand("insertText",!1,e)},_isLong:function(t){return t.length>250||(t.match(/\n/g)||[]).length>1}});n.Comments.CommentsTabView=o}(OC,OCA)},function(e,n){var o;OC,OCA,o=OC.Backbone.View.extend({tagName:"div",className:"commentsModifyMenu popovermenu bubble menu",_scopes:[{name:"edit",displayName:t("comments","Edit comment"),iconClass:"icon-rename"},{name:"delete",displayName:t("comments","Delete comment"),iconClass:"icon-delete"}],initialize:function(){},events:{"click a.action":"_onClickAction"},_onClickAction:function(t){var e=$(t.currentTarget);e.hasClass("menuitem")||(e=e.closest(".menuitem")),OC.hideMenus(),this.trigger("select:menu-item-clicked",t,e.data("action"))},render:function(){this.$el.html(OCA.Comments.Templates.commentsmodifymenu({items:this._scopes}))},show:function(t){for(var e in this._context=t,this._scopes)this._scopes[e].active=!1;var n=$(t.target),o=n.offset(),i=n.closest(".authorRow").offset(),a={top:o.top-i.top+48,left:"",right:""};a.left=o.left-i.left,a.left>200?(a.left="",a.right=this.$el.closest(".comment").find(".date").width(),this.$el.removeClass("menu-left").addClass("menu-right")):this.$el.removeClass("menu-right").addClass("menu-left"),this.$el.css(a),this.render(),this.$el.removeClass("hidden"),OC.showMenu(null,this.$el)}}),OCA.Comments=OCA.Comments||{},OCA.Comments.CommentsModifyMenu=o},function(e,o){_.extend(OC.Files.Client,{PROPERTY_COMMENTS_UNREAD:"{"+OC.Files.Client.NS_OWNCLOUD+"}comments-unread"}),OCA.Comments=_.extend({},OCA.Comments),OCA.Comments||(OCA.Comments={}),OCA.Comments.FilesPlugin={ignoreLists:["trashbin","files.public"],_formatCommentCount:function(t){return OCA.Comments.Templates.filesplugin({count:t,countMessage:n("comments","%n unread comment","%n unread comments",t),iconUrl:OC.imagePath("core","actions/comment")})},attach:function(e){var o=this;if(!(this.ignoreLists.indexOf(e.id)>=0)){e.registerTabView(new OCA.Comments.CommentsTabView("commentsTabView"));var i=e._getWebdavProperties;e._getWebdavProperties=function(){var t=i.apply(this,arguments);return t.push(OC.Files.Client.PROPERTY_COMMENTS_UNREAD),t},e.filesClient.addFileInfoParser((function(t){var e={},n=t.propStat[0].properties[OC.Files.Client.PROPERTY_COMMENTS_UNREAD];return _.isUndefined(n)||""===n||(e.commentsUnread=parseInt(n,10)),e})),e.$el.addClass("has-comments");var a=e._createRow;e._createRow=function(t){var e=a.apply(this,arguments);return t.commentsUnread&&e.attr("data-comments-unread",t.commentsUnread),e},e.fileActions.registerAction({name:"Comment",displayName:function(e){if(e&&e.$file){var o=parseInt(e.$file.data("comments-unread"),10);if(o>=0)return n("comments","1 new comment","{unread} new comments",o,{unread:o})}return t("comments","Comment")},mime:"all",order:-140,iconClass:"icon-comment",permissions:OC.PERMISSION_READ,type:OCA.Files.FileActions.TYPE_INLINE,render:function(t,e,n){var i=n.$file.data("comments-unread");if(i){var a=$(o._formatCommentCount(i));return n.$file.find("a.name>span.fileactions").append(a),a}return""},actionHandler:function(t,e){e.$file.find(".action-comment").tooltip("hide"),e.fileList.showDetailsView(t,"comments")}});var r=e.elementToFile;e.elementToFile=function(t){var e=r.apply(this,arguments),n=t.data("comments-unread");return n&&(e.commentsUnread=n),e}}}},OC.Plugins.register("OCA.Files.FileList",OCA.Comments.FilesPlugin)},function(t,e){OCA.Comments.ActivityTabViewPlugin={prepareModelForDisplay:function(t,e,n){if("comments"===t.get("app")&&"comments"===t.get("type")&&"ActivityTabView"===n&&(e.addClass("comment"),t.get("message")&&this._isLong(t.get("message")))){e.addClass("collapsed");var o=$("
      ").addClass("message-overlay");e.find(".activitymessage").after(o),e.on("click",this._onClickCollapsedComment)}},_onClickCollapsedComment:function(t){var e=$(t.target);e.is(".comment")||(e=e.closest(".comment")),e.removeClass("collapsed")},_isLong:function(t){return t.length>250||(t.match(/\n/g)||[]).length>1}},OC.Plugins.register("OCA.Activity.RenderingPlugins",OCA.Comments.ActivityTabViewPlugin)},function(t,e){!function(t,e,n){"use strict";var o=function(){this.initialize()};o.prototype={fileList:null,initialize:function(){var o=this;this.fileAppLoaded=function(){return!!e.Files&&!!e.Files.App},this.renderCommentResult=function(e,o){var i;(i=n(".nofilterresults")).hasClass("hidden")||i.addClass("hidden"),this.updateLegacyMimetype(o);var a=n("
      ").addClass("path").text(o.path),r=n("
      ");r.addClass("avatar").css("display","inline-block").css("vertical-align","middle").css("margin","0 5px 2px 3px"),o.authorName?r.avatar(o.authorId,21,void 0,!1,void 0,o.authorName):r.avatar(o.authorId,21),e.find("td.info div.name").after(a).text(o.comment).prepend(n("").addClass("path").css("margin-right","5px").text(o.authorName)).prepend(r),e.find("td.result a").attr("href",o.link),e.find("td.icon").css("background-image","url("+t.imagePath("core","actions/comment")+")").css("opacity",".4");var s=t.dirname(o.path);return s===o.path&&(s="/"),e.find("td.info a").attr("href",t.generateUrl("/apps/files/?dir={dir}&scrollto={scrollto}",{dir:s,scrollto:o.fileName})),e},this.handleCommentClick=function(e,n,i){return!o.fileAppLoaded()||"files"!==o.fileList.id||(o.fileList.changeDirectory(t.dirname(n.path)),o.fileList.scrollTo(n.name),!1)},this.updateLegacyMimetype=function(t){!t.mime&&t.mime_type&&(t.mime=t.mime_type)},this.setFileList=function(t){this.fileList=t},t.Plugins.register("OCA.Search.Core",this)},attach:function(t){t.setRenderer("comment",this.renderCommentResult.bind(this)),t.setHandler("comment",this.handleCommentClick.bind(this))}},e.Search.comment=new o}(OC,OCA,$)},function(t,e,n){var o,i,a;a=this,o=[n(0)],void 0===(i=function(t){return a.returnExportsGlobal=function(t){"use strict";var e,n,o,i,a,r,s,l;e=function(){function e(t){this.$inputor=t,this.domInputor=this.$inputor[0]}return e.prototype.setPos=function(){return this.domInputor},e.prototype.getIEPosition=function(){return this.getPosition()},e.prototype.getPosition=function(){var t,e;return e=this.getOffset(),t=this.$inputor.offset(),e.left-=t.left,e.top-=t.top,e},e.prototype.getOldIEPos=function(){var t,e;return e=r.selection.createRange(),(t=r.body.createTextRange()).moveToElementText(this.domInputor),t.setEndPoint("EndToEnd",e),t.text.length},e.prototype.getPos=function(){var t,e,n;return(n=this.range())?((t=n.cloneRange()).selectNodeContents(this.domInputor),t.setEnd(n.endContainer,n.endOffset),e=t.toString().length,t.detach(),e):r.selection?this.getOldIEPos():void 0},e.prototype.getOldIEOffset=function(){var t,e;return(t=r.selection.createRange().duplicate()).moveStart("character",-1),{height:(e=t.getBoundingClientRect()).bottom-e.top,left:e.left,top:e.top}},e.prototype.getOffset=function(){var e,n,o,i,a;return s.getSelection&&(o=this.range())?(o.endOffset-1>0&&o.endContainer===!this.domInputor&&((e=o.cloneRange()).setStart(o.endContainer,o.endOffset-1),e.setEnd(o.endContainer,o.endOffset),n={height:(i=e.getBoundingClientRect()).height,left:i.left+i.width,top:i.top},e.detach()),n&&0!==(null!=n?n.height:void 0)||(e=o.cloneRange(),a=t(r.createTextNode("|")),e.insertNode(a[0]),e.selectNode(a[0]),n={height:(i=e.getBoundingClientRect()).height,left:i.left,top:i.top},a.remove(),e.detach())):r.selection&&(n=this.getOldIEOffset()),n&&(n.top+=t(s).scrollTop(),n.left+=t(s).scrollLeft()),n},e.prototype.range=function(){var t;if(s.getSelection)return(t=s.getSelection()).rangeCount>0?t.getRangeAt(0):null},e}(),n=function(){function e(t){this.$inputor=t,this.domInputor=this.$inputor[0]}return e.prototype.getIEPos=function(){var t,e,n,o,i,a;return e=this.domInputor,o=0,(i=r.selection.createRange())&&i.parentElement()===e&&(n=e.value.replace(/\r\n/g,"\n").length,(a=e.createTextRange()).moveToBookmark(i.getBookmark()),(t=e.createTextRange()).collapse(!1),o=a.compareEndPoints("StartToEnd",t)>-1?n:-a.moveStart("character",-n)),o},e.prototype.getPos=function(){return r.selection?this.getIEPos():this.domInputor.selectionStart},e.prototype.setPos=function(t){var e,n;return e=this.domInputor,r.selection?((n=e.createTextRange()).move("character",t),n.select()):e.setSelectionRange&&e.setSelectionRange(t,t),e},e.prototype.getIEOffset=function(t){var e;return e=this.domInputor.createTextRange(),t||(t=this.getPos()),e.move("character",t),{left:e.boundingLeft,top:e.boundingTop,height:e.boundingHeight}},e.prototype.getOffset=function(e){var n,o,i;return n=this.$inputor,r.selection?((o=this.getIEOffset(e)).top+=t(s).scrollTop()+n.scrollTop(),o.left+=t(s).scrollLeft()+n.scrollLeft(),o):(o=n.offset(),i=this.getPosition(e),o={left:o.left+i.left-n.scrollLeft(),top:o.top+i.top-n.scrollTop(),height:i.height})},e.prototype.getPosition=function(t){var e,n,i,a,r;return e=this.$inputor,i=function(t){return t=t.replace(/<|>|`|"|&/g,"?").replace(/\r\n|\r|\n/g,"
      "),/firefox/i.test(navigator.userAgent)&&(t=t.replace(/\s/g," ")),t},void 0===t&&(t=this.getPos()),r=e.val().slice(0,t),n=e.val().slice(t),a=""+i(r)+"",a+="|",a+=""+i(n)+"",new o(e).create(a).rect()},e.prototype.getIEPosition=function(t){var e,n;return n=this.getIEOffset(t),e=this.$inputor.offset(),{left:n.left-e.left,top:n.top-e.top,height:n.height}},e}(),o=function(){function e(t){this.$inputor=t}return e.prototype.css_attr=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderTopWidth","boxSizing","fontFamily","fontSize","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","outlineWidth","overflow","overflowX","overflowY","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","textOverflow","textTransform","whiteSpace","wordBreak","wordWrap"],e.prototype.mirrorCss=function(){var e,n=this;return e={position:"absolute",left:-9999,top:0,zIndex:-2e4},"TEXTAREA"===this.$inputor.prop("tagName")&&this.css_attr.push("width"),t.each(this.css_attr,(function(t,o){return e[o]=n.$inputor.css(o)})),e},e.prototype.create=function(e){return this.$mirror=t("
      "),this.$mirror.css(this.mirrorCss()),this.$mirror.html(e),this.$inputor.after(this.$mirror),this},e.prototype.rect=function(){var t,e,n;return n={left:(e=(t=this.$mirror.find("#caret")).position()).left,top:e.top,height:t.height()},this.$mirror.remove(),n},e}(),i={contentEditable:function(t){return!(!t[0].contentEditable||"true"!==t[0].contentEditable)}},a={pos:function(t){return t||0===t?this.setPos(t):this.getPos()},position:function(t){return r.selection?this.getIEPosition(t):this.getPosition(t)},offset:function(t){return this.getOffset(t)}},r=null,s=null,l=function(t){var e;return(e=null!=t?t.iframe:void 0)?(s=e.contentWindow,r=e.contentDocument||s.document):(s=window,r=document)},t.fn.caret=function(o,r,s){var c;return a[o]?(t.isPlainObject(r)?(l(r),r=void 0):l(s),c=i.contentEditable(this)?new e(this):new n(this),a[o].apply(c,[r])):t.error("Method "+o+" does not exist on jQuery.caret")},t.fn.caret.EditableCaret=e,t.fn.caret.InputCaret=n,t.fn.caret.Utils=i,t.fn.caret.apis=a}(t)}.apply(e,o))||(t.exports=i)},function(t,e,n){var o,i;function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}o=[n(0)],void 0===(i=function(t){return function(t){var e,n,o;n={ESC:27,TAB:9,ENTER:13,CTRL:17,A:65,P:80,N:78,LEFT:37,UP:38,RIGHT:39,DOWN:40,BACKSPACE:8,SPACE:32},e={beforeSave:function(t){return i.arrayToDefaultHash(t)},matcher:function(t,e,n,o){var i,a,r;return t=t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),n&&(t="(?:^|\\s)"+t),i=decodeURI("%C3%80"),a=decodeURI("%C3%BF"),(r=new RegExp(t+"([A-Za-z"+i+"-"+a+"0-9_"+(o?" ":"")+"'.+-]*)$|"+t+"([^\\x00-\\xff]*)$","gi").exec(e))?r[2]||r[1]:null},filter:function(t,e,n){var o,i,a,r;for(o=[],i=0,r=e.length;r>i;i++)a=e[i],~new String(a[n]).toLowerCase().indexOf(t.toLowerCase())&&o.push(a);return o},remoteFilter:null,sorter:function(t,e,n){var o,i,a,r;if(!t)return e;for(o=[],i=0,r=e.length;r>i;i++)(a=e[i]).atwho_order=new String(a[n]).toLowerCase().indexOf(t.toLowerCase()),a.atwho_order>-1&&o.push(a);return o.sort((function(t,e){return t.atwho_order-e.atwho_order}))},tplEval:function(t,e){var n;n=t;try{return"string"!=typeof t&&(n=t(e)),n.replace(/\$\{([^\}]*)\}/g,(function(t,n,o){return e[n]}))}catch(t){return""}},highlighter:function(t,e){var n;return e?(n=new RegExp(">\\s*([^<]*?)("+e.replace("+","\\+")+")([^<]*)\\s*<","ig"),t.replace(n,(function(t,e,n,o){return"> "+e+""+n+""+o+" <"}))):t},beforeInsert:function(t,e,n){return t},beforeReposition:function(t){return t},afterMatchFailed:function(t,e){}},o=function(){function e(e){this.currentFlag=null,this.controllers={},this.aliasMaps={},this.$inputor=t(e),this.setupRootElement(),this.listen()}return e.prototype.createContainer=function(e){var n;return null!=(n=this.$el)&&n.remove(),t(e.body).append(this.$el=t("
      "))},e.prototype.setupRootElement=function(e,n){var o,i;if(null==n&&(n=!1),e)this.window=e.contentWindow,this.document=e.contentDocument||this.window.document,this.iframe=e;else{this.document=this.$inputor[0].ownerDocument,this.window=this.document.defaultView||this.document.parentWindow;try{this.iframe=this.window.frameElement}catch(i){if(o=i,this.iframe=null,t.fn.atwho.debug)throw new Error("iframe auto-discovery is failed.\nPlease use `setIframe` to set the target iframe manually.\n"+o)}}return this.createContainer((this.iframeAsRoot=n)?this.document:document)},e.prototype.controller=function(t){var e,n,o,i;if(this.aliasMaps[t])n=this.controllers[this.aliasMaps[t]];else for(o in i=this.controllers)if(e=i[o],o===t){n=e;break}return n||this.controllers[this.currentFlag]},e.prototype.setContextFor=function(t){return this.currentFlag=t,this},e.prototype.reg=function(t,e){var n,o;return o=(n=this.controllers)[t]||(n[t]=this.$inputor.is("[contentEditable]")?new l(this,t):new s(this,t)),e.alias&&(this.aliasMaps[e.alias]=t),o.init(e),this},e.prototype.listen=function(){return this.$inputor.on("compositionstart",function(t){return function(e){var n;return null!=(n=t.controller())&&n.view.hide(),t.isComposing=!0,null}}(this)).on("compositionend",function(t){return function(e){return t.isComposing=!1,setTimeout((function(e){return t.dispatch(e)})),null}}(this)).on("keyup.atwhoInner",function(t){return function(e){return t.onKeyup(e)}}(this)).on("keydown.atwhoInner",function(t){return function(e){return t.onKeydown(e)}}(this)).on("blur.atwhoInner",function(t){return function(e){var n;return(n=t.controller())?(n.expectedQueryCBId=null,n.view.hide(e,n.getOpt("displayTimeout"))):void 0}}(this)).on("click.atwhoInner",function(t){return function(e){return t.dispatch(e)}}(this)).on("scroll.atwhoInner",function(t){return function(){var e;return e=t.$inputor.scrollTop(),function(n){var o,i;return o=n.target.scrollTop,e!==o&&null!=(i=t.controller())&&i.view.hide(n),e=o,!0}}}(this)())},e.prototype.shutdown=function(){var t,e;for(t in e=this.controllers)e[t].destroy(),delete this.controllers[t];return this.$inputor.off(".atwhoInner"),this.$el.remove()},e.prototype.dispatch=function(t){var e,n,o,i;for(e in i=[],o=this.controllers)n=o[e],i.push(n.lookUp(t));return i},e.prototype.onKeyup=function(e){var o;switch(e.keyCode){case n.ESC:e.preventDefault(),null!=(o=this.controller())&&o.view.hide();break;case n.DOWN:case n.UP:case n.CTRL:case n.ENTER:t.noop();break;case n.P:case n.N:e.ctrlKey||this.dispatch(e);break;default:this.dispatch(e)}},e.prototype.onKeydown=function(e){var o,i;if((i=null!=(o=this.controller())?o.view:void 0)&&i.visible())switch(e.keyCode){case n.ESC:e.preventDefault(),i.hide(e);break;case n.UP:e.preventDefault(),i.prev();break;case n.DOWN:e.preventDefault(),i.next();break;case n.P:if(!e.ctrlKey)return;e.preventDefault(),i.prev();break;case n.N:if(!e.ctrlKey)return;e.preventDefault(),i.next();break;case n.TAB:case n.ENTER:case n.SPACE:if(!i.visible())return;if(!this.controller().getOpt("spaceSelectsMatch")&&e.keyCode===n.SPACE)return;if(!this.controller().getOpt("tabSelectsMatch")&&e.keyCode===n.TAB)return;i.highlighted()?(e.preventDefault(),i.choose(e)):i.hide(e);break;default:t.noop()}},e}();var i,r=[].slice;i=function(){function n(e,n){this.app=e,this.at=n,this.$inputor=this.app.$inputor,this.id=this.$inputor[0].id||this.uid(),this.expectedQueryCBId=null,this.setting=null,this.query=null,this.pos=0,this.range=null,0===(this.$el=t("#atwho-ground-"+this.id,this.app.$el)).length&&this.app.$el.append(this.$el=t("
      ")),this.model=new c(this),this.view=new m(this)}return n.prototype.uid=function(){return(Math.random().toString(16)+"000000000").substr(2,8)+(new Date).getTime()},n.prototype.init=function(e){return this.setting=t.extend({},this.setting||t.fn.atwho.default,e),this.view.init(),this.model.reload(this.setting.data)},n.prototype.destroy=function(){return this.trigger("beforeDestroy"),this.model.destroy(),this.view.destroy(),this.$el.remove()},n.prototype.callDefault=function(){var n,o,i,a;a=arguments[0],n=2<=arguments.length?r.call(arguments,1):[];try{return e[a].apply(this,n)}catch(i){return o=i,t.error(o+" Or maybe At.js doesn't have function "+a)}},n.prototype.trigger=function(t,e){var n,o;return null==e&&(e=[]),e.push(this),o=(n=this.getOpt("alias"))?t+"-"+n+".atwho":t+".atwho",this.$inputor.trigger(o,e)},n.prototype.callbacks=function(t){return this.getOpt("callbacks")[t]||e[t]},n.prototype.getOpt=function(t,e){try{return this.setting[t]}catch(t){return null}},n.prototype.insertContentFor=function(e){var n,o;return o=this.getOpt("insertTpl"),n=t.extend({},e.data("item-data"),{"atwho-at":this.at}),this.callbacks("tplEval").call(this,o,n,"onInsert")},n.prototype.renderView=function(t){var e;return e=this.getOpt("searchKey"),t=this.callbacks("sorter").call(this,this.query.text,t.slice(0,1001),e),this.view.render(t.slice(0,this.getOpt("limit")))},n.arrayToDefaultHash=function(e){var n,o,i,a;if(!t.isArray(e))return e;for(a=[],n=0,i=e.length;i>n;n++)o=e[n],t.isPlainObject(o)?a.push(o):a.push({name:o});return a},n.prototype.lookUp=function(t){var e,n;if((!t||"click"!==t.type||this.getOpt("lookUpOnClick"))&&(!this.getOpt("suspendOnComposing")||!this.app.isComposing))return(e=this.catchQuery(t))?(this.app.setContextFor(this.at),(n=this.getOpt("delay"))?this._delayLookUp(e,n):this._lookUp(e),e):(this.expectedQueryCBId=null,e)},n.prototype._delayLookUp=function(t,e){var n,o;return n=Date.now?Date.now():(new Date).getTime(),this.previousCallTime||(this.previousCallTime=n),(o=e-(n-this.previousCallTime))>0&&e>o?(this.previousCallTime=n,this._stopDelayedCall(),this.delayedCallTimeout=setTimeout(function(e){return function(){return e.previousCallTime=0,e.delayedCallTimeout=null,e._lookUp(t)}}(this),e)):(this._stopDelayedCall(),this.previousCallTime!==n&&(this.previousCallTime=0),this._lookUp(t))},n.prototype._stopDelayedCall=function(){return this.delayedCallTimeout?(clearTimeout(this.delayedCallTimeout),this.delayedCallTimeout=null):void 0},n.prototype._generateQueryCBId=function(){return{}},n.prototype._lookUp=function(e){var n;return n=function(t,e){return t===this.expectedQueryCBId?e&&e.length>0?this.renderView(this.constructor.arrayToDefaultHash(e)):this.view.hide():void 0},this.expectedQueryCBId=this._generateQueryCBId(),this.model.query(e.text,t.proxy(n,this,this.expectedQueryCBId))},n}();var s,l,c,m,u,d=function(t,e){function n(){this.constructor=t}for(var o in e)h.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},h={}.hasOwnProperty;s=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return d(n,e),n.prototype.catchQuery=function(){var t,e,n,o,i,a,r;return e=this.$inputor.val(),t=this.$inputor.caret("pos",{iframe:this.app.iframe}),r=e.slice(0,t),(o="string"==typeof(i=this.callbacks("matcher").call(this,this.at,r,this.getOpt("startWithSpace"),this.getOpt("acceptSpaceBar"))))&&i.length0?t.getRangeAt(0):void 0},o.prototype._setRange=function(e,n,o){return null==o&&(o=this._getRange()),o&&n?(n=t(n)[0],"after"===e?(o.setEndAfter(n),o.setStartAfter(n)):(o.setEndBefore(n),o.setStartBefore(n)),o.collapse(!1),this._clearRange(o)):void 0},o.prototype._clearRange=function(t){var e;return null==t&&(t=this._getRange()),e=this.app.window.getSelection(),null==this.ctrl_a_pressed?(e.removeAllRanges(),e.addRange(t)):void 0},o.prototype._movingEvent=function(t){var e;return"click"===t.type||(e=t.which)===n.RIGHT||e===n.LEFT||e===n.UP||e===n.DOWN},o.prototype._unwrap=function(e){var n;return(n=(e=t(e).unwrap().get(0)).nextSibling)&&n.nodeValue&&(e.nodeValue+=n.nodeValue,t(n).remove()),e},o.prototype.catchQuery=function(e){var o,i,a,r,s,l,c,m,u,d,h,p;if((p=this._getRange())&&p.collapsed){if(e.which===n.ENTER)return(i=t(p.startContainer).closest(".atwho-query")).contents().unwrap(),i.is(":empty")&&i.remove(),(i=t(".atwho-query",this.app.document)).text(i.text()).contents().last().unwrap(),void this._clearRange();if(/firefox/i.test(navigator.userAgent)){if(t(p.startContainer).is(this.$inputor))return void this._clearRange();e.which===n.BACKSPACE&&p.startContainer.nodeType===document.ELEMENT_NODE&&(u=p.startOffset-1)>=0?((a=p.cloneRange()).setStart(p.startContainer,u),t(a.cloneContents()).contents().last().is(".atwho-inserted")&&(s=t(p.startContainer).contents().get(u),this._setRange("after",t(s).contents().last()))):e.which===n.LEFT&&p.startContainer.nodeType===document.TEXT_NODE&&(o=t(p.startContainer.previousSibling)).is(".atwho-inserted")&&0===p.startOffset&&this._setRange("after",o.contents().last())}if(t(p.startContainer).closest(".atwho-inserted").addClass("atwho-query").siblings().removeClass("atwho-query"),(i=t(".atwho-query",this.app.document)).length>0&&i.is(":empty")&&0===i.text().length&&i.remove(),this._movingEvent(e)||i.removeClass("atwho-inserted"),i.length>0)switch(e.which){case n.LEFT:return this._setRange("before",i.get(0),p),void i.removeClass("atwho-query");case n.RIGHT:return this._setRange("after",i.get(0).nextSibling,p),void i.removeClass("atwho-query")}if(i.length>0&&(h=i.attr("data-atwho-at-query"))&&(i.empty().html(h).attr("data-atwho-at-query",null),this._setRange("after",i.get(0),p)),(a=p.cloneRange()).setStart(p.startContainer,0),l="string"==typeof(m=this.callbacks("matcher").call(this,this.at,a.toString(),this.getOpt("startWithSpace"),this.getOpt("acceptSpaceBar"))),0===i.length&&l&&(r=p.startOffset-this.at.length-m.length)>=0&&(p.setStart(p.startContainer,r),i=t("",this.app.document).attr(this.getOpt("editableAtwhoQueryAttrs")).addClass("atwho-query"),p.surroundContents(i.get(0)),(c=i.contents().last().get(0))&&(/firefox/i.test(navigator.userAgent)?(p.setStart(c,c.length),p.setEnd(c,c.length),this._clearRange(p)):this._setRange("after",c,p))),!(l&&m.length=0&&(this._movingEvent(e)&&i.hasClass("atwho-inserted")?i.removeClass("atwho-query"):!1!==this.callbacks("afterMatchFailed").call(this,this.at,i)&&this._setRange("after",this._unwrap(i.text(i.text()).contents().first()))),null)}},o.prototype.rect=function(){var e,n;return(n=this.query.el.offset())&&this.query.el[0].getClientRects().length?(this.app.iframe&&!this.app.iframeAsRoot&&(e=t(this.app.iframe).offset(),n.left+=e.left-this.$inputor.scrollLeft(),n.top+=e.top-this.$inputor.scrollTop()),n.bottom=n.top+this.query.el.height(),n):void 0},o.prototype.insert=function(t,e){var n,o,i,a,r;return this.$inputor.is(":focus")||this.$inputor.focus(),(o=this.getOpt("functionOverrides")).insert?o.insert.call(this,t,e):(a=""===(a=this.getOpt("suffix"))?a:a||" ",n=e.data("item-data"),this.query.el.removeClass("atwho-query").addClass("atwho-inserted").html(t).attr("data-atwho-at-query",""+n["atwho-at"]+this.query.text).attr("contenteditable","false"),(i=this._getRange())&&(this.query.el.length&&i.setEndAfter(this.query.el[0]),i.collapse(!1),i.insertNode(r=this.app.document.createTextNode(""+a)),this._setRange("after",r,i)),this.$inputor.is(":focus")||this.$inputor.focus(),this.$inputor.change())},o}(i),c=function(){function e(t){this.context=t,this.at=this.context.at,this.storage=this.context.$inputor}return e.prototype.destroy=function(){return this.storage.data(this.at,null)},e.prototype.saved=function(){return this.fetch()>0},e.prototype.query=function(t,e){var n,o,i;return o=this.fetch(),i=this.context.getOpt("searchKey"),o=this.context.callbacks("filter").call(this.context,t,o,i)||[],n=this.context.callbacks("remoteFilter"),o.length>0||!n&&0===o.length?e(o):n.call(this.context,t,e)},e.prototype.fetch=function(){return this.storage.data(this.at)||[]},e.prototype.save=function(t){return this.storage.data(this.at,this.context.callbacks("beforeSave").call(this.context,t||[]))},e.prototype.load=function(t){return!this.saved()&&t?this._load(t):void 0},e.prototype.reload=function(t){return this._load(t)},e.prototype._load=function(e){return"string"==typeof e?t.ajax(e,{dataType:"json"}).done(function(t){return function(e){return t.save(e)}}(this)):this.save(e)},e}(),m=function(){function e(e){this.context=e,this.$el=t("
        "),this.$elUl=this.$el.children(),this.timeoutID=null,this.context.$el.append(this.$el),this.bindEvent()}return e.prototype.init=function(){var t,e;return e=this.context.getOpt("alias")||this.context.at.charCodeAt(0),(t=this.context.getOpt("headerTpl"))&&1===this.$el.children().length&&this.$el.prepend(t),this.$el.attr({id:"at-view-"+e})},e.prototype.destroy=function(){return this.$el.remove()},e.prototype.bindEvent=function(){var e,n,o;return e=this.$el.find("ul"),n=0,o=0,e.on("mousemove.atwho-view","li",(function(i){var a;if((n!==i.clientX||o!==i.clientY)&&(n=i.clientX,o=i.clientY,!(a=t(i.currentTarget)).hasClass("cur")))return e.find(".cur").removeClass("cur"),a.addClass("cur")})).on("click.atwho-view","li",function(n){return function(o){return e.find(".cur").removeClass("cur"),t(o.currentTarget).addClass("cur"),n.choose(o),o.preventDefault()}}(this))},e.prototype.visible=function(){return t.expr.filters.visible(this.$el[0])},e.prototype.highlighted=function(){return this.$el.find(".cur").length>0},e.prototype.choose=function(t){var e,n;return(e=this.$el.find(".cur")).length&&(n=this.context.insertContentFor(e),this.context._stopDelayedCall(),this.context.insert(this.context.callbacks("beforeInsert").call(this.context,n,e,t),e),this.context.trigger("inserted",[e,t]),this.hide(t)),this.context.getOpt("hideWithoutSuffix")?this.stopShowing=!0:void 0},e.prototype.reposition=function(e){var n,o,i,a;return n=this.context.app.iframeAsRoot?this.context.app.window:window,e.bottom+this.$el.height()-t(n).scrollTop()>t(n).height()&&(e.bottom=e.top-this.$el.height()),e.left>(i=t(n).width()-this.$el.width()-5)&&(e.left=i),o={left:e.left,top:e.bottom},null!=(a=this.context.callbacks("beforeReposition"))&&a.call(this.context,o),this.$el.offset(o),this.context.trigger("reposition",[o])},e.prototype.next=function(){var t,e,n;return(t=this.$el.find(".cur").removeClass("cur").next()).length||(t=this.$el.find("li:first")),t.addClass("cur"),n=(e=t[0]).offsetTop+e.offsetHeight+(e.nextSibling?e.nextSibling.offsetHeight:0),this.scrollTop(Math.max(0,n-this.$el.height()))},e.prototype.prev=function(){var t,e,n;return(e=this.$el.find(".cur").removeClass("cur").prev()).length||(e=this.$el.find("li:last")),e.addClass("cur"),t=(n=e[0]).offsetTop+n.offsetHeight+(n.nextSibling?n.nextSibling.offsetHeight:0),this.scrollTop(Math.max(0,t-this.$el.height()))},e.prototype.scrollTop=function(t){var e;return(e=this.context.getOpt("scrollDuration"))?this.$elUl.animate({scrollTop:t},e):this.$elUl.scrollTop(t)},e.prototype.show=function(){var t;return this.stopShowing?void(this.stopShowing=!1):(this.visible()||(this.$el.show(),this.$el.scrollTop(0),this.context.trigger("shown")),(t=this.context.rect())?this.reposition(t):void 0)},e.prototype.hide=function(t,e){var n;if(this.visible())return isNaN(e)?(this.$el.hide(),this.context.trigger("hidden",[t])):(n=function(t){return function(){return t.hide()}}(this),clearTimeout(this.timeoutID),this.timeoutID=setTimeout(n,e))},e.prototype.render=function(e){var n,o,i,a,r,s,l;if(t.isArray(e)&&e.length>0){for(this.$el.find("ul").empty(),o=this.$el.find("ul"),l=this.context.getOpt("displayTpl"),i=0,r=e.length;r>i;i++)a=e[i],a=t.extend({},a,{"atwho-at":this.context.at}),s=this.context.callbacks("tplEval").call(this.context,l,a,"onDisplay"),(n=t(this.context.callbacks("highlighter").call(this.context,s,this.context.query.text))).data("item-data",a),o.append(n);return this.show(),this.context.getOpt("highlightFirst")?o.find("li:first").addClass("cur"):void 0}this.hide()},e}(),u={load:function(t,e){var n;return(n=this.controller(t))?n.model.load(e):void 0},isSelecting:function(){var t;return!!(null!=(t=this.controller())?t.view.visible():void 0)},hide:function(){var t;return null!=(t=this.controller())?t.view.hide():void 0},reposition:function(){var t;return(t=this.controller())?t.view.reposition(t.rect()):void 0},setIframe:function(t,e){return this.setupRootElement(t,e),null},run:function(){return this.dispatch()},destroy:function(){return this.shutdown(),this.$inputor.data("atwho",null)}},t.fn.atwho=function(e){var n,i;return n=arguments,i=null,this.filter('textarea, input, [contenteditable=""], [contenteditable=true]').each((function(){var r,s;return(s=(r=t(this)).data("atwho"))||r.data("atwho",s=new o(this)),"object"!=a(e)&&e?u[e]&&s?i=u[e].apply(s,Array.prototype.slice.call(n,1)):t.error("Method "+e+" does not exist on jQuery.atwho"):s.reg(e.at,e)})),null!=i?i:this},t.fn.atwho.default={at:void 0,alias:void 0,data:null,displayTpl:"
      • ${name}
      • ",insertTpl:"${atwho-at}${name}",headerTpl:null,callbacks:e,functionOverrides:{},searchKey:"name",suffix:void 0,hideWithoutSuffix:!1,startWithSpace:!0,acceptSpaceBar:!1,highlightFirst:!0,limit:5,maxLen:20,minLen:0,displayTimeout:300,delay:null,spaceSelectsMatch:!1,tabSelectsMatch:!0,editableAtwhoQueryAttrs:{},scrollDuration:150,suspendOnComposing:!0,lookUpOnClick:!0},t.fn.atwho.debug=!1}(t)}.apply(e,o))||(t.exports=i)},function(t,e,n){var o=n(17);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);(0,n(2).default)("8e87fa8e",o,!0,{})},function(t,e,n){(t.exports=n(1)(!1)).push([t.i,".atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:var(--color-main-background);color:var(--color-main-text);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 0 5px var(--color-box-shadow);min-width:120px;z-index:11110 !important}.atwho-view .atwho-header{padding:5px;margin:5px;cursor:pointer;border-bottom:solid 1px var(--color-border);color:var(--color-main-text);font-size:11px;font-weight:bold}.atwho-view .atwho-header .small{color:var(--color-main-text);float:right;padding-top:2px;margin-right:-5px;font-size:12px;font-weight:normal}.atwho-view .atwho-header:hover{cursor:default}.atwho-view .cur{background:var(--color-primary);color:var(--color-primary-text)}.atwho-view .cur small{color:var(--color-primary-text)}.atwho-view strong{color:var(--color-main-text);font-weight:normal}.atwho-view .cur strong{color:var(--color-primary-text);font-weight:normal}.atwho-view ul{list-style:none;padding:0;margin:auto;max-height:200px;overflow-y:auto}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid var(--color-border);cursor:pointer}.atwho-view small{font-size:smaller;color:var(--color-main-text);font-weight:normal}\n",""])},function(t,e,n){var o=n(19);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);(0,n(2).default)("477a5c21",o,!0,{})},function(t,e,n){(t.exports=n(1)(!1)).push([t.i,"#commentsTabView .emptycontent{margin-top:0}#commentsTabView .newCommentForm{margin-left:36px;position:relative}#commentsTabView .newCommentForm .message{width:100%;padding:10px;min-height:44px;margin:0;padding-right:30px}#commentsTabView .newCommentForm .submit,#commentsTabView .newCommentForm .submitLoading{width:44px;height:44px;margin:0;padding:13px;background-color:transparent;border:none;opacity:.3;position:absolute;bottom:0;right:0}#commentsTabView .deleteLoading{padding:14px;vertical-align:middle}#commentsTabView .newCommentForm .submit:not(:disabled):hover,#commentsTabView .newCommentForm .submit:not(:disabled):focus{opacity:1}#commentsTabView .newCommentForm div.message{resize:none}#commentsTabView .newCommentForm div.message:empty:before{content:attr(data-placeholder);color:grey}#commentsTabView .comment{position:relative;padding:10px 0 15px}#commentsTabView .comments .comment{border-top:1px solid var(--color-border)}#commentsTabView .comment .avatar,.atwho-view-ul * .avatar{width:32px;height:32px;line-height:32px;margin-right:5px}#commentsTabView .comment .message .avatar,.atwho-view-ul * .avatar{display:inline-block}#activityTabView li.comment.collapsed .activitymessage,#commentsTabView .comment.collapsed .message{white-space:pre-wrap}#activityTabView li.comment.collapsed .activitymessage,#commentsTabView .comment.collapsed .message{max-height:70px;overflow:hidden}#activityTabView li.comment .message-overlay,#commentsTabView .comment .message-overlay{display:none}#activityTabView li.comment.collapsed .message-overlay,#commentsTabView .comment.collapsed .message-overlay{display:block;position:absolute;z-index:2;height:50px;pointer-events:none;left:0;right:0;bottom:0;background:-moz-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-webkit-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-o-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-ms-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background-repeat:no-repeat}#commentsTabView .hidden{display:none !important}#commentsTabView .comment .authorRow{min-height:44px}#commentsTabView .comment .authorRow .tooltip{margin-top:5px}.atwho-view-ul * .avatar-name-wrapper,#commentsTabView .comment .authorRow{position:relative;display:inline-flex;align-items:center;width:100%}#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser),#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser) .avatar,#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser) .avatar img,#commentsTabView .comment .authorRow .avatar:not(.currentUser),#commentsTabView .comment .authorRow .author:not(.currentUser){cursor:pointer}.atwho-view-ul .avatar-name-wrapper,.atwho-view-ul .avatar-name-wrapper .avatar,.atwho-view-ul .avatar-name-wrapper .avatar img{cursor:pointer}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper{position:relative;display:inline;vertical-align:top;background-color:var(--color-background-dark);border-radius:50vh;padding:1px 7px 1px 1px;white-space:nowrap}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper .avatar,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper .avatar{height:16px;width:16px;vertical-align:middle;padding:1px;margin-top:-3px;margin-left:0;margin-right:2px}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper .avatar img,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper .avatar img{vertical-align:top}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper strong,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper strong{font-weight:bold}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper.currentUser,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper.currentUser{background-color:var(--color-primary);color:var(--color-primary-text)}.atwho-view-ul * .avatar-name-wrapper{white-space:nowrap}#commentsTabView .comment .author,#commentsTabView .comment .date{opacity:.5}#commentsTabView .comment .author{max-width:210px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#commentsTabView .comment .date{margin-left:auto;padding:10px 0px}#commentsTabView .comments>li:not(.newCommentRow) .message{padding-left:40px;word-wrap:break-word;overflow-wrap:break-word}#commentsTabView .comment .action{opacity:0.3;padding:14px;display:block}#commentsTabView .comment .action:hover,#commentsTabView .comment .action:focus{opacity:1}#commentsTabView .newCommentRow .action-container{margin-left:auto}#commentsTabView .comment.disabled .message{opacity:0.3}#commentsTabView .comment.disabled .action{display:none}#commentsTabView .message.error{color:#e9322d;border-color:#e9322d;box-shadow:0 0 6px #f8b9b7}.app-files .action-comment{padding:16px 14px}#commentsTabView .comment .message .contactsmenu-popover{left:-6px;top:24px}\n",""])}]); //# sourceMappingURL=comments.js.map \ No newline at end of file diff --git a/apps/comments/js/comments.js.map b/apps/comments/js/comments.js.map index bbd2e6954c..dec7037df9 100644 --- a/apps/comments/js/comments.js.map +++ b/apps/comments/js/comments.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"jQuery\"","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///./apps/comments/src/comments.js","webpack:///./apps/comments/src/app.js","webpack:///./apps/comments/src/templates.js","webpack:///./apps/comments/src/commentmodel.js","webpack:///./apps/comments/src/commentcollection.js","webpack:///./apps/comments/src/commentsummarymodel.js","webpack:///./apps/comments/src/commentstabview.js","webpack:///./apps/comments/src/commentsmodifymenu.js","webpack:///./apps/comments/src/filesplugin.js","webpack:///./apps/comments/src/activitytabviewplugin.js","webpack:///./apps/comments/src/search.js","webpack:///./apps/comments/src/vendor/Caret.js/dist/jquery.caret.min.js","webpack:///./apps/comments/src/vendor/At.js/dist/js/jquery.atwho.min.js","webpack:///./apps/comments/src/style/autocomplete.scss?75bd","webpack:///./apps/comments/src/style/autocomplete.scss","webpack:///./apps/comments/src/style/comments.scss?fd56","webpack:///./apps/comments/src/style/comments.scss"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","jQuery","useSourceMap","list","toString","this","map","item","content","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","length","id","_i","push","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","document","DEBUG","Error","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","options","ssrIdKey","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","type","appendChild","obj","update","remove","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","index","replacement","filter","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild","window","OCA","Comments","template","templates","Handlebars","Templates","container","depth0","helpers","partials","helper","escapeExpression","actorId","helperMissing","nullContext","stack1","alias1","alias2","alias3","alias4","isUnread","program","isLong","isUserAuthor","actorDisplayName","timestamp","altDate","date","formattedMessage","iconClass","displayName","each","items","cancelText","tag","isEditMode","newMessagePlaceholder","message","submitText","countMessage","iconUrl","emptyResultLabel","moreLabel","OC","_","extend","Files","Client","PROPERTY_FILEID","NS_OWNCLOUD","PROPERTY_MESSAGE","PROPERTY_ACTORTYPE","PROPERTY_ACTORID","PROPERTY_ISUNREAD","PROPERTY_OBJECTID","PROPERTY_OBJECTTYPE","PROPERTY_ACTORDISPLAYNAME","PROPERTY_CREATIONDATETIME","PROPERTY_MENTIONS","CommentModel","Backbone","Model","sync","davSync","defaults","actorType","objectType","davProperties","parse","creationDateTime","objectId","mentions","_parseMentions","isUndefined","result","mention","localName","child","nextSibling","startsWith","textContent","CommentCollection","Collection","model","_objectType","_objectId","_endReached","_limit","initialize","models","url","linkToRemote","setObjectId","hasMoreResults","reset","_summaryModel","apply","arguments","fetchNext","self","body","success","resp","initial","set","trigger","getSummaryModel","CommentSummaryModel","updateReadMarker","save","readMarker","Date","toUTCString","PROPERTY_READMARKER","attrs","CommentsTabView","DetailTabView","className","_autoCompleteData","undefined","_commentsModifyMenu","events","_commentMaxLength","collection","on","_onRequest","_onEndRequest","_onAddModel","_onChangeModel","_commentMaxThreshold","bindAll","params","currentUser","getCurrentUser","uid","editCommentTemplate","commentTemplate","editTooltip","_isLong","getLabel","getIcon","setFileInfo","fileInfo","render","_initAutoComplete","$","find","silent","nextPage","$el","html","before","tooltip","$container","avatar","delegateEvents","_onTypeComment","autosize","focus","$target","limit","appConfig","comments","maxAutoCompleteResults","atwho","at","callbacks","remoteFilter","_onAutoComplete","highlighter","li","$li","sorter","q","displayTpl","escapeHTML","label","insertTpl","searchKey","je","_postRenderItem","target","parent","query","callback","_autoCompleteRequestTimer","clearTimeout","delay","_autoCompleteRequestCall","abort","ajax","linkToOCS","search","itemType","itemId","beforeSend","request","setRequestHeader","ocs","_formatItem","commentModel","getTime","Util","relativeModifiedDate","formatDate","_formatMessage","attributes","_toggleLoading","state","_loading","toggleClass","addClass","fileInfoModel","findWhere","$comment","eq","append","text","prop","oldMentions","fetch","isEqual","$updated","trim","previous","$row","closest","removeClass","$message","editionMode","inlineAvatars","context","hasClass","$this","attr","username","contactsMenu","modifyCommentMenu","CommentsModifyMenu","show","listenTo","ev","action","_onClickEditComment","_onClickDeleteComment","_postRenderMessage","user","editMode","replace","mentionId","indexOf","escape","regex","RegExp","_composeHTMLMention","mentionDisplayName","match","p1","OCP","plainToRich","preventDefault","commentId","commentToEdit","$formRow","after","replaceWith","clone","$field","len","$submitButton","count","max","limitExceeded","keyCode","shiftKey","click","_onClickComment","is","_onClickCloseComment","$loading","$moreIcon","destroy","error","Notification","showTemporary","_onClickShowMore","_onSubmitSuccess","$form","$submit","_commentBodyHTML2Plain","oldHtml","$inserted","userId","richToPlain","_onSubmitComment","e","$commentField","_onSubmitError","verb","wait","_onTextChange","empty","_onPaste","originalEvent","clipboardData","getData","execCommand","View","tagName","_scopes","_onClickAction","event","currentTarget","hideMenus","_context","active","offsetIcon","offset","offsetContainer","position","top","left","right","width","showMenu","PROPERTY_COMMENTS_UNREAD","FilesPlugin","ignoreLists","_formatCommentCount","imagePath","attach","fileList","registerTabView","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","commentsUnread","propStat","properties","parseInt","oldCreateRow","_createRow","fileData","$tr","fileActions","registerAction","$file","unread","mime","order","permissions","PERMISSION_READ","FileActions","TYPE_INLINE","actionSpec","isDefault","unreadComments","$actionLink","actionHandler","fileName","showDetailsView","oldElementToFile","elementToFile","Plugins","register","ActivityTabViewPlugin","prepareModelForDisplay","view","$overlay","_onClickCollapsedComment","Comment","fileAppLoaded","App","renderCommentResult","$nofilterresults","updateLegacyMimetype","$pathDiv","path","$avatar","authorName","authorId","comment","prepend","link","dir","dirname","generateUrl","scrollto","handleCommentClick","changeDirectory","scrollTo","mime_type","setFileList","setRenderer","setHandler","Search","a","define","returnExportsGlobal","b","g","h","$inputor","domInputor","setPos","getIEPosition","getPosition","getOffset","getOldIEPos","selection","createRange","createTextRange","moveToElementText","setEndPoint","getPos","range","cloneRange","selectNodeContents","setEnd","endContainer","endOffset","detach","getOldIEOffset","duplicate","moveStart","height","getBoundingClientRect","bottom","f","getSelection","setStart","insertNode","selectNode","scrollTop","scrollLeft","rangeCount","getRangeAt","getIEPos","parentElement","moveToBookmark","getBookmark","collapse","compareEndPoints","selectionStart","move","select","setSelectionRange","getIEOffset","boundingLeft","boundingTop","boundingHeight","val","slice","rect","css_attr","mirrorCss","zIndex","$mirror","contentEditable","pos","iframe","contentWindow","contentDocument","fn","caret","isPlainObject","EditableCaret","InputCaret","Utils","apis","ESC","TAB","ENTER","CTRL","A","P","N","LEFT","UP","RIGHT","DOWN","BACKSPACE","SPACE","beforeSave","arrayToDefaultHash","matcher","decodeURI","exec","String","atwho_order","sort","tplEval","beforeInsert","beforeReposition","afterMatchFailed","currentFlag","controllers","aliasMaps","setupRootElement","listen","createContainer","ownerDocument","defaultView","parentWindow","frameElement","debug","iframeAsRoot","controller","setContextFor","reg","alias","init","hide","isComposing","setTimeout","dispatch","onKeyup","onKeydown","expectedQueryCBId","getOpt","shutdown","off","lookUp","ctrlKey","visible","prev","next","highlighted","choose","app","setting","u","Math","random","substr","reload","callDefault","insertContentFor","renderView","isArray","catchQuery","_delayLookUp","_lookUp","now","previousCallTime","_stopDelayedCall","delayedCallTimeout","_generateQueryCBId","constructor","proxy","__super__","headPos","endPos","insert","change","_getRange","_setRange","setEndAfter","setStartAfter","setEndBefore","setStartBefore","_clearRange","ctrl_a_pressed","removeAllRanges","addRange","_movingEvent","which","_unwrap","unwrap","nodeValue","collapsed","startContainer","contents","last","nodeType","ELEMENT_NODE","startOffset","cloneContents","TEXT_NODE","previousSibling","siblings","surroundContents","el","first","getClientRects","storage","saved","load","_load","dataType","done","$elUl","children","timeoutID","bindEvent","charCodeAt","clientX","clientY","expr","filters","stopShowing","reposition","offsetTop","offsetHeight","animate","isNaN","isSelecting","setIframe","run","Array","headerTpl","functionOverrides","suffix","hideWithoutSuffix","startWithSpace","acceptSpaceBar","highlightFirst","maxLen","minLen","displayTimeout","spaceSelectsMatch","tabSelectsMatch","editableAtwhoQueryAttrs","scrollDuration","suspendOnComposing","lookUpOnClick","locals","add","default"],"mappings":"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","file":"comments.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","module.exports = jQuery;","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n","import { render, staticRenderFns } from \"./LegacyView.vue?vue&type=template&id=df0d3456&\"\nimport script from \"./LegacyView.vue?vue&type=script&lang=js&\"\nexport * from \"./LegacyView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=3c76107f&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=3c76107f&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c76107f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.file)?_c('AppSidebar',_vm._b({ref:\"sidebar\",on:_vm._d({\"close\":_vm.onClose,\"update:active\":_vm.setActiveTab,\"update:starred\":_vm.toggleStarred},[_vm.defaultActionListener,function($event){$event.stopPropagation();$event.preventDefault();return _vm.onDefaultAction($event)}]),scopedSlots:_vm._u([(_vm.fileInfo)?{key:\"primary-actions\",fn:function(){return _vm._l((_vm.views),function(view){return _c('LegacyView',{key:view.cid,attrs:{\"component\":view,\"file-info\":_vm.fileInfo}})})},proxy:true}:null],null,true)},'AppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"emptycontent\"},[_c('div',{staticClass:\"icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):(_vm.fileInfo)?_vm._l((_vm.tabs),function(tab){return [(_vm.canDisplay(tab))?_c(_vm.tabComponent(tab).is,{key:tab.id,tag:\"component\",attrs:{\"component\":_vm.tabComponent(tab).component,\"name\":tab.name,\"dav-path\":_vm.davPath,\"file-info\":_vm.fileInfo}}):_vm._e()]}):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Sidebar {\n\n\t#state;\n\t#view;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis.#state = {}\n\n\t\t// init default values\n\t\tthis.#state.tabs = []\n\t\tthis.#state.views = []\n\t\tthis.#state.file = ''\n\t\tthis.#state.activeTab = ''\n\t\tconsole.debug('OCA.Files.Sidebar initialized')\n\t}\n\n\t/**\n\t * Get the sidebar state\n\t *\n\t * @readonly\n\t * @memberof Sidebar\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this.#state\n\t}\n\n\t/**\n\t * @memberof Sidebar\n\t * Register a new tab view\n\t *\n\t * @param {Object} tab a new unregistered tab\n\t * @memberof Sidebar\n\t * @returns {Boolean}\n\t */\n\tregisterTab(tab) {\n\t\tconst hasDuplicate = this.#state.tabs.findIndex(check => check.name === tab.name) > -1\n\t\tif (!hasDuplicate) {\n\t\t\tthis.#state.tabs.push(tab)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`An tab with the same name ${tab.name} already exists`, tab)\n\t\treturn false\n\t}\n\n\tregisterSecondaryView(view) {\n\t\tconst hasDuplicate = this.#state.views.findIndex(check => check.name === view.name) > -1\n\t\tif (!hasDuplicate) {\n\t\t\tthis.#state.views.push(view)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`A similar view already exists`, view)\n\t\treturn false\n\t}\n\n\t/**\n\t * Set the current sidebar file data\n\t *\n\t * @param {string} path the file path to load\n\t * @memberof Sidebar\n\t */\n\tset file(path) {\n\t\tthis.#state.file = path\n\t}\n\n\t/**\n\t * Set the current sidebar file data\n\t *\n\t * @returns {String} the current opened file\n\t * @memberof Sidebar\n\t */\n\tget file() {\n\t\treturn this.#state.file\n\t}\n\n\t/**\n\t * Set the current sidebar tab\n\t *\n\t * @param {string} id the tab unique id\n\t * @memberof Sidebar\n\t */\n\tset activeTab(id) {\n\t\tthis.#state.activeTab = id\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Tab {\n\n\t#component;\n\t#legacy;\n\t#name;\n\n\t/**\n\t * Create a new tab instance\n\t *\n\t * @param {string} name the name of this tab\n\t * @param {Object} component the vue component\n\t * @param {boolean} [legacy] is this a legacy tab\n\t */\n\tconstructor(name, component, legacy) {\n\t\tthis.#name = name\n\t\tthis.#component = component\n\t\tthis.#legacy = legacy === true\n\n\t\tif (this.#legacy) {\n\t\t\tconsole.warn('Legacy tabs are deprecated! They will be removed in nextcloud 20.')\n\t\t}\n\n\t}\n\n\tget name() {\n\t\treturn this.#name\n\t}\n\n\tget component() {\n\t\treturn this.#component\n\t}\n\n\tget isLegacyTab() {\n\t\treturn this.#legacy === true\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport SidebarView from './views/Sidebar.vue'\nimport Sidebar from './services/Sidebar'\nimport Tab from './models/Tab'\nimport VueClipboard from 'vue-clipboard2'\n\nVue.use(VueClipboard)\n\nVue.prototype.t = t\n\nwindow.addEventListener('DOMContentLoaded', () => {\n\t// Init Sidebar Service\n\tif (window.OCA && window.OCA.Files) {\n\t\tObject.assign(window.OCA.Files, { Sidebar: new Sidebar() })\n\t\tObject.assign(window.OCA.Files.Sidebar, { Tab })\n\t}\n\n\t// Make sure we have a proper layout\n\tif (document.getElementById('content')) {\n\n\t\t// Make sure we have a mountpoint\n\t\tif (!document.getElementById('app-sidebar')) {\n\t\t\tvar contentElement = document.getElementById('content')\n\t\t\tvar sidebarElement = document.createElement('div')\n\t\t\tsidebarElement.id = 'app-sidebar'\n\t\t\tcontentElement.appendChild(sidebarElement)\n\t\t}\n\t}\n\n\t// Init vue app\n\tconst AppSidebar = new Vue({\n\t\t// eslint-disable-next-line vue/match-component-file-name\n\t\tname: 'SidebarRoot',\n\t\trender: h => h(SidebarView)\n\t})\n\tAppSidebar.$mount('#app-sidebar')\n})\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of diff --git a/apps/files/src/components/LegacyView.vue b/apps/files/src/components/LegacyView.vue new file mode 100644 index 0000000000..e4a07ac3e5 --- /dev/null +++ b/apps/files/src/components/LegacyView.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/apps/files/src/models/Tab.js b/apps/files/src/models/Tab.js new file mode 100644 index 0000000000..28902b0e75 --- /dev/null +++ b/apps/files/src/models/Tab.js @@ -0,0 +1,59 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +export default class Tab { + + #component; + #legacy; + #name; + + /** + * Create a new tab instance + * + * @param {string} name the name of this tab + * @param {Object} component the vue component + * @param {boolean} [legacy] is this a legacy tab + */ + constructor(name, component, legacy) { + this.#name = name + this.#component = component + this.#legacy = legacy === true + + if (this.#legacy) { + console.warn('Legacy tabs are deprecated! They will be removed in nextcloud 20.') + } + + } + + get name() { + return this.#name + } + + get component() { + return this.#component + } + + get isLegacyTab() { + return this.#legacy === true + } + +} diff --git a/apps/files/src/services/FileInfo.js b/apps/files/src/services/FileInfo.js new file mode 100644 index 0000000000..aa026df144 --- /dev/null +++ b/apps/files/src/services/FileInfo.js @@ -0,0 +1,67 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +import axios from '@nextcloud/axios' + +export default async function(url) { + const response = await axios({ + method: 'PROPFIND', + url, + data: ` + + + + + + + + + + + + + + + + + + + + + + ` + }) + + // TODO: create new parser or use cdav-lib when available + const file = OCA.Files.App.fileList.filesClient._client.parseMultiStatus(response.data) + // TODO: create new parser or use cdav-lib when available + const fileInfo = OCA.Files.App.fileList.filesClient._parseFileInfo(file[0]) + + // TODO remove when no more legacy backbone is used + fileInfo.get = (key) => fileInfo[key] + fileInfo.isDirectory = () => fileInfo.mimetype === 'httpd/unix-directory' + + return fileInfo +} diff --git a/apps/files/src/services/Sidebar.js b/apps/files/src/services/Sidebar.js new file mode 100644 index 0000000000..2bb836272f --- /dev/null +++ b/apps/files/src/services/Sidebar.js @@ -0,0 +1,109 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +export default class Sidebar { + + #state; + #view; + + constructor() { + // init empty state + this.#state = {} + + // init default values + this.#state.tabs = [] + this.#state.views = [] + this.#state.file = '' + this.#state.activeTab = '' + console.debug('OCA.Files.Sidebar initialized') + } + + /** + * Get the sidebar state + * + * @readonly + * @memberof Sidebar + * @returns {Object} the data state + */ + get state() { + return this.#state + } + + /** + * @memberof Sidebar + * Register a new tab view + * + * @param {Object} tab a new unregistered tab + * @memberof Sidebar + * @returns {Boolean} + */ + registerTab(tab) { + const hasDuplicate = this.#state.tabs.findIndex(check => check.name === tab.name) > -1 + if (!hasDuplicate) { + this.#state.tabs.push(tab) + return true + } + console.error(`An tab with the same name ${tab.name} already exists`, tab) + return false + } + + registerSecondaryView(view) { + const hasDuplicate = this.#state.views.findIndex(check => check.name === view.name) > -1 + if (!hasDuplicate) { + this.#state.views.push(view) + return true + } + console.error(`A similar view already exists`, view) + return false + } + + /** + * Set the current sidebar file data + * + * @param {string} path the file path to load + * @memberof Sidebar + */ + set file(path) { + this.#state.file = path + } + + /** + * Set the current sidebar file data + * + * @returns {String} the current opened file + * @memberof Sidebar + */ + get file() { + return this.#state.file + } + + /** + * Set the current sidebar tab + * + * @param {string} id the tab unique id + * @memberof Sidebar + */ + set activeTab(id) { + this.#state.activeTab = id + } + +} diff --git a/apps/files/src/sidebar.js b/apps/files/src/sidebar.js new file mode 100644 index 0000000000..b508e8aee2 --- /dev/null +++ b/apps/files/src/sidebar.js @@ -0,0 +1,59 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +import Vue from 'vue' +import SidebarView from './views/Sidebar.vue' +import Sidebar from './services/Sidebar' +import Tab from './models/Tab' +import VueClipboard from 'vue-clipboard2' + +Vue.use(VueClipboard) + +Vue.prototype.t = t + +window.addEventListener('DOMContentLoaded', () => { + // Init Sidebar Service + if (window.OCA && window.OCA.Files) { + Object.assign(window.OCA.Files, { Sidebar: new Sidebar() }) + Object.assign(window.OCA.Files.Sidebar, { Tab }) + } + + // Make sure we have a proper layout + if (document.getElementById('content')) { + + // Make sure we have a mountpoint + if (!document.getElementById('app-sidebar')) { + var contentElement = document.getElementById('content') + var sidebarElement = document.createElement('div') + sidebarElement.id = 'app-sidebar' + contentElement.appendChild(sidebarElement) + } + } + + // Init vue app + const AppSidebar = new Vue({ + // eslint-disable-next-line vue/match-component-file-name + name: 'SidebarRoot', + render: h => h(SidebarView) + }) + AppSidebar.$mount('#app-sidebar') +}) diff --git a/apps/files/src/views/Sidebar.vue b/apps/files/src/views/Sidebar.vue new file mode 100644 index 0000000000..02913d3687 --- /dev/null +++ b/apps/files/src/views/Sidebar.vue @@ -0,0 +1,358 @@ + + + + + diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 402cfaa107..f9c1b5f31c 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -748,36 +748,6 @@ describe('OCA.Files.FileList tests', function() { expect(notificationStub.calledOnce).toEqual(true); }); - it('Shows renamed file details if rename ajax call suceeded', function() { - fileList.showDetailsView('One.txt'); - - expect($('#app-sidebar').hasClass('disappear')).toEqual(false); - expect(fileList._detailsView.getFileInfo().get('id')).toEqual(1); - expect(fileList._detailsView.getFileInfo().get('name')).toEqual('One.txt'); - - doRename(); - - deferredRename.resolve(201); - - expect($('#app-sidebar').hasClass('disappear')).toEqual(false); - expect(fileList._detailsView.getFileInfo().get('id')).toEqual(1); - expect(fileList._detailsView.getFileInfo().get('name')).toEqual('Tu_after_three.txt'); - }); - it('Shows again file details if rename ajax call failed', function() { - fileList.showDetailsView('One.txt'); - - expect($('#app-sidebar').hasClass('disappear')).toEqual(false); - expect(fileList._detailsView.getFileInfo().get('id')).toEqual(1); - expect(fileList._detailsView.getFileInfo().get('name')).toEqual('One.txt'); - - doRename(); - - deferredRename.reject(403); - - expect($('#app-sidebar').hasClass('disappear')).toEqual(false); - expect(fileList._detailsView.getFileInfo().get('id')).toEqual(1); - expect(fileList._detailsView.getFileInfo().get('name')).toEqual('One.txt'); - }); it('Correctly updates file link after rename', function() { var $tr; doRename(); @@ -2460,184 +2430,6 @@ describe('OCA.Files.FileList tests', function() { }); }); }); - describe('Details sidebar', function() { - beforeEach(function() { - fileList.setFiles(testFiles); - fileList.showDetailsView('Two.jpg'); - }); - describe('registering', function() { - var addTabStub; - var addDetailStub; - - beforeEach(function() { - addTabStub = sinon.stub(OCA.Files.DetailsView.prototype, 'addTabView'); - addDetailStub = sinon.stub(OCA.Files.DetailsView.prototype, 'addDetailView'); - getDetailsStub = sinon.stub(OCA.Files.DetailsView.prototype, 'getDetailViews'); - }); - afterEach(function() { - addTabStub.restore(); - addDetailStub.restore(); - getDetailsStub.restore(); - }); - it('forward the registered views to the underlying DetailsView', function() { - fileList.destroy(); - fileList = new OCA.Files.FileList($('#app-content-files'), { - detailsViewEnabled: true - }); - fileList.registerTabView(new OCA.Files.DetailTabView()); - fileList.registerDetailView(new OCA.Files.DetailFileInfoView()); - - expect(addTabStub.calledOnce).toEqual(true); - // twice because the filelist already registers one by default - expect(addDetailStub.calledTwice).toEqual(true); - }); - it('forward getting the registered views to the underlying DetailsView', function() { - fileList.destroy(); - fileList = new OCA.Files.FileList($('#app-content-files'), { - detailsViewEnabled: true - }); - var expectedRegisteredDetailsView = []; - getDetailsStub.returns(expectedRegisteredDetailsView); - - var registeredDetailViews = fileList.getRegisteredDetailViews(); - - expect(getDetailsStub.calledOnce).toEqual(true); - expect(registeredDetailViews).toEqual(expectedRegisteredDetailsView); - }); - it('does not error when registering panels when not details view configured', function() { - fileList.destroy(); - fileList = new OCA.Files.FileList($('#app-content-files'), { - detailsViewEnabled: false - }); - fileList.registerTabView(new OCA.Files.DetailTabView()); - fileList.registerDetailView(new OCA.Files.DetailFileInfoView()); - - expect(addTabStub.notCalled).toEqual(true); - expect(addDetailStub.notCalled).toEqual(true); - }); - it('returns null when getting the registered views when not details view configured', function() { - fileList.destroy(); - fileList = new OCA.Files.FileList($('#app-content-files'), { - detailsViewEnabled: false - }); - - var registeredDetailViews = fileList.getRegisteredDetailViews(); - - expect(getDetailsStub.notCalled).toEqual(true); - expect(registeredDetailViews).toBeNull(); - }); - }); - it('triggers file action when clicking on row if no details view configured', function() { - fileList.destroy(); - fileList = new OCA.Files.FileList($('#app-content-files'), { - detailsViewEnabled: false - }); - var updateDetailsViewStub = sinon.stub(fileList, '_updateDetailsView'); - var actionStub = sinon.stub(); - fileList.setFiles(testFiles); - fileList.fileActions.register( - 'text/plain', - 'Test', - OC.PERMISSION_ALL, - function() { - // Specify icon for hitory button - return OC.imagePath('core','actions/history'); - }, - actionStub - ); - fileList.fileActions.setDefault('text/plain', 'Test'); - var $tr = fileList.findFileEl('One.txt'); - $tr.find('td.filesize').click(); - expect(actionStub.calledOnce).toEqual(true); - expect(updateDetailsViewStub.notCalled).toEqual(true); - updateDetailsViewStub.restore(); - }); - it('highlights current file when clicked and updates sidebar', function() { - fileList.fileActions.setDefault('text/plain', 'Test'); - var $tr = fileList.findFileEl('One.txt'); - $tr.find('td.filesize').click(); - expect($tr.hasClass('highlighted')).toEqual(true); - - expect(fileList._detailsView.getFileInfo().id).toEqual(1); - }); - it('keeps the last highlighted file when clicking outside', function() { - var $tr = fileList.findFileEl('One.txt'); - $tr.find('td.filesize').click(); - - fileList.$el.find('tfoot').click(); - - expect($tr.hasClass('highlighted')).toEqual(true); - expect(fileList._detailsView.getFileInfo().id).toEqual(1); - }); - it('removes last highlighted file when selecting via checkbox', function() { - var $tr = fileList.findFileEl('One.txt'); - - // select - $tr.find('td.filesize').click(); - $tr.find('input:checkbox').click(); - expect($tr.hasClass('highlighted')).toEqual(false); - - // deselect - $tr.find('td.filesize').click(); - $tr.find('input:checkbox').click(); - expect($tr.hasClass('highlighted')).toEqual(false); - - expect(fileList._detailsView.getFileInfo()).toEqual(null); - }); - it('removes last highlighted file when selecting all files via checkbox', function() { - var $tr = fileList.findFileEl('One.txt'); - - // select - $tr.find('td.filesize').click(); - fileList.$el.find('.select-all.checkbox').click(); - expect($tr.hasClass('highlighted')).toEqual(false); - - // deselect - $tr.find('td.filesize').click(); - fileList.$el.find('.select-all.checkbox').click(); - expect($tr.hasClass('highlighted')).toEqual(false); - - expect(fileList._detailsView.getFileInfo()).toEqual(null); - }); - it('closes sidebar whenever the currently highlighted file was removed from the list', function() { - jQuery.fx.off = true; - var $tr = fileList.findFileEl('One.txt'); - $tr.find('td.filesize').click(); - expect($tr.hasClass('highlighted')).toEqual(true); - - expect(fileList._detailsView.getFileInfo().id).toEqual(1); - - expect($('#app-sidebar').hasClass('disappear')).toEqual(false); - fileList.remove('One.txt'); - // sidebar is removed on close before being - expect($('#app-sidebar').length).toEqual(0); - jQuery.fx.off = false; - }); - it('returns the currently selected model instance when calling getModelForFile', function() { - var $tr = fileList.findFileEl('One.txt'); - $tr.find('td.filesize').click(); - - var model1 = fileList.getModelForFile('One.txt'); - var model2 = fileList.getModelForFile('One.txt'); - model1.set('test', true); - - // it's the same model - expect(model2).toEqual(model1); - - var model3 = fileList.getModelForFile($tr); - expect(model3).toEqual(model1); - }); - it('closes the sidebar when switching folders', function() { - jQuery.fx.off = true; - var $tr = fileList.findFileEl('One.txt'); - $tr.find('td.filesize').click(); - - expect($('#app-sidebar').hasClass('disappear')).toEqual(false); - fileList.changeDirectory('/another'); - expect($('#app-sidebar').length).toEqual(0); - jQuery.fx.off = false; - }); - }); describe('File actions', function() { it('Clicking on a file name will trigger default action', function() { var actionStub = sinon.stub(); diff --git a/apps/files/webpack.js b/apps/files/webpack.js new file mode 100644 index 0000000000..4007722031 --- /dev/null +++ b/apps/files/webpack.js @@ -0,0 +1,13 @@ +const path = require('path'); + +module.exports = { + entry: { + 'sidebar': path.join(__dirname, 'src', 'sidebar.js'), + }, + output: { + path: path.resolve(__dirname, './js/dist/'), + publicPath: '/js/', + filename: '[name].js', + chunkFilename: 'files.[id].js' + } +} diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php index 747c202074..32159f7b97 100644 --- a/apps/files_sharing/appinfo/app.php +++ b/apps/files_sharing/appinfo/app.php @@ -43,6 +43,7 @@ $eventDispatcher->addListener( 'OCA\Files::loadAdditionalScripts', function() { \OCP\Util::addScript('files_sharing', 'dist/additionalScripts'); + \OCP\Util::addStyle('files_sharing', 'icons'); } ); \OC::$server->getEventDispatcher()->addListener('\OCP\Collaboration\Resources::loadAdditionalScripts', function () { diff --git a/apps/files_sharing/css/icons.scss b/apps/files_sharing/css/icons.scss new file mode 100644 index 0000000000..002235b6e3 --- /dev/null +++ b/apps/files_sharing/css/icons.scss @@ -0,0 +1,32 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +// This is the icons used in the sharing ui (multiselect) +.icon-room { + @include icon-color('app', 'spreed', $color-black); +} +.icon-circle { + @include icon-color('circles', 'circles', $color-black, 3, false); +} +.icon-guests { + @include icon-color('app', 'guests', $color-black); +} \ No newline at end of file diff --git a/apps/files_sharing/js/dist/additionalScripts.js b/apps/files_sharing/js/dist/additionalScripts.js index b41afcf5a8..99584ec5d1 100644 --- a/apps/files_sharing/js/dist/additionalScripts.js +++ b/apps/files_sharing/js/dist/additionalScripts.js @@ -1,4 +1,4 @@ -!function(e){function t(t){for(var i,a,n=t[0],o=t[1],s=0,h=[];si.parts.length&&(r.parts.length=i.parts.length)}else{var o=[];for(a=0;a=0&&(t.shareOwner=i[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME],t.shareOwnerId=i[OC.Files.Client.PROPERTY_OWNER_ID]);var a=i[OC.Files.Client.PROPERTY_SHARE_TYPES];return a&&(t.shareTypes=_.chain(a).filter((function(e){return e.namespaceURI===OC.Files.Client.NS_OWNCLOUD&&"share-type"===e.nodeName.split(":")[1]})).map((function(e){return parseInt(e.textContent||e.text,10)})).value()),t})),e.$el.on("fileActionsReady",(function(e){var t=e.$files;_.each(t,(function(e){var t=$(e),i=t.attr("data-share-types")||"",r=t.attr("data-share-owner");if(i||r){var a=!1,n=!1;_.each(i.split(",")||[],(function(e){(e=parseInt(e,10))===OC.Share.SHARE_TYPE_LINK?a=!0:e===OC.Share.SHARE_TYPE_EMAIL?a=!0:e===OC.Share.SHARE_TYPE_USER?n=!0:e===OC.Share.SHARE_TYPE_GROUP?n=!0:e===OC.Share.SHARE_TYPE_REMOTE?n=!0:e===OC.Share.SHARE_TYPE_CIRCLE?n=!0:e===OC.Share.SHARE_TYPE_ROOM&&(n=!0)})),OCA.Sharing.Util._updateFileActionIcon(t,n,a)}}))})),e.$el.on("changeDirectory",(function(){OCA.Sharing.sharesLoaded=!1})),i.registerAction({name:"Share",displayName:function(e){if(e&&e.$file){var i=parseInt(e.$file.data("share-types"),10),r=e.$file.data("share-owner-id");if(i>=0||r)return t("core","Shared")}return t("core","Share")},altText:t("core","Share"),mime:"all",order:-150,permissions:OC.PERMISSION_ALL,iconClass:function(e,t){var i=parseInt(t.$file.data("share-types"),10);return i===OC.Share.SHARE_TYPE_EMAIL||i===OC.Share.SHARE_TYPE_LINK?"icon-public":"icon-shared"},icon:function(e,t){var i=t.$file.data("share-owner-id");if(i)return OC.generateUrl("/avatar/".concat(i,"/32"))},type:OCA.Files.FileActions.TYPE_INLINE,actionHandler:function(t,i){var r=parseInt(i.$file.data("share-permissions"),10);(isNaN(r)||r>0)&&e.showDetailsView(t,"shareTabView")},render:function(e,t,r){return 0!=(parseInt(r.$file.data("permissions"),10)&OC.PERMISSION_SHARE)||r.$file.attr("data-share-owner")?i._defaultRenderAction.call(i,e,t,r):null}});var o=new OCA.Sharing.ShareTabView("shareTabView",{order:-20});o.on("sharesChanged",(function(t){var i=t.fileInfoModel,r=e.findFileEl(i.get("name")),a=t.hasLinkShares();t.get("shares").forEach((function(e){e.share_type===OC.Share.SHARE_TYPE_EMAIL&&(a=!0)})),OCA.Sharing.Util._updateFileListDataAttributes(e,r,t),OCA.Sharing.Util._updateFileActionIcon(r,t.hasUserShares(),a)||OC.Share.markFileAsShared(r,!1,!1),i.set({shareTypes:t.getShareTypes(),icon:r.attr("data-icon")})})),e.registerTabView(o);var s=new OCA.Sharing.ShareBreadCrumbView({shareTab:o});e.registerBreadCrumbDetailView(s)}},_updateFileListDataAttributes:function(e,t,i){if("files"!==e.id)if(_.pluck(i.get("shares"),"share_with_displayname").length){var r=_.mapObject(i.get("shares"),(function(e){return{shareWith:e.share_with,shareWithDisplayName:e.share_with_displayname}}));t.attr("data-share-recipient-data",JSON.stringify(r))}else t.removeAttr("data-share-recipient-data")},_updateFileActionIcon:function(e,t,i){return!!(t||i||e.attr("data-share-recipient-data")||e.attr("data-share-owner"))&&(OC.Share.markFileAsShared(e,!0,i),!0)},getSharePermissions:function(e){return e.sharePermissions}},OC.Plugins.register("OCA.Files.FileList",OCA.Sharing.Util)},function(e,i,r){var a;a=OCA.Files.DetailTabView.extend({id:"shareTabView",className:"tab shareTabView",initialize:function(e,t){OCA.Files.DetailTabView.prototype.initialize.call(this,e,t),OC.Plugins.attach("OCA.Sharing.ShareTabView",this)},template:function(e){return'
        '},getLabel:function(){return t("files_sharing","Sharing")},getIcon:function(){return"icon-shared"},render:function(){var e=this,t=this;if(this._dialog&&(this._dialog.model.off(),this._dialog.remove(),this._dialog=null),this.model){this.$el.html(this.template()),_.isUndefined(this.model.get("sharePermissions"))&&this.model.set("sharePermissions",OCA.Sharing.Util.getSharePermissions(this.model.attributes));var i={itemType:this.model.isDirectory()?"folder":"file",itemSource:this.model.get("id"),possiblePermissions:this.model.get("sharePermissions")},a=new OC.Share.ShareConfigModel,n=new OC.Share.ShareItemModel(i,{configModel:a,fileInfoModel:this.model});this._dialog=new OC.Share.ShareDialogView({configModel:a,model:n}),this.$el.find(".dialogContainer").append(this._dialog.$el),this._dialog.render(),this._dialog.model.fetch(),this._dialog.model.on("change",(function(){t.trigger("sharesChanged",n)})),Promise.all([r.e(3),r.e(4)]).then(r.bind(null,14)).then((function(t){var i=new t.Vue({el:"#collaborationResources",render:function(e){return e(t.View)},data:{model:e.model.toJSON()}});e.model.on("change",(function(){i.data=e.model.toJSON()}))}))}else this.$el.empty();this.trigger("rendered")}}),OCA.Sharing.ShareTabView=a},function(e,t){ +!function(e){function t(t){for(var i,a,n=t[0],o=t[1],s=0,h=[];s=0&&(t.shareOwner=i[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME],t.shareOwnerId=i[OC.Files.Client.PROPERTY_OWNER_ID]);var a=i[OC.Files.Client.PROPERTY_SHARE_TYPES];return a&&(t.shareTypes=_.chain(a).filter((function(e){return e.namespaceURI===OC.Files.Client.NS_OWNCLOUD&&"share-type"===e.nodeName.split(":")[1]})).map((function(e){return parseInt(e.textContent||e.text,10)})).value()),t})),e.$el.on("fileActionsReady",(function(e){var t=e.$files;_.each(t,(function(e){var t=$(e),i=t.attr("data-share-types")||"",r=t.attr("data-share-owner");if(i||r){var a=!1,n=!1;_.each(i.split(",")||[],(function(e){(e=parseInt(e,10))===OC.Share.SHARE_TYPE_LINK?a=!0:e===OC.Share.SHARE_TYPE_EMAIL?a=!0:e===OC.Share.SHARE_TYPE_USER?n=!0:e===OC.Share.SHARE_TYPE_GROUP?n=!0:e===OC.Share.SHARE_TYPE_REMOTE?n=!0:e===OC.Share.SHARE_TYPE_CIRCLE?n=!0:e===OC.Share.SHARE_TYPE_ROOM&&(n=!0)})),OCA.Sharing.Util._updateFileActionIcon(t,n,a)}}))})),e.$el.on("changeDirectory",(function(){OCA.Sharing.sharesLoaded=!1})),i.registerAction({name:"Share",displayName:function(e){if(e&&e.$file){var i=parseInt(e.$file.data("share-types"),10),r=e.$file.data("share-owner-id");if(i>=0||r)return t("core","Shared")}return t("core","Share")},altText:t("core","Share"),mime:"all",order:-150,permissions:OC.PERMISSION_ALL,iconClass:function(e,t){var i=parseInt(t.$file.data("share-types"),10);return i===OC.Share.SHARE_TYPE_EMAIL||i===OC.Share.SHARE_TYPE_LINK?"icon-public":"icon-shared"},icon:function(e,t){var i=t.$file.data("share-owner-id");if(i)return OC.generateUrl("/avatar/".concat(i,"/32"))},type:OCA.Files.FileActions.TYPE_INLINE,actionHandler:function(t,i){var r=parseInt(i.$file.data("share-permissions"),10);(isNaN(r)||r>0)&&e.showDetailsView(t,"sharing")},render:function(e,t,r){return 0!=(parseInt(r.$file.data("permissions"),10)&OC.PERMISSION_SHARE)||r.$file.attr("data-share-owner")?i._defaultRenderAction.call(i,e,t,r):null}});var o=new OCA.Sharing.ShareTabView("sharing",{order:-20}),s=new OCA.Sharing.ShareBreadCrumbView({shareTab:o});e.registerBreadCrumbDetailView(s)}},_updateFileListDataAttributes:function(e,t,i){if("files"!==e.id)if(_.pluck(i.get("shares"),"share_with_displayname").length){var r=_.mapObject(i.get("shares"),(function(e){return{shareWith:e.share_with,shareWithDisplayName:e.share_with_displayname}}));t.attr("data-share-recipient-data",JSON.stringify(r))}else t.removeAttr("data-share-recipient-data")},_updateFileActionIcon:function(e,t,i){return!!(t||i||e.attr("data-share-recipient-data")||e.attr("data-share-owner"))&&(OC.Share.markFileAsShared(e,!0,i),!0)},getSharePermissions:function(e){return e.sharePermissions}},OC.Plugins.register("OCA.Files.FileList",OCA.Sharing.Util)},195:function(e,i,r){var a;a=OCA.Files.DetailTabView.extend({id:"shareTabView",className:"tab shareTabView",initialize:function(e,t){OCA.Files.DetailTabView.prototype.initialize.call(this,e,t),OC.Plugins.attach("OCA.Sharing.ShareTabView",this)},template:function(e){return'
        '},getLabel:function(){return t("files_sharing","Sharing")},getIcon:function(){return"icon-shared"},render:function(){var e=this,t=this;if(this._dialog&&(this._dialog.model.off(),this._dialog.remove(),this._dialog=null),this.model){this.$el.html(this.template()),_.isUndefined(this.model.get("sharePermissions"))&&this.model.set("sharePermissions",OCA.Sharing.Util.getSharePermissions(this.model.attributes));var i={itemType:this.model.isDirectory()?"folder":"file",itemSource:this.model.get("id"),possiblePermissions:this.model.get("sharePermissions")},a=new OC.Share.ShareConfigModel,n=new OC.Share.ShareItemModel(i,{configModel:a,fileInfoModel:this.model});this._dialog=new OC.Share.ShareDialogView({configModel:a,model:n}),this.$el.find(".dialogContainer").append(this._dialog.$el),this._dialog.render(),this._dialog.model.fetch(),this._dialog.model.on("change",(function(){t.trigger("sharesChanged",n)})),Promise.all([r.e(4),r.e(5)]).then(r.bind(null,348)).then((function(t){var i=new t.Vue({el:"#collaborationResources",render:function(e){return e(t.View)},data:{model:e.model.toJSON()}});e.model.on("change",(function(){i.data=e.model.toJSON()}))}))}else this.$el.empty();this.trigger("rendered")}}),OCA.Sharing.ShareTabView=a},196:function(e,t){ /** * @copyright 2016 Christoph Wurst * @@ -20,5 +20,5 @@ * along with this program. If not, see . * */ -!function(){"use strict";var e=OC.Backbone.View.extend({tagName:"span",events:{click:"_onClick"},_dirInfo:void 0,_shareTab:void 0,initialize:function(e){this._shareTab=e.shareTab},render:function(e){if(this._dirInfo=e.dirInfo||null,null===this._dirInfo||"/"===this._dirInfo.path&&""===this._dirInfo.name)this.$el.removeClass("shared icon-public icon-shared"),this.$el.hide();else{var t=e.dirInfo&&e.dirInfo.shareTypes&&e.dirInfo.shareTypes.length>0;this.$el.removeClass("shared icon-public icon-shared"),t?(this.$el.addClass("shared"),-1!==e.dirInfo.shareTypes.indexOf(OC.Share.SHARE_TYPE_LINK)?this.$el.addClass("icon-public"):this.$el.addClass("icon-shared")):this.$el.addClass("icon-shared"),this.$el.show(),this.delegateEvents()}return this},_onClick:function(e){e.preventDefault();var t=new OCA.Files.FileInfoModel(this._dirInfo),i=this;t.on("change",(function(){i.render({dirInfo:i._dirInfo})})),this._shareTab.on("sharesChanged",(function(e){for(var t=[],r=e.getSharesWithCurrentItem(),a=0;ali{height:44px;white-space:normal;display:inline-flex;align-items:center;position:relative}.shareWithList>li .avatar{width:32px;height:32px;background-color:var(--color-primary)}.shareWithList .unshare img{vertical-align:text-bottom}.shareWithList .sharingOptionsGroup{margin-left:auto;display:flex;align-items:center;white-space:nowrap}.shareWithList .sharingOptionsGroup>.icon:not(.hidden),.shareWithList .sharingOptionsGroup .share-menu>.icon:not(.hidden){padding:14px;height:44px;width:44px;opacity:.5;display:block;cursor:pointer}.shareWithList .sharingOptionsGroup>.icon:not(.hidden):hover,.shareWithList .sharingOptionsGroup>.icon:not(.hidden):focus,.shareWithList .sharingOptionsGroup>.icon:not(.hidden):active,.shareWithList .sharingOptionsGroup .share-menu>.icon:not(.hidden):hover,.shareWithList .sharingOptionsGroup .share-menu>.icon:not(.hidden):focus,.shareWithList .sharingOptionsGroup .share-menu>.icon:not(.hidden):active{opacity:.7}.shareWithList .sharingOptionsGroup>.share-menu{position:relative;display:block}.shareWithList .username{padding:0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-autocomplete{max-height:calc(36px * 6.5);overflow-y:auto;overflow-x:hidden;z-index:1550 !important}.notCreatable{padding-left:12px;padding-top:12px;color:var(--color-text-lighter)}.contactsmenu-popover{left:-6px;right:auto;padding:3px 6px;top:100%;margin-top:0}.contactsmenu-popover li.hidden{display:none !important}.contactsmenu-popover:after{left:8px;right:auto}.reshare,#link label,#expiration label{display:inline-flex;align-items:center}.reshare .avatar,#link label .avatar,#expiration label .avatar{margin-right:5px}.resharerInfoView.subView{position:relative}\n",""])},function(e,t,i){var r=i(10);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,i(2).default)("57e7eec1",r,!0,{})},function(e,t,i){(e.exports=i(1)(!1)).push([e.i,"div.crumb span.icon-shared,div.crumb span.icon-public{display:inline-block;cursor:pointer;opacity:0.2;margin-right:6px}div.crumb span.icon-shared.shared,div.crumb span.icon-public.shared{opacity:0.7}\n",""])}]); +!function(){"use strict";var e=OC.Backbone.View.extend({tagName:"span",events:{click:"_onClick"},_dirInfo:void 0,_shareTab:void 0,initialize:function(e){this._shareTab=e.shareTab},render:function(e){if(this._dirInfo=e.dirInfo||null,null===this._dirInfo||"/"===this._dirInfo.path&&""===this._dirInfo.name)this.$el.removeClass("shared icon-public icon-shared"),this.$el.hide();else{var t=e.dirInfo&&e.dirInfo.shareTypes&&e.dirInfo.shareTypes.length>0;this.$el.removeClass("shared icon-public icon-shared"),t?(this.$el.addClass("shared"),-1!==e.dirInfo.shareTypes.indexOf(OC.Share.SHARE_TYPE_LINK)?this.$el.addClass("icon-public"):this.$el.addClass("icon-shared")):this.$el.addClass("icon-shared"),this.$el.show(),this.delegateEvents()}return this},_onClick:function(e){e.preventDefault();var t=new OCA.Files.FileInfoModel(this._dirInfo),i=this;t.on("change",(function(){i.render({dirInfo:i._dirInfo})})),this._shareTab.on("sharesChanged",(function(e){for(var t=[],r=e.getSharesWithCurrentItem(),a=0;ali{height:44px;white-space:normal;display:inline-flex;align-items:center;position:relative}.shareWithList>li .avatar{width:32px;height:32px;background-color:var(--color-primary)}.shareWithList .unshare img{vertical-align:text-bottom}.shareWithList .sharingOptionsGroup{margin-left:auto;display:flex;align-items:center;white-space:nowrap}.shareWithList .sharingOptionsGroup>.icon:not(.hidden),.shareWithList .sharingOptionsGroup .share-menu>.icon:not(.hidden){padding:14px;height:44px;width:44px;opacity:.5;display:block;cursor:pointer}.shareWithList .sharingOptionsGroup>.icon:not(.hidden):hover,.shareWithList .sharingOptionsGroup>.icon:not(.hidden):focus,.shareWithList .sharingOptionsGroup>.icon:not(.hidden):active,.shareWithList .sharingOptionsGroup .share-menu>.icon:not(.hidden):hover,.shareWithList .sharingOptionsGroup .share-menu>.icon:not(.hidden):focus,.shareWithList .sharingOptionsGroup .share-menu>.icon:not(.hidden):active{opacity:.7}.shareWithList .sharingOptionsGroup>.share-menu{position:relative;display:block}.shareWithList .username{padding:0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-autocomplete{max-height:calc(36px * 6.5);overflow-y:auto;overflow-x:hidden;z-index:1550 !important}.notCreatable{padding-left:12px;padding-top:12px;color:var(--color-text-lighter)}.contactsmenu-popover{left:-6px;right:auto;padding:3px 6px;top:100%;margin-top:0}.contactsmenu-popover li.hidden{display:none !important}.contactsmenu-popover:after{left:8px;right:auto}.reshare,#link label,#expiration label{display:inline-flex;align-items:center}.reshare .avatar,#link label .avatar,#expiration label .avatar{margin-right:5px}.resharerInfoView.subView{position:relative}\n",""])},199:function(e,t,i){var r=i(200);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,i(20).default)("57e7eec1",r,!0,{})},20:function(e,t,i){"use strict";function r(e,t){for(var i=[],r={},a=0;ai.parts.length&&(r.parts.length=i.parts.length)}else{var o=[];for(a=0;a {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tOC.dialogs.filepicker(t('files_sharing', 'Link to a file'), function(f) {\n\t\t\t\tconst client = OC.Files.getClient()\n\t\t\t\tclient.getFileInfo(f).then((status, fileInfo) => {\n\t\t\t\t\tresolve(fileInfo.id)\n\t\t\t\t}).fail(() => {\n\t\t\t\t\treject(new Error('Cannot get fileinfo'))\n\t\t\t\t})\n\t\t\t}, false, null, false, OC.dialogs.FILEPICKER_TYPE_CHOOSE, '', { allowDirectoryChooser: true })\n\t\t})\n\t},\n\ttypeString: t('files_sharing', 'Link to a file'),\n\ttypeIconClass: 'icon-files-dark'\n})\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=0bc741d1&scoped=true&\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=0bc741d1&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0bc741d1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],staticClass:\"sharing-entry__desc\"},[_c('h5',[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\"}},[_vm._t(\"default\")],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=784a12ea&scoped=true&\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=784a12ea&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"784a12ea\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharingEntrySimple',{staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('ActionLink',{ref:\"copyButton\",attrs:{\"href\":_vm.internalLink,\"target\":\"_blank\",\"icon\":_vm.copied && _vm.copySuccess ? 'icon-checkmark-color' : 'icon-clippy'},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink($event)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.clipboardTooltip)+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Config {\n\n\t/**\n\t * Is public upload allowed on link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPublicUploadEnabled() {\n\t\treturn document.getElementById('filestable')\n\t\t\t&& document.getElementById('filestable').dataset.allowPublicUpload === 'yes'\n\t}\n\n\t/**\n\t * Are link share allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isShareWithLinkAllowed() {\n\t\treturn document.getElementById('allowShareWithLink')\n\t\t\t&& document.getElementById('allowShareWithLink').value === 'yes'\n\t}\n\n\t/**\n\t * Get the federated sharing documentation link\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget federatedShareDocLink() {\n\t\treturn OC.appConfig.core.federatedCloudShareDoc\n\t}\n\n\t/**\n\t * Get the default expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Are link shares password-enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enforcePasswordForPublicLink() {\n\t\treturn OC.appConfig.core.enforcePasswordForPublicLink === true\n\t}\n\n\t/**\n\t * Is password asked by default on link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enableLinkPasswordByDefault() {\n\t\treturn OC.appConfig.core.enableLinkPasswordByDefault === true\n\t}\n\n\t/**\n\t * Is link shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Are users on this server allowed to send shares to other servers ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isRemoteShareAllowed() {\n\t\treturn OC.appConfig.core.remoteShareAllowed === true\n\t}\n\n\t/**\n\t * Is sharing my mail (link share) enabled ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isMailShareAllowed() {\n\t\treturn OC.appConfig.shareByMailEnabled !== undefined\n\t}\n\n\t/**\n\t * Get the default days to expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpireDate() {\n\t\treturn OC.appConfig.core.defaultExpireDate\n\t}\n\n\t/**\n\t * Is resharing allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isResharingAllowed() {\n\t\treturn OC.appConfig.core.resharingAllowed === true\n\t}\n\n\t/**\n\t * Is password enforced for mail shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPasswordForMailSharesRequired() {\n\t\treturn (OC.appConfig.shareByMail === undefined) ? false : OC.appConfig.shareByMail.enforcePasswordProtection === true\n\t}\n\n\t/**\n\t * Is sharing with groups allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget allowGroupSharing() {\n\t\treturn OC.appConfig.core.allowGroupSharing === true\n\t}\n\n\t/**\n\t * Get the maximum results of a share search\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget maxAutocompleteResults() {\n\t\treturn parseInt(OC.config['sharing.maxAutocompleteResults'], 10) || 200\n\t}\n\n\t/**\n\t * Get the minimal string length\n\t * to initiate a share search\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget minSearchStringLength() {\n\t\treturn parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0\n\t}\n\n\t/**\n\t * Get the password policy config\n\t *\n\t * @returns {Object}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget passwordPolicy() {\n\t\tconst capabilities = OC.getCapabilities()\n\t\treturn capabilities.password_policy ? capabilities.password_policy : {}\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport Share from '../models/Share'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1', 2) + 'shares'\nconst headers = {\n\t'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'\n}\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {Object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload=false] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions=31] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk=false] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate=''] expire the shareautomatically after\n\t\t * @param {string} [data.label=''] custom label\n\t\t * @returns {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label })\n\t\t\t\tif (!('ocs' in request.data)) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn new Share(request.data.ocs.data)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while creating share', error)\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Error creating the share'), { type: 'error' })\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!('ocs' in request.data)) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while deleting share', error)\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Error deleting the share'), { type: 'error' })\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {Object} data destructuring object\n\t\t * @param {string} data.property property to update\n\t\t * @param {any} data.value value to set\n\t\t */\n\t\tasync updateShare(id, { property, value }) {\n\t\t\ttry {\n\t\t\t\t// ocs api requires x-www-form-urlencoded\n\t\t\t\tconst data = new URLSearchParams()\n\t\t\t\tdata.append(property, value)\n\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, { [property]: value }, headers)\n\t\t\t\tif (!('ocs' in request.data)) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while updating share', error)\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Error updating the share'), { type: 'error' })\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(`${property}, ${message}`)\n\t\t\t}\n\t\t}\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=15a67613&\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Multiselect',{ref:\"multiselect\",staticClass:\"sharing-input\",attrs:{\"disabled\":!_vm.canReshare,\"hide-selected\":true,\"internal-search\":false,\"loading\":_vm.loading,\"options\":_vm.options,\"placeholder\":_vm.inputPlaceholder,\"preselect-first\":true,\"preserve-search\":true,\"searchable\":true,\"user-select\":true},on:{\"search-change\":_vm.asyncFind,\"select\":_vm.addShare},scopedSlots:_vm._u([{key:\"noOptions\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'No recommendations. Start typing.'))+\"\\n\\t\")]},proxy:true},{key:\"noResult\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.noResultText)+\"\\n\\t\")]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport PQueue from 'p-queue'\nimport debounce from 'debounce'\n\nimport Share from '../models/Share'\nimport SharesRequests from './ShareRequests'\nimport ShareTypes from './ShareTypes'\nimport Config from '../services/ConfigService'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tmixins: [SharesRequests, ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share && this.share.state,\n\n\t\t\tSHARE_TYPES: {\n\t\t\t\tSHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER,\n\t\t\t\tSHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP,\n\t\t\t\tSHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\tSHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL,\n\t\t\t\tSHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE,\n\t\t\t\tSHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE,\n\t\t\t\tSHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST,\n\t\t\t\tSHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tSHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM\n\t\t\t}\n\t\t}\n\t},\n\n\tcomputed: {\n\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t * @returns {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget: function() {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced || !!this.share.expireDate\n\t\t\t},\n\t\t\tset: function(enabled) {\n\t\t\t\tthis.share.expireDate = enabled\n\t\t\t\t\t? this.config.defaultExpirationDateString !== ''\n\t\t\t\t\t\t? this.config.defaultExpirationDateString\n\t\t\t\t\t\t: moment().format('YYYY-MM-DD')\n\t\t\t\t\t: ''\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Does the current share have a note\n\t\t * @returns {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget: function() {\n\t\t\t\treturn !!this.share.note\n\t\t\t},\n\t\t\tset: function(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? t('files_sharing', 'Enter a note for the share recipient')\n\t\t\t\t\t: ''\n\t\t\t}\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn moment().add(1, 'days')\n\t\t},\n\n\t\tdateMaxEnforced() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t\t&& moment().add(1 + this.config.defaultExpireDate, 'days')\n\t\t},\n\n\t\t/**\n\t\t * Datepicker lang values\n\t\t * https://github.com/nextcloud/nextcloud-vue/pull/146\n\t\t * TODO: have this in vue-components\n\t\t *\n\t\t * @returns {int}\n\t\t */\n\t\tfirstDay() {\n\t\t\treturn window.firstDay\n\t\t\t\t? window.firstDay\n\t\t\t\t: 0 // sunday as default\n\t\t},\n\t\tlang() {\n\t\t\t// fallback to default in case of unavailable data\n\t\t\treturn {\n\t\t\t\tdays: window.dayNamesShort\n\t\t\t\t\t? window.dayNamesShort\t\t\t// provided by nextcloud\n\t\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'],\n\t\t\t\tmonths: window.monthNamesShort\n\t\t\t\t\t? window.monthNamesShort\t\t// provided by nextcloud\n\t\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'],\n\t\t\t\tplaceholder: {\n\t\t\t\t\tdate: 'Select Date' // TODO: Translate\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t}\n\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @returns {Boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = moment(share.expirationDate)\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * ActionInput can be a little tricky to work with.\n\t\t * Since we expect a string and not a Date,\n\t\t * we need to process the value here\n\t\t *\n\t\t * @param {Date} date js date to be parsed by moment.js\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\t// format to YYYY-MM-DD\n\t\t\tconst value = moment(date).format('YYYY-MM-DD')\n\t\t\tthis.share.expireDate = value\n\t\t\tthis.queueUpdate('expireDate')\n\t\t},\n\n\t\t/**\n\t\t * Uncheck expire date\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonExpirationDisable() {\n\t\t\tthis.share.expireDate = ''\n\t\t\tthis.queueUpdate('expireDate')\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tconsole.debug('Share deleted', this.share.id)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t} catch (error) {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tqueueUpdate(property) {\n\t\t\tif (this.share.id) {\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tconst value = this.share[property].toString()\n\n\t\t\t\tthis.updateQueue.add(async() => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.updateShare(this.share.id, {\n\t\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tthis.$delete(this.errors, property)\n\n\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t\t} catch ({ property, message }) {\n\t\t\t\t\t\tthis.onSyncError(property, message)\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tconsole.error('Cannot update share.', this.share, 'No valid id')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\tcase 'password':\n\t\t\tcase 'pending':\n\t\t\tcase 'expireDate':\n\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\tif (propertyEl) {\n\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t}\n\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500)\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=5bbd1939&scoped=true&\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=5bbd1939&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5bbd1939\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{'sharing-entry--share': _vm.share}},[_c('Avatar',{staticClass:\"sharing-entry__avatar\",class:_vm.isEmailShareType ? 'icon-mail-white' : 'icon-public-white',attrs:{\"is-no-user\":true}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('h5',[_vm._v(_vm._s(_vm.title))])]),_vm._v(\" \"),(_vm.share && !_vm.isEmailShareType && _vm.share.token)?_c('Actions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('ActionLink',{attrs:{\"href\":_vm.shareLink,\"target\":\"_blank\",\"icon\":_vm.copied && _vm.copySuccess ? 'icon-checkmark-color' : 'icon-clippy'},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.copyLink($event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.clipboardTooltip)+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),(!_vm.loading && (_vm.pendingPassword || _vm.pendingExpirationDate))?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onNewLinkShare}},[(_vm.errors.pending)?_c('ActionText',{class:{ error: _vm.errors.pending},attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('ActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('ActionText',{attrs:{\"icon\":\"icon-password\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection (enforced)'))+\"\\n\\t\\t\")]):(_vm.config.enableLinkPasswordByDefault)?_c('ActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingPassword || _vm.share.password)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\tcontent: _vm.errors.password,\n\t\t\t\tshow: _vm.errors.password,\n\t\t\t\ttrigger: 'manual',\n\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t}),expression:\"{\\n\\t\\t\\t\\tcontent: errors.password,\\n\\t\\t\\t\\tshow: errors.password,\\n\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t}\",modifiers:{\"auto\":true}}],staticClass:\"share-link-password\",attrs:{\"value\":_vm.share.password,\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"icon\":\"\",\"autocomplete\":\"new-password\"},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"password\", $event)},\"submit\":_vm.onNewLinkShare}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('ActionText',{attrs:{\"icon\":\"icon-calendar-dark\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Expiration date (enforced)'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\ttrigger: 'manual',\n\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t}),expression:\"{\\n\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t}\",modifiers:{\"auto\":true}}],staticClass:\"share-link-expire-date\",attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"icon\":\"\",\"type\":\"date\",\"not-before\":_vm.dateTomorrow,\"not-after\":_vm.dateMaxEnforced},model:{value:(_vm.share.expireDate),callback:function ($$v) {_vm.$set(_vm.share, \"expireDate\", $$v)},expression:\"share.expireDate\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel($event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onPasswordSubmit}},[(_vm.share)?[(_vm.share.canEdit)?[(_vm.isFolder && _vm.fileHasCreatePermission && _vm.config.isPublicUploadEnabled)?[_c('ActionRadio',{attrs:{\"checked\":_vm.share.permissions === _vm.publicUploadRValue,\"value\":_vm.publicUploadRValue,\"name\":_vm.randomId,\"disabled\":_vm.saving},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionRadio',{attrs:{\"checked\":_vm.share.permissions === _vm.publicUploadRWValue,\"value\":_vm.publicUploadRWValue,\"disabled\":_vm.saving,\"name\":_vm.randomId},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionRadio',{staticClass:\"sharing-entry__action--public-upload\",attrs:{\"checked\":_vm.share.permissions === _vm.publicUploadWValue,\"value\":_vm.publicUploadWValue,\"disabled\":_vm.saving,\"name\":_vm.randomId},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File drop (upload only)'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('ActionCheckbox',{attrs:{\"checked\":_vm.canUpdate,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.canUpdate=$event},\"change\":function($event){return _vm.queueUpdate('permissions')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.share.hideDownload,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){return _vm.$set(_vm.share, \"hideDownload\", $event)},\"change\":function($event){return _vm.queueUpdate('hideDownload')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Password protection (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Password protect'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.password,\n\t\t\t\t\t\tshow: _vm.errors.password,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.password,\\n\\t\\t\\t\\t\\t\\tshow: errors.password,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"password\",staticClass:\"share-link-password\",class:{ error: _vm.errors.password},attrs:{\"disabled\":_vm.saving,\"required\":_vm.config.enforcePasswordForPublicLink,\"value\":_vm.hasUnsavedPassword ? _vm.share.newPassword : '***************',\"icon\":\"icon-password\",\"autocomplete\":\"new-password\",\"type\":_vm.hasUnsavedPassword ? 'text': 'password'},on:{\"update:value\":_vm.onPasswordChange,\"submit\":_vm.onPasswordSubmit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{staticClass:\"share-link-expire-date-checkbox\",attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.config.isDefaultExpireDateEnforced || _vm.saving},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event},\"uncheck\":_vm.onExpirationDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"expireDate\",staticClass:\"share-link-expire-date\",class:{ error: _vm.errors.expireDate},attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"value\":_vm.share.expireDate,\"icon\":\"icon-calendar-dark\",\"type\":\"date\",\"not-before\":_vm.dateTomorrow,\"not-after\":_vm.dateMaxEnforced},on:{\"update:value\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasNote,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.hasNote=$event},\"uncheck\":function($event){return _vm.queueUpdate('note')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasNote)?_c('ActionTextEditable',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.note,\n\t\t\t\t\t\tshow: _vm.errors.note,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.note,\\n\\t\\t\\t\\t\\t\\tshow: errors.note,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"note\",class:{ error: _vm.errors.note},attrs:{\"disabled\":_vm.saving,\"value\":_vm.share.note,\"icon\":\"icon-edit\"},on:{\"update:value\":[function($event){return _vm.$set(_vm.share, \"note\", $event)},function($event){return _vm.debounceQueueUpdate('note')}]}}):_vm._e()]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.externalActions),function(ref,index){\n\t\t\t\t\tvar icon = ref.icon;\n\t\t\t\t\tvar url = ref.url;\n\t\t\t\t\tvar name = ref.name;\nreturn _c('ActionLink',{key:index,attrs:{\"href\":url(_vm.shareLink),\"icon\":icon,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(name)+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-delete\",\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('ActionButton',{staticClass:\"new-share-link\",attrs:{\"icon\":\"icon-add\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('ActionButton',{staticClass:\"new-share-link\",attrs:{\"icon\":\"icon-add\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare($event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create a new share link'))+\"\\n\\t\\t\")]):_vm._e()],2):_c('div',{staticClass:\"icon-loading-small sharing-entry__loading\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=1da922ae&\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sharing-link-list\"},[(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare.apply(void 0, arguments)}],\"add:share\":function($event){return _vm.addShare.apply(void 0, arguments)},\"remove:share\":_vm.removeShare}})}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=5949bd28&scoped=true&\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=5949bd28&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5949bd28\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry\"},[_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.tooltip),expression:\"tooltip\",modifiers:{\"auto\":true}}],staticClass:\"sharing-entry__desc\"},[_c('h5',[_vm._v(_vm._s(_vm.title))])]),_vm._v(\" \"),_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\"}},[(_vm.share.canEdit)?[_c('ActionCheckbox',{ref:\"canEdit\",attrs:{\"checked\":_vm.canEdit,\"value\":_vm.permissionsEdit,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.canEdit=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{ref:\"canReshare\",attrs:{\"checked\":_vm.canReshare,\"value\":_vm.permissionsShare,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.canReshare=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Can reshare'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.config.isDefaultExpireDateEnforced || _vm.saving},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event},\"uncheck\":_vm.onExpirationDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced\n\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date enforced')\n\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\t\\ttrigger: 'manual'\\n\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"expireDate\",class:{ error: _vm.errors.expireDate},attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"value\":_vm.share.expireDate,\"icon\":\"icon-calendar-dark\",\"type\":\"date\",\"not-before\":_vm.dateTomorrow,\"not-after\":_vm.dateMaxEnforced},on:{\"update:value\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.canHaveNote)?[_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasNote,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.hasNote=$event},\"uncheck\":function($event){return _vm.queueUpdate('note')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasNote)?_c('ActionTextEditable',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.note,\n\t\t\t\t\t\tshow: _vm.errors.note,\n\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.note,\\n\\t\\t\\t\\t\\t\\tshow: errors.note,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"note\",class:{ error: _vm.errors.note},attrs:{\"disabled\":_vm.saving,\"value\":_vm.share.note,\"icon\":\"icon-edit\"},on:{\"update:value\":[function($event){return _vm.$set(_vm.share, \"note\", $event)},function($event){return _vm.debounceQueueUpdate('note')}]}}):_vm._e()]:_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-delete\",\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete($event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\")]):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=57b9f3e4&\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sharing-sharee-list\"},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js&\"","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Get the shared with me title\n *\n * @param {Share} share current share\n * @returns {string} the title\n */\nconst shareWithTitle = function(share) {\n\tif (share.type === OC.Share.type_GROUP) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t} else if (share.type === OC.Share.type_CIRCLE) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t} else if (share.type === OC.Share.type_ROOM) {\n\t\tif (this.model.get('reshare').share_with_displayname) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false }\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false }\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=b8106f56&scoped=true&\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b8106f56\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class ShareSearch {\n\n\t#state;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis.#state = {}\n\n\t\t// init default values\n\t\tthis.#state.results = []\n\t\tconsole.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this.#state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {Object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {function} result.handler function to run on entry selection\n\t * @param {function} [result.condition] condition to add entry or not\n\t * @returns {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis.#state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`Invalid search result provided`, result)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class ExternalLinkActions {\n\n\t#state;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis.#state = {}\n\n\t\t// init default values\n\t\tthis.#state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalLinkActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this.#state\n\t}\n\n\t/**\n\t * Register a new action for the link share\n\t * Mostly used by the social sharing app.\n\t *\n\t * @param {Object} action new action component to register\n\t * @returns {boolean}\n\t */\n\tregisterAction(action) {\n\t\tif (typeof action === 'object' && action.icon && action.name && action.url) {\n\t\t\tthis.#state.actions.push(action)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`Invalid action provided`, action)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Callback for adding two numbers.\n *\n * @callback registerSectionCallback\n * @param {Element} el The DOM element where the section is rendered\n * @param {FileInfo} fileInfo current file FileInfo\n */\nexport default class TabSections {\n\n\t#sections;\n\n\tconstructor() {\n\t\tthis.#sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis.#sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this.#sections\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport SharingTab from './views/SharingTab'\nimport ShareSearch from './services/ShareSearch'\nimport ExternalLinkActions from './services/ExternalLinkActions'\n\nimport TabSections from './services/TabSections'\n\nif (window.OCA && window.OCA.Sharing) {\n\tObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() })\n}\n\nif (window.OCA && window.OCA.Sharing) {\n\tObject.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() })\n}\n\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() })\n\nwindow.addEventListener('DOMContentLoaded', () => {\n\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab('sharing', SharingTab))\n\t}\n})\n"],"sourceRoot":""} \ No newline at end of file diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php index e44ca84a09..66b2383ea7 100644 --- a/apps/files_sharing/lib/Controller/ShareAPIController.php +++ b/apps/files_sharing/lib/Controller/ShareAPIController.php @@ -154,7 +154,11 @@ class ShareAPIController extends OCSController { 'share_type' => $share->getShareType(), 'uid_owner' => $share->getSharedBy(), 'displayname_owner' => $sharedBy !== null ? $sharedBy->getDisplayName() : $share->getSharedBy(), + // recipient permissions 'permissions' => $share->getPermissions(), + // current user permissions on this share + 'can_edit' => $this->canEditShare($share), + 'can_delete' => $this->canDeleteShare($share), 'stime' => $share->getShareTime()->getTimestamp(), 'parent' => null, 'expiration' => null, diff --git a/apps/files_sharing/list.php b/apps/files_sharing/list.php index 219fe2863e..5517c39971 100644 --- a/apps/files_sharing/list.php +++ b/apps/files_sharing/list.php @@ -33,6 +33,7 @@ $tmpl = new OCP\Template('files_sharing', 'list', ''); $tmpl->assign('showgridview', $showgridview && !$isIE); OCP\Util::addScript('files_sharing', 'dist/files_sharing'); +OCP\Util::addScript('files_sharing', 'dist/files_sharing_tab'); \OC::$server->getEventDispatcher()->dispatch('\OCP\Collaboration\Resources::loadAdditionalScripts'); $tmpl->printPage(); diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue new file mode 100644 index 0000000000..09d09d607f --- /dev/null +++ b/apps/files_sharing/src/components/SharingEntry.vue @@ -0,0 +1,254 @@ + + + + + + + diff --git a/apps/files_sharing/src/components/SharingEntryInternal.vue b/apps/files_sharing/src/components/SharingEntryInternal.vue new file mode 100644 index 0000000000..720c016b82 --- /dev/null +++ b/apps/files_sharing/src/components/SharingEntryInternal.vue @@ -0,0 +1,117 @@ + + + + + + diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue new file mode 100644 index 0000000000..6e333be249 --- /dev/null +++ b/apps/files_sharing/src/components/SharingEntryLink.vue @@ -0,0 +1,779 @@ + + + + + + + diff --git a/apps/files_sharing/src/components/SharingEntrySimple.vue b/apps/files_sharing/src/components/SharingEntrySimple.vue new file mode 100644 index 0000000000..4538950a83 --- /dev/null +++ b/apps/files_sharing/src/components/SharingEntrySimple.vue @@ -0,0 +1,97 @@ + + + + + + + diff --git a/apps/files_sharing/src/components/SharingInput.vue b/apps/files_sharing/src/components/SharingInput.vue new file mode 100644 index 0000000000..df222eafe0 --- /dev/null +++ b/apps/files_sharing/src/components/SharingInput.vue @@ -0,0 +1,444 @@ + + + + + + + diff --git a/apps/files_sharing/src/files_sharing_tab.js b/apps/files_sharing/src/files_sharing_tab.js new file mode 100644 index 0000000000..076e4c8f3f --- /dev/null +++ b/apps/files_sharing/src/files_sharing_tab.js @@ -0,0 +1,43 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +import SharingTab from './views/SharingTab' +import ShareSearch from './services/ShareSearch' +import ExternalLinkActions from './services/ExternalLinkActions' + +import TabSections from './services/TabSections' + +if (window.OCA && window.OCA.Sharing) { + Object.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() }) +} + +if (window.OCA && window.OCA.Sharing) { + Object.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() }) +} + +Object.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() }) + +window.addEventListener('DOMContentLoaded', () => { + if (OCA.Files && OCA.Files.Sidebar) { + OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab('sharing', SharingTab)) + } +}) diff --git a/apps/files_sharing/src/mixins/ShareRequests.js b/apps/files_sharing/src/mixins/ShareRequests.js new file mode 100644 index 0000000000..c534e86070 --- /dev/null +++ b/apps/files_sharing/src/mixins/ShareRequests.js @@ -0,0 +1,114 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +// TODO: remove when ie not supported +import 'url-search-params-polyfill' + +import { generateOcsUrl } from '@nextcloud/router' +import axios from '@nextcloud/axios' +import Share from '../models/Share' + +const shareUrl = generateOcsUrl('apps/files_sharing/api/v1', 2) + 'shares' +const headers = { + 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' +} + +export default { + methods: { + /** + * Create a new share + * + * @param {Object} data destructuring object + * @param {string} data.path path to the file/folder which should be shared + * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share + * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1) + * @param {boolean} [data.publicUpload=false] allow public upload to a public shared folder + * @param {string} [data.password] password to protect public link Share with + * @param {number} [data.permissions=31] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1) + * @param {boolean} [data.sendPasswordByTalk=false] send the password via a talk conversation + * @param {string} [data.expireDate=''] expire the shareautomatically after + * @param {string} [data.label=''] custom label + * @returns {Share} the new share + * @throws {Error} + */ + async createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label }) { + try { + const request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label }) + if (!('ocs' in request.data)) { + throw request + } + return new Share(request.data.ocs.data) + } catch (error) { + console.error('Error while creating share', error) + OC.Notification.showTemporary(t('files_sharing', 'Error creating the share'), { type: 'error' }) + throw error + } + }, + + /** + * Delete a share + * + * @param {number} id share id + * @throws {Error} + */ + async deleteShare(id) { + try { + const request = await axios.delete(shareUrl + `/${id}`) + if (!('ocs' in request.data)) { + throw request + } + return true + } catch (error) { + console.error('Error while deleting share', error) + OC.Notification.showTemporary(t('files_sharing', 'Error deleting the share'), { type: 'error' }) + throw error + } + }, + + /** + * Update a share + * + * @param {number} id share id + * @param {Object} data destructuring object + * @param {string} data.property property to update + * @param {any} data.value value to set + */ + async updateShare(id, { property, value }) { + try { + // ocs api requires x-www-form-urlencoded + const data = new URLSearchParams() + data.append(property, value) + + const request = await axios.put(shareUrl + `/${id}`, { [property]: value }, headers) + if (!('ocs' in request.data)) { + throw request + } + return true + } catch (error) { + console.error('Error while updating share', error) + OC.Notification.showTemporary(t('files_sharing', 'Error updating the share'), { type: 'error' }) + const message = error.response.data.ocs.meta.message + throw new Error(`${property}, ${message}`) + } + } + } +} diff --git a/apps/files_sharing/src/mixins/ShareTypes.js b/apps/files_sharing/src/mixins/ShareTypes.js new file mode 100644 index 0000000000..81e6af7d97 --- /dev/null +++ b/apps/files_sharing/src/mixins/ShareTypes.js @@ -0,0 +1,39 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +export default { + data() { + return { + SHARE_TYPES: { + SHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER, + SHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP, + SHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK, + SHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL, + SHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE, + SHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE, + SHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST, + SHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP, + SHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM + } + } + } +} diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js new file mode 100644 index 0000000000..d012f35591 --- /dev/null +++ b/apps/files_sharing/src/mixins/SharesMixin.js @@ -0,0 +1,303 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +import PQueue from 'p-queue' +import debounce from 'debounce' + +import Share from '../models/Share' +import SharesRequests from './ShareRequests' +import ShareTypes from './ShareTypes' +import Config from '../services/ConfigService' +import { getCurrentUser } from '@nextcloud/auth' + +export default { + mixins: [SharesRequests, ShareTypes], + + props: { + fileInfo: { + type: Object, + default: () => {}, + required: true + }, + share: { + type: Share, + default: null + } + }, + + data() { + return { + config: new Config(), + + // errors helpers + errors: {}, + + // component status toggles + loading: false, + saving: false, + open: false, + + // concurrency management queue + // we want one queue per share + updateQueue: new PQueue({ concurrency: 1 }), + + /** + * ! This allow vue to make the Share class state reactive + * ! do not remove it ot you'll lose all reactivity here + */ + reactiveState: this.share && this.share.state, + + SHARE_TYPES: { + SHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER, + SHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP, + SHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK, + SHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL, + SHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE, + SHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE, + SHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST, + SHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP, + SHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM + } + } + }, + + computed: { + + /** + * Does the current share have an expiration date + * @returns {boolean} + */ + hasExpirationDate: { + get: function() { + return this.config.isDefaultExpireDateEnforced || !!this.share.expireDate + }, + set: function(enabled) { + this.share.expireDate = enabled + ? this.config.defaultExpirationDateString !== '' + ? this.config.defaultExpirationDateString + : moment().format('YYYY-MM-DD') + : '' + } + }, + + /** + * Does the current share have a note + * @returns {boolean} + */ + hasNote: { + get: function() { + return !!this.share.note + }, + set: function(enabled) { + this.share.note = enabled + ? t('files_sharing', 'Enter a note for the share recipient') + : '' + } + }, + + dateTomorrow() { + return moment().add(1, 'days') + }, + + dateMaxEnforced() { + return this.config.isDefaultExpireDateEnforced + && moment().add(1 + this.config.defaultExpireDate, 'days') + }, + + /** + * Datepicker lang values + * https://github.com/nextcloud/nextcloud-vue/pull/146 + * TODO: have this in vue-components + * + * @returns {int} + */ + firstDay() { + return window.firstDay + ? window.firstDay + : 0 // sunday as default + }, + lang() { + // fallback to default in case of unavailable data + return { + days: window.dayNamesShort + ? window.dayNamesShort // provided by nextcloud + : ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'], + months: window.monthNamesShort + ? window.monthNamesShort // provided by nextcloud + : ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'], + placeholder: { + date: 'Select Date' // TODO: Translate + } + } + }, + + isShareOwner() { + return this.share && this.share.owner === getCurrentUser().uid + } + + }, + + methods: { + /** + * Check if a share is valid before + * firing the request + * + * @param {Share} share the share to check + * @returns {Boolean} + */ + checkShare(share) { + if (share.password) { + if (typeof share.password !== 'string' || share.password.trim() === '') { + return false + } + } + if (share.expirationDate) { + const date = moment(share.expirationDate) + if (!date.isValid()) { + return false + } + } + return true + }, + + /** + * ActionInput can be a little tricky to work with. + * Since we expect a string and not a Date, + * we need to process the value here + * + * @param {Date} date js date to be parsed by moment.js + */ + onExpirationChange(date) { + // format to YYYY-MM-DD + const value = moment(date).format('YYYY-MM-DD') + this.share.expireDate = value + this.queueUpdate('expireDate') + }, + + /** + * Uncheck expire date + * We need this method because @update:checked + * is ran simultaneously as @uncheck, so + * so we cannot ensure data is up-to-date + */ + onExpirationDisable() { + this.share.expireDate = '' + this.queueUpdate('expireDate') + }, + + /** + * Delete share button handler + */ + async onDelete() { + try { + this.loading = true + this.open = false + await this.deleteShare(this.share.id) + console.debug('Share deleted', this.share.id) + this.$emit('remove:share', this.share) + } catch (error) { + // re-open menu if error + this.open = true + } finally { + this.loading = false + } + }, + + /** + * Send an update of the share to the queue + * + * @param {string} property the property to sync + */ + queueUpdate(property) { + if (this.share.id) { + // force value to string because that is what our + // share api controller accepts + const value = this.share[property].toString() + + this.updateQueue.add(async() => { + this.saving = true + this.errors = {} + try { + await this.updateShare(this.share.id, { + property, + value + }) + + // clear any previous errors + this.$delete(this.errors, property) + + // reset password state after sync + this.$delete(this.share, 'newPassword') + } catch ({ property, message }) { + this.onSyncError(property, message) + } finally { + this.saving = false + } + }) + } else { + console.error('Cannot update share.', this.share, 'No valid id') + } + }, + + /** + * Manage sync errors + * @param {string} property the errored property, e.g. 'password' + * @param {string} message the error message + */ + onSyncError(property, message) { + // re-open menu if closed + this.open = true + switch (property) { + case 'password': + case 'pending': + case 'expireDate': + case 'note': { + // show error + this.$set(this.errors, property, message) + + let propertyEl = this.$refs[property] + if (propertyEl) { + if (propertyEl.$el) { + propertyEl = propertyEl.$el + } + // focus if there is a focusable action element + const focusable = propertyEl.querySelector('.focusable') + if (focusable) { + focusable.focus() + } + } + break + } + } + }, + + /** + * Debounce queueUpdate to avoid requests spamming + * more importantly for text data + * + * @param {string} property the property to sync + */ + debounceQueueUpdate: debounce(function(property) { + this.queueUpdate(property) + }, 500) + } +} diff --git a/apps/files_sharing/src/models/Share.js b/apps/files_sharing/src/models/Share.js new file mode 100644 index 0000000000..13b68ad68b --- /dev/null +++ b/apps/files_sharing/src/models/Share.js @@ -0,0 +1,469 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +export default class Share { + + #share; + + /** + * Create the share object + * + * @param {Object} ocsData ocs request response + */ + constructor(ocsData) { + if (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) { + ocsData = ocsData.ocs.data[0] + } + + // convert int into boolean + ocsData.hide_download = !!ocsData.hide_download + ocsData.mail_send = !!ocsData.mail_send + + // store state + this.#share = ocsData + } + + /** + * Get the share state + * ! used for reactivity purpose + * Do not remove. It allow vuejs to + * inject its watchers into the #share + * state and make the whole class reactive + * + * @returns {Object} the share raw state + * @readonly + * @memberof Sidebar + */ + get state() { + return this.#share + } + + /** + * get the share id + * + * @returns {int} + * @readonly + * @memberof Share + */ + get id() { + return this.#share.id + } + + /** + * Get the share type + * + * @returns {int} + * @readonly + * @memberof Share + */ + get type() { + return this.#share.share_type + } + + /** + * Get the share permissions + * See OC.PERMISSION_* variables + * + * @returns {int} + * @readonly + * @memberof Share + */ + get permissions() { + return this.#share.permissions + } + + /** + * Set the share permissions + * See OC.PERMISSION_* variables + * + * @param {int} permissions valid permission, See OC.PERMISSION_* variables + * @memberof Share + */ + set permissions(permissions) { + this.#share.permissions = permissions + } + + // SHARE OWNER -------------------------------------------------- + /** + * Get the share owner uid + * + * @returns {string} + * @readonly + * @memberof Share + */ + get owner() { + return this.#share.uid_owner + } + + /** + * Get the share owner's display name + * + * @returns {string} + * @readonly + * @memberof Share + */ + get ownerDisplayName() { + return this.#share.displayname_owner + } + + // SHARED WITH -------------------------------------------------- + /** + * Get the share with entity uid + * + * @returns {string} + * @readonly + * @memberof Share + */ + get shareWith() { + return this.#share.share_with + } + + /** + * Get the share with entity display name + * fallback to its uid if none + * + * @returns {string} + * @readonly + * @memberof Share + */ + get shareWithDisplayName() { + return this.#share.share_with_displayname + || this.#share.share_with + } + + /** + * Get the share with avatar if any + * + * @returns {string} + * @readonly + * @memberof Share + */ + get shareWithAvatar() { + return this.#share.share_with_avatar + } + + // SHARED FILE OR FOLDER OWNER ---------------------------------- + /** + * Get the shared item owner uid + * + * @returns {string} + * @readonly + * @memberof Share + */ + get uidFileOwner() { + return this.#share.uid_file_owner + } + + /** + * Get the shared item display name + * fallback to its uid if none + * + * @returns {string} + * @readonly + * @memberof Share + */ + get displaynameFileOwner() { + return this.#share.displayname_file_owner + || this.#share.uid_file_owner + } + + // TIME DATA ---------------------------------------------------- + /** + * Get the share creation timestamp + * + * @returns {int} + * @readonly + * @memberof Share + */ + get createdTime() { + return this.#share.stime + } + + /** + * Get the expiration date as a string format + * + * @returns {string} + * @readonly + * @memberof Share + */ + get expireDate() { + return this.#share.expiration + } + + /** + * Set the expiration date as a string format + * e.g. YYYY-MM-DD + * + * @param {string} date the share expiration date + * @memberof Share + */ + set expireDate(date) { + this.#share.expiration = date + } + + // EXTRA DATA --------------------------------------------------- + /** + * Get the public share token + * + * @returns {string} the token + * @readonly + * @memberof Share + */ + get token() { + return this.#share.token + } + + /** + * Get the share note if any + * + * @returns {string} + * @readonly + * @memberof Share + */ + get note() { + return this.#share.note + } + + /** + * Set the share note if any + * + * @param {string} note the note + * @memberof Share + */ + set note(note) { + this.#share.note = note.trim() + } + + /** + * Have a mail been sent + * + * @returns {boolean} + * @readonly + * @memberof Share + */ + get mailSend() { + return this.#share.mail_send === true + } + + /** + * Hide the download button on public page + * + * @returns {boolean} + * @readonly + * @memberof Share + */ + get hideDownload() { + return this.#share.hide_download === true + } + + /** + * Hide the download button on public page + * + * @param {boolean} state hide the button ? + * @memberof Share + */ + set hideDownload(state) { + this.#share.hide_download = state === true + } + + /** + * Password protection of the share + * + * @returns {string} + * @readonly + * @memberof Share + */ + get password() { + return this.#share.password + } + + /** + * Password protection of the share + * + * @param {string} password the share password + * @memberof Share + */ + set password(password) { + this.#share.password = password.trim() + } + + // SHARED ITEM DATA --------------------------------------------- + /** + * Get the shared item absolute full path + * + * @returns {string} + * @readonly + * @memberof Share + */ + get path() { + return this.#share.path + } + + /** + * Return the item type: file or folder + * + * @returns {string} 'folder' or 'file' + * @readonly + * @memberof Share + */ + get itemType() { + return this.#share.item_type + } + + /** + * Get the shared item mimetype + * + * @returns {string} + * @readonly + * @memberof Share + */ + get mimetype() { + return this.#share.mimetype + } + + /** + * Get the shared item id + * + * @returns {int} + * @readonly + * @memberof Share + */ + get fileSource() { + return this.#share.file_source + } + + /** + * Get the target path on the receiving end + * e.g the file /xxx/aaa will be shared in + * the receiving root as /aaa, the fileTarget is /aaa + * + * @returns {string} + * @readonly + * @memberof Share + */ + get fileTarget() { + return this.#share.file_target + } + + /** + * Get the parent folder id if any + * + * @returns {int} + * @readonly + * @memberof Share + */ + get fileParent() { + return this.#share.file_parent + } + + // PERMISSIONS Shortcuts + /** + * Does this share have CREATE permissions + * + * @returns {boolean} + * @readonly + * @memberof Share + */ + get hasCreatePermission() { + return !!((this.permissions & OC.PERMISSION_CREATE)) + } + + /** + * Does this share have DELETE permissions + * + * @returns {boolean} + * @readonly + * @memberof Share + */ + get hasDeletePermission() { + return !!((this.permissions & OC.PERMISSION_DELETE)) + } + + /** + * Does this share have UPDATE permissions + * + * @returns {boolean} + * @readonly + * @memberof Share + */ + get hasUpdatePermission() { + return !!((this.permissions & OC.PERMISSION_UPDATE)) + } + + /** + * Does this share have SHARE permissions + * + * @returns {boolean} + * @readonly + * @memberof Share + */ + get hasSharePermission() { + return !!((this.permissions & OC.PERMISSION_SHARE)) + } + + // PERMISSIONS Shortcuts for the CURRENT USER + // ! the permissions above are the share settings, + // ! meaning the permissions for the recipient + /** + * Can the current user EDIT this share ? + * + * @returns {boolean} + * @readonly + * @memberof Share + */ + get canEdit() { + return this.#share.can_edit === true + } + + /** + * Can the current user DELETE this share ? + * + * @returns {boolean} + * @readonly + * @memberof Share + */ + get canDelete() { + return this.#share.can_delete === true + } + + // TODO: SORT THOSE PROPERTIES + get label() { + return this.#share.label + } + + get parent() { + return this.#share.parent + } + + get storageId() { + return this.#share.storage_id + } + + get storage() { + return this.#share.storage + } + + get itemSource() { + return this.#share.item_source + } + +} diff --git a/apps/files_sharing/src/services/ConfigService.js b/apps/files_sharing/src/services/ConfigService.js new file mode 100644 index 0000000000..7058c71477 --- /dev/null +++ b/apps/files_sharing/src/services/ConfigService.js @@ -0,0 +1,223 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +export default class Config { + + /** + * Is public upload allowed on link shares ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isPublicUploadEnabled() { + return document.getElementById('filestable') + && document.getElementById('filestable').dataset.allowPublicUpload === 'yes' + } + + /** + * Are link share allowed ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isShareWithLinkAllowed() { + return document.getElementById('allowShareWithLink') + && document.getElementById('allowShareWithLink').value === 'yes' + } + + /** + * Get the federated sharing documentation link + * + * @returns {string} + * @readonly + * @memberof Config + */ + get federatedShareDocLink() { + return OC.appConfig.core.federatedCloudShareDoc + } + + /** + * Get the default expiration date as string + * + * @returns {string} + * @readonly + * @memberof Config + */ + get defaultExpirationDateString() { + let expireDateString = '' + if (this.isDefaultExpireDateEnabled) { + const date = window.moment.utc() + const expireAfterDays = this.defaultExpireDate + date.add(expireAfterDays, 'days') + expireDateString = date.format('YYYY-MM-DD') + } + return expireDateString + } + + /** + * Are link shares password-enforced ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get enforcePasswordForPublicLink() { + return OC.appConfig.core.enforcePasswordForPublicLink === true + } + + /** + * Is password asked by default on link shares ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get enableLinkPasswordByDefault() { + return OC.appConfig.core.enableLinkPasswordByDefault === true + } + + /** + * Is link shares expiration enforced ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isDefaultExpireDateEnforced() { + return OC.appConfig.core.defaultExpireDateEnforced === true + } + + /** + * Is there a default expiration date for new link shares ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isDefaultExpireDateEnabled() { + return OC.appConfig.core.defaultExpireDateEnabled === true + } + + /** + * Are users on this server allowed to send shares to other servers ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isRemoteShareAllowed() { + return OC.appConfig.core.remoteShareAllowed === true + } + + /** + * Is sharing my mail (link share) enabled ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isMailShareAllowed() { + return OC.appConfig.shareByMailEnabled !== undefined + } + + /** + * Get the default days to expiration + * + * @returns {int} + * @readonly + * @memberof Config + */ + get defaultExpireDate() { + return OC.appConfig.core.defaultExpireDate + } + + /** + * Is resharing allowed ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isResharingAllowed() { + return OC.appConfig.core.resharingAllowed === true + } + + /** + * Is password enforced for mail shares ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isPasswordForMailSharesRequired() { + return (OC.appConfig.shareByMail === undefined) ? false : OC.appConfig.shareByMail.enforcePasswordProtection === true + } + + /** + * Is sharing with groups allowed ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get allowGroupSharing() { + return OC.appConfig.core.allowGroupSharing === true + } + + /** + * Get the maximum results of a share search + * + * @returns {int} + * @readonly + * @memberof Config + */ + get maxAutocompleteResults() { + return parseInt(OC.config['sharing.maxAutocompleteResults'], 10) || 200 + } + + /** + * Get the minimal string length + * to initiate a share search + * + * @returns {int} + * @readonly + * @memberof Config + */ + get minSearchStringLength() { + return parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0 + } + + /** + * Get the password policy config + * + * @returns {Object} + * @readonly + * @memberof Config + */ + get passwordPolicy() { + const capabilities = OC.getCapabilities() + return capabilities.password_policy ? capabilities.password_policy : {} + } + +} diff --git a/apps/files_sharing/src/services/ExternalLinkActions.js b/apps/files_sharing/src/services/ExternalLinkActions.js new file mode 100644 index 0000000000..35377d8676 --- /dev/null +++ b/apps/files_sharing/src/services/ExternalLinkActions.js @@ -0,0 +1,63 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +export default class ExternalLinkActions { + + #state; + + constructor() { + // init empty state + this.#state = {} + + // init default values + this.#state.actions = [] + console.debug('OCA.Sharing.ExternalLinkActions initialized') + } + + /** + * Get the state + * + * @readonly + * @memberof ExternalLinkActions + * @returns {Object} the data state + */ + get state() { + return this.#state + } + + /** + * Register a new action for the link share + * Mostly used by the social sharing app. + * + * @param {Object} action new action component to register + * @returns {boolean} + */ + registerAction(action) { + if (typeof action === 'object' && action.icon && action.name && action.url) { + this.#state.actions.push(action) + return true + } + console.error(`Invalid action provided`, action) + return false + } + +} diff --git a/apps/files_sharing/src/services/ShareSearch.js b/apps/files_sharing/src/services/ShareSearch.js new file mode 100644 index 0000000000..dda1feb30a --- /dev/null +++ b/apps/files_sharing/src/services/ShareSearch.js @@ -0,0 +1,71 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +export default class ShareSearch { + + #state; + + constructor() { + // init empty state + this.#state = {} + + // init default values + this.#state.results = [] + console.debug('OCA.Sharing.ShareSearch initialized') + } + + /** + * Get the state + * + * @readonly + * @memberof ShareSearch + * @returns {Object} the data state + */ + get state() { + return this.#state + } + + /** + * Register a new result + * Mostly used by the guests app. + * We should consider deprecation and add results via php ? + * + * @param {Object} result entry to append + * @param {string} [result.user] entry user + * @param {string} result.displayName entry first line + * @param {string} [result.desc] entry second line + * @param {string} [result.icon] entry icon + * @param {function} result.handler function to run on entry selection + * @param {function} [result.condition] condition to add entry or not + * @returns {boolean} + */ + addNewResult(result) { + if (result.displayName.trim() !== '' + && typeof result.handler === 'function') { + this.#state.results.push(result) + return true + } + console.error(`Invalid search result provided`, result) + return false + } + +} diff --git a/apps/files_sharing/src/services/TabSections.js b/apps/files_sharing/src/services/TabSections.js new file mode 100644 index 0000000000..0750cc707e --- /dev/null +++ b/apps/files_sharing/src/services/TabSections.js @@ -0,0 +1,49 @@ +/** + * @copyright Copyright (c) 2019 Julius Härtl + * + * @author Julius Härtl + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** + * Callback for adding two numbers. + * + * @callback registerSectionCallback + * @param {Element} el The DOM element where the section is rendered + * @param {FileInfo} fileInfo current file FileInfo + */ +export default class TabSections { + + #sections; + + constructor() { + this.#sections = [] + } + + /** + * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar + */ + registerSection(section) { + this.#sections.push(section) + } + + getSections() { + return this.#sections + } + +} diff --git a/apps/files_sharing/src/share.js b/apps/files_sharing/src/share.js index a66f166759..c7ef39897d 100644 --- a/apps/files_sharing/src/share.js +++ b/apps/files_sharing/src/share.js @@ -195,7 +195,7 @@ // do not open sidebar if permission is set and equal to 0 var permissions = parseInt(context.$file.data('share-permissions'), 10) if (isNaN(permissions) || permissions > 0) { - fileList.showDetailsView(fileName, 'shareTabView') + fileList.showDetailsView(fileName, 'sharing') } }, render: function(actionSpec, isDefault, context) { @@ -209,37 +209,8 @@ } }) - var shareTab = new OCA.Sharing.ShareTabView('shareTabView', { order: -20 }) - // detect changes and change the matching list entry - shareTab.on('sharesChanged', function(shareModel) { - var fileInfoModel = shareModel.fileInfoModel - var $tr = fileList.findFileEl(fileInfoModel.get('name')) - - // We count email shares as link share - var hasLinkShares = shareModel.hasLinkShares() - shareModel.get('shares').forEach(function(share) { - if (share.share_type === OC.Share.SHARE_TYPE_EMAIL) { - hasLinkShares = true - } - }) - - OCA.Sharing.Util._updateFileListDataAttributes(fileList, $tr, shareModel) - if (!OCA.Sharing.Util._updateFileActionIcon($tr, shareModel.hasUserShares(), hasLinkShares)) { - // remove icon, if applicable - OC.Share.markFileAsShared($tr, false, false) - } - - // FIXME: this is too convoluted. We need to get rid of the above updates - // and only ever update the model and let the events take care of rerendering - fileInfoModel.set({ - shareTypes: shareModel.getShareTypes(), - // in case markFileAsShared decided to change the icon, - // we need to modify the model - // (FIXME: yes, this is hacky) - icon: $tr.attr('data-icon') - }) - }) - fileList.registerTabView(shareTab) + // register share breadcrumbs component + var shareTab = new OCA.Sharing.ShareTabView('sharing', {order: -20}) var breadCrumbSharingDetailView = new OCA.Sharing.ShareBreadCrumbView({ shareTab: shareTab }) fileList.registerBreadCrumbDetailView(breadCrumbSharingDetailView) diff --git a/apps/files_sharing/src/sharebreadcrumbview.js b/apps/files_sharing/src/sharebreadcrumbview.js index a90c94b6d7..c712229b2e 100644 --- a/apps/files_sharing/src/sharebreadcrumbview.js +++ b/apps/files_sharing/src/sharebreadcrumbview.js @@ -93,7 +93,7 @@ dirInfo: self._dirInfo }) }) - OCA.Files.App.fileList.showDetailsView(fileInfoModel, 'shareTabView') + OCA.Files.App.fileList.showDetailsView(fileInfoModel, 'sharing') } }) diff --git a/apps/files_sharing/src/utils/SharedWithMe.js b/apps/files_sharing/src/utils/SharedWithMe.js new file mode 100644 index 0000000000..b2e2e34a9b --- /dev/null +++ b/apps/files_sharing/src/utils/SharedWithMe.js @@ -0,0 +1,86 @@ +/** + * @copyright Copyright (c) 2019 John Molakvoæ + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** + * Get the shared with me title + * + * @param {Share} share current share + * @returns {string} the title + */ +const shareWithTitle = function(share) { + if (share.type === OC.Share.type_GROUP) { + return t( + 'files_sharing', + 'Shared with you and the group {group} by {owner}', + { + group: share.shareWithDisplayName, + owner: share.ownerDisplayName + }, + undefined, + { escape: false } + ) + } else if (share.type === OC.Share.type_CIRCLE) { + return t( + 'files_sharing', + 'Shared with you and {circle} by {owner}', + { + circle: share.shareWithDisplayName, + owner: share.ownerDisplayName + }, + undefined, + { escape: false } + ) + } else if (share.type === OC.Share.type_ROOM) { + if (this.model.get('reshare').share_with_displayname) { + return t( + 'files_sharing', + 'Shared with you and the conversation {conversation} by {owner}', + { + conversation: share.shareWithDisplayName, + owner: share.ownerDisplayName + }, + undefined, + { escape: false } + ) + } else { + return t( + 'files_sharing', + 'Shared with you in a conversation by {owner}', + { + owner: share.ownerDisplayName + }, + undefined, + { escape: false } + ) + } + } else { + return t( + 'files_sharing', + 'Shared with you by {owner}', + { owner: share.ownerDisplayName }, + undefined, + { escape: false } + ) + } +} + +export { shareWithTitle } diff --git a/apps/files_sharing/src/views/SharingLinkList.vue b/apps/files_sharing/src/views/SharingLinkList.vue new file mode 100644 index 0000000000..1c01886ca4 --- /dev/null +++ b/apps/files_sharing/src/views/SharingLinkList.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/apps/files_sharing/src/views/SharingList.vue b/apps/files_sharing/src/views/SharingList.vue new file mode 100644 index 0000000000..c2ecbbbd1a --- /dev/null +++ b/apps/files_sharing/src/views/SharingList.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/apps/files_sharing/src/views/SharingTab.vue b/apps/files_sharing/src/views/SharingTab.vue new file mode 100644 index 0000000000..216b2e74ff --- /dev/null +++ b/apps/files_sharing/src/views/SharingTab.vue @@ -0,0 +1,334 @@ + + + + + + + diff --git a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php index c972c5c794..c741159cdb 100644 --- a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php +++ b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php @@ -577,6 +577,8 @@ class ShareAPIControllerTest extends TestCase { 'displayname_file_owner' => 'ownerDisplay', 'mimetype' => 'myMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ]; $data[] = [$share, $expected]; @@ -623,6 +625,8 @@ class ShareAPIControllerTest extends TestCase { 'displayname_file_owner' => 'ownerDisplay', 'mimetype' => 'myFolderMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ]; $data[] = [$share, $expected]; @@ -676,6 +680,8 @@ class ShareAPIControllerTest extends TestCase { 'displayname_file_owner' => 'ownerDisplay', 'mimetype' => 'myFolderMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ]; $data[] = [$share, $expected]; @@ -3431,6 +3437,8 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; // User backend up @@ -3462,6 +3470,8 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [ ['owner', $owner], ['initiator', $initiator], @@ -3509,6 +3519,53 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, + ], $share, [], false + ]; + + $share = \OC::$server->getShareManager()->newShare(); + $share->setShareType(\OCP\Share::SHARE_TYPE_USER) + ->setSharedWith('recipient') + ->setSharedBy('initiator') + ->setShareOwner('currentUser') + ->setPermissions(\OCP\Constants::PERMISSION_READ) + ->setNode($file) + ->setShareTime(new \DateTime('2000-01-01T00:01:02')) + ->setTarget('myTarget') + ->setNote('personal note') + ->setId(42); + // User backend down + $result[] = [ + [ + 'id' => 42, + 'share_type' => \OCP\Share::SHARE_TYPE_USER, + 'uid_owner' => 'initiator', + 'displayname_owner' => 'initiator', + 'permissions' => 1, + 'stime' => 946684862, + 'parent' => null, + 'expiration' => null, + 'token' => null, + 'uid_file_owner' => 'currentUser', + 'displayname_file_owner' => 'currentUser', + 'note' => 'personal note', + 'label' => null, + 'path' => 'file', + 'item_type' => 'file', + 'storage_id' => 'storageId', + 'storage' => 100, + 'item_source' => 3, + 'file_source' => 3, + 'file_parent' => 1, + 'file_target' => 'myTarget', + 'share_with' => 'recipient', + 'share_with_displayname' => 'recipient', + 'mail_send' => 0, + 'mimetype' => 'myMimeType', + 'hide_download' => 0, + 'can_edit' => true, + 'can_delete' => true, ], $share, [], false ]; @@ -3554,6 +3611,8 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3597,6 +3656,8 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3646,6 +3707,8 @@ class ShareAPIControllerTest extends TestCase { 'url' => 'myLink', 'mimetype' => 'myMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3696,6 +3759,8 @@ class ShareAPIControllerTest extends TestCase { 'url' => 'myLink', 'mimetype' => 'myMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3739,6 +3804,8 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myFolderMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3785,6 +3852,8 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myFolderMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3829,6 +3898,8 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myFolderMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3873,6 +3944,8 @@ class ShareAPIControllerTest extends TestCase { 'mail_send' => 0, 'mimetype' => 'myFolderMimeType', 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3933,6 +4006,8 @@ class ShareAPIControllerTest extends TestCase { 'password' => 'password', 'send_password_by_talk' => false, 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -3979,6 +4054,8 @@ class ShareAPIControllerTest extends TestCase { 'password' => 'password', 'send_password_by_talk' => true, 'hide_download' => 0, + 'can_edit' => false, + 'can_delete' => false, ], $share, [], false ]; @@ -4120,6 +4197,8 @@ class ShareAPIControllerTest extends TestCase { 'mimetype' => 'myMimeType', 'hide_download' => 0, 'label' => '', + 'can_edit' => false, + 'can_delete' => false, ], $share, false, [] ]; @@ -4163,6 +4242,8 @@ class ShareAPIControllerTest extends TestCase { 'mimetype' => 'myMimeType', 'hide_download' => 0, 'label' => '', + 'can_edit' => false, + 'can_delete' => false, ], $share, true, [ 'share_with_displayname' => 'recipientRoomName' ] diff --git a/apps/files_sharing/tests/js/shareSpec.js b/apps/files_sharing/tests/js/shareSpec.js index a4aa6eea74..061c789c14 100644 --- a/apps/files_sharing/tests/js/shareSpec.js +++ b/apps/files_sharing/tests/js/shareSpec.js @@ -234,198 +234,6 @@ describe('OCA.Sharing.Util tests', function() { expect($tr.find('.action-share').length).toEqual(0); }); }); - describe('Share action', function() { - var shareTab; - - function makeDummyShareItem(displayName) { - return { - share_with_displayname: displayName - }; - } - - beforeEach(function() { - // make it look like not the "All files" list - fileList.id = 'test'; - shareTab = fileList._detailsView._tabViews[0]; - }); - afterEach(function() { - shareTab = null; - }); - it('clicking share action opens sidebar and share tab', function() { - var showDetailsViewStub = sinon.stub(fileList, 'showDetailsView'); - - fileList.setFiles([{ - id: 1, - type: 'file', - name: 'One.txt', - path: '/subdir', - mimetype: 'text/plain', - size: 12, - permissions: OC.PERMISSION_ALL, - etag: 'abc' - }]); - - var $tr = fileList.$el.find('tr:first'); - $tr.find('.action-share').click(); - - expect(showDetailsViewStub.calledOnce).toEqual(true); - expect(showDetailsViewStub.getCall(0).args[0]).toEqual('One.txt'); - expect(showDetailsViewStub.getCall(0).args[1]).toEqual('shareTabView'); - - showDetailsViewStub.restore(); - }); - it('adds share icon after sharing a non-shared file', function() { - var $action, $tr; - OC.Share.statuses = {}; - fileList.setFiles([{ - id: 1, - type: 'file', - name: 'One.txt', - path: '/subdir', - mimetype: 'text/plain', - size: 12, - permissions: OC.PERMISSION_ALL, - etag: 'abc' - }]); - $action = fileList.$el.find('tbody tr:first .action-share'); - $tr = fileList.$el.find('tr:first'); - - $tr.find('.action-share').click(); - - // simulate updating shares - shareTab._dialog.model.set({ - shares: [ - {share_with_displayname: 'User One', share_with: 'User One'}, - {share_with_displayname: 'User Two', share_with: 'User Two'}, - {share_with_displayname: 'Group One', share_with: 'Group One'}, - {share_with_displayname: 'Group Two', share_with: 'Group Two'} - ] - }); - - expect($action.text().trim()).toEqual('Shared with Group One Shared with Group Two Shared with User One Shared with User Two'); - expect($action.find('.icon').hasClass('icon-shared')).toEqual(true); - expect($action.find('.icon').hasClass('icon-public')).toEqual(false); - }); - it('updates share icon after updating shares of a file', function() { - var $action, $tr; - OC.Share.statuses = {1: {link: false, path: '/subdir'}}; - fileList.setFiles([{ - id: 1, - type: 'file', - name: 'One.txt', - path: '/subdir', - mimetype: 'text/plain', - size: 12, - permissions: OC.PERMISSION_ALL, - etag: 'abc' - }]); - $action = fileList.$el.find('tbody tr:first .action-share'); - $tr = fileList.$el.find('tr:first'); - - $tr.find('.action-share').click(); - - // simulate updating shares - shareTab._dialog.model.set({ - shares: [ - {share_with_displayname: 'User One', share_with: 'User One'}, - {share_with_displayname: 'User Two', share_with: 'User Two'}, - {share_with_displayname: 'User Three', share_with: 'User Three'} - ] - }); - - expect($action.text().trim()).toEqual('Shared with User One Shared with User Three Shared with User Two'); - expect($action.find('.icon').hasClass('icon-shared')).toEqual(true); - expect($action.find('.icon').hasClass('icon-public')).toEqual(false); - }); - it('removes share icon after removing all shares from a file', function() { - var $action, $tr; - OC.Share.statuses = {1: {link: false, path: '/subdir'}}; - fileList.setFiles([{ - id: 1, - type: 'file', - name: 'One.txt', - path: '/subdir', - mimetype: 'text/plain', - size: 12, - permissions: OC.PERMISSION_ALL, - etag: 'abc', - recipients: 'User One, User Two' - }]); - $action = fileList.$el.find('tbody tr:first .action-share'); - $tr = fileList.$el.find('tr:first'); - - $tr.find('.action-share').click(); - - // simulate updating shares - shareTab._dialog.model.set({ - shares: [] - }); - - expect($tr.attr('data-share-recipient-data')).not.toBeDefined(); - }); - it('keep share text after updating reshare', function() { - var $action, $tr; - OC.Share.statuses = {1: {link: false, path: '/subdir'}}; - fileList.setFiles([{ - id: 1, - type: 'file', - name: 'One.txt', - path: '/subdir', - mimetype: 'text/plain', - size: 12, - permissions: OC.PERMISSION_ALL, - etag: 'abc', - shareOwner: 'User One', - shareOwnerId: 'User One' - }]); - $action = fileList.$el.find('tbody tr:first .action-share'); - $tr = fileList.$el.find('tr:first'); - - $tr.find('.action-share').click(); - - // simulate updating shares - shareTab._dialog.model.set({ - shares: [{share_with_displayname: 'User Two'}] - }); - - expect($action.find('>span').text().trim()).toEqual('Shared by User One'); - expect($action.find('.icon').hasClass('icon-shared')).toEqual(false); - expect($action.find('.icon').hasClass('icon-public')).toEqual(false); - }); - it('keep share text after unsharing reshare', function() { - var $action, $tr; - OC.Share.statuses = {1: {link: false, path: '/subdir'}}; - fileList.setFiles([{ - id: 1, - type: 'file', - name: 'One.txt', - path: '/subdir', - mimetype: 'text/plain', - size: 12, - permissions: OC.PERMISSION_ALL, - etag: 'abc', - shareOwner: 'User One', - shareOwnerId: 'User One', - recipients: 'User Two', - recipientData: {'User Two': 'User Two'} - }]); - $action = fileList.$el.find('tbody tr:first .action-share'); - $tr = fileList.$el.find('tr:first'); - - $tr.find('.action-share').click(); - - // simulate updating shares - shareTab._dialog.model.set({ - shares: [] - }); - - expect($tr.attr('data-share-recipient-data')).not.toBeDefined(); - - expect($action.find('>span').text().trim()).toEqual('Shared by User One'); - expect($action.find('.icon').hasClass('icon-shared')).toEqual(false); - expect($action.find('.icon').hasClass('icon-public')).toEqual(false); - }); - }); describe('Excluded lists', function() { function createListThenAttach(listId) { var fileActions = new OCA.Files.FileActions(); @@ -513,20 +321,5 @@ describe('OCA.Sharing.Util tests', function() { afterEach(function() { shareTabSpy.restore(); }); - - it('updates fileInfoModel when shares changed', function() { - var changeHandler = sinon.stub(); - fileInfoModel.on('change', changeHandler); - - shareTabSpy.getCall(0).returnValue.trigger('sharesChanged', shareModel); - - expect(changeHandler.calledOnce).toEqual(true); - expect(changeHandler.getCall(0).args[0].changed).toEqual({ - shareTypes: [ - OC.Share.SHARE_TYPE_USER, - OC.Share.SHARE_TYPE_REMOTE - ] - }); - }); }); }); diff --git a/apps/files_sharing/webpack.js b/apps/files_sharing/webpack.js index 3fc0628b20..43a34559d4 100644 --- a/apps/files_sharing/webpack.js +++ b/apps/files_sharing/webpack.js @@ -4,6 +4,7 @@ module.exports = { entry: { 'additionalScripts': path.join(__dirname, 'src', 'additionalScripts.js'), 'files_sharing': path.join(__dirname, 'src', 'files_sharing.js'), + 'files_sharing_tab': path.join(__dirname, 'src', 'files_sharing_tab.js'), 'collaboration': path.join(__dirname, 'src', 'collaborationresourceshandler.js'), }, output: { diff --git a/apps/systemtags/js/systemtags.js b/apps/systemtags/js/systemtags.js index ad03d5517d..441b2c3170 100644 --- a/apps/systemtags/js/systemtags.js +++ b/apps/systemtags/js/systemtags.js @@ -1,4 +1,4 @@ -!function(e){var t={};function i(s){if(t[s])return t[s].exports;var n=t[s]={i:s,l:!1,exports:{}};return e[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=t,i.d=function(e,t,s){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(s,n,function(t){return e[t]}.bind(null,n));return s},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/js/",i(i.s=0)}([function(e,t,i){"use strict";i.r(t);i(1),i(2),i(3),i(4),i(5),i(6);window.OCA.SystemTags=OCA.SystemTags},function(e,i){OCA.SystemTags||(OCA.SystemTags={}),OCA.SystemTags.App={initFileList:function(e){return this._fileList?this._fileList:(this._fileList=new OCA.SystemTags.FileList(e,{id:"systemtags",fileActions:this._createFileActions(),config:OCA.Files.App.getFilesConfig(),shown:!0}),this._fileList.appName=t("systemtags","Tags"),this._fileList)},removeFileList:function(){this._fileList&&this._fileList.$fileList.empty()},_createFileActions:function(){var e=new OCA.Files.FileActions;return e.registerDefaultActions(),e.merge(OCA.Files.fileActions),this._globalActionsInitialized||(this._onActionsUpdated=_.bind(this._onActionsUpdated,this),OCA.Files.fileActions.on("setDefault.app-systemtags",this._onActionsUpdated),OCA.Files.fileActions.on("registerAction.app-systemtags",this._onActionsUpdated),this._globalActionsInitialized=!0),e.register("dir","Open",OC.PERMISSION_READ,"",(function(e,t){OCA.Files.App.setActiveView("files",{silent:!0}),OCA.Files.App.fileList.changeDirectory(OC.joinPaths(t.$file.attr("data-path"),e),!0,!0)})),e.setDefault("dir","Open"),e},_onActionsUpdated:function(e){this._fileList&&(e.action?this._fileList.fileActions.registerAction(e.action):e.defaultAction&&this._fileList.fileActions.setDefault(e.defaultAction.mime,e.defaultAction.name))},destroy:function(){OCA.Files.fileActions.off("setDefault.app-systemtags",this._onActionsUpdated),OCA.Files.fileActions.off("registerAction.app-systemtags",this._onActionsUpdated),this.removeFileList(),this._fileList=null,delete this._globalActionsInitialized}},$(document).ready((function(){$("#app-content-systemtagsfilter").on("show",(function(e){OCA.SystemTags.App.initFileList($(e.target))})),$("#app-content-systemtagsfilter").on("hide",(function(){OCA.SystemTags.App.removeFileList()}))}))},function(e,i){var s;(s=function(e,t){this.initialize(e,t)}).prototype=_.extend({},OCA.Files.FileList.prototype,{id:"systemtagsfilter",appName:t("systemtags","Tagged files"),_systemTagIds:[],_lastUsedTags:[],_clientSideSort:!0,_allowSelection:!1,_filterField:null,initialize:function(e,t){if(OCA.Files.FileList.prototype.initialize.apply(this,arguments),!this.initialized){t&&t.systemTagIds&&(this._systemTagIds=t.systemTagIds),OC.Plugins.attach("OCA.SystemTags.FileList",this);var i=this.$el.find("#controls").empty();_.defer(_.bind(this._getLastUsedTags,this)),this._initFilterField(i)}},destroy:function(){this.$filterField.remove(),OCA.Files.FileList.prototype.destroy.apply(this,arguments)},_getLastUsedTags:function(){var e=this;$.ajax({type:"GET",url:OC.generateUrl("/apps/systemtags/lastused"),success:function(t){e._lastUsedTags=t}})},_initFilterField:function(e){var i=this;return this.$filterField=$(''),e.append(this.$filterField),this.$filterField.select2({placeholder:t("systemtags","Select tags to filter by"),allowClear:!1,multiple:!0,toggleSelect:!0,separator:",",query:_.bind(this._queryTagsAutocomplete,this),id:function(e){return e.id},initSelection:function(e,t){var i=$(e).val().trim();if(i){var s=i.split(","),n=[];OC.SystemTags.collection.fetch({success:function(){_.each(s,(function(e){var t=OC.SystemTags.collection.get(e);_.isUndefined(t)||n.push(t.toJSON())})),t(n)}})}else t([])},formatResult:function(e){return OC.SystemTags.getDescriptiveTag(e)},formatSelection:function(e){return OC.SystemTags.getDescriptiveTag(e)[0].outerHTML},sortResults:function(e){return e.sort((function(e,t){var s=i._lastUsedTags.indexOf(e.id),n=i._lastUsedTags.indexOf(t.id);return s!==n?-1===n?-1:-1===s?1:s

        '+t("systemtags","No files found for the selected tags")+"

        "):this.$el.find("#emptycontent").html('

        '+t("systemtags","Please select tags to filter by")+"

        "),this.$el.find("#emptycontent").toggleClass("hidden",!this.isEmpty),this.$el.find("#filestable thead th").toggleClass("hidden",this.isEmpty)):OCA.Files.FileList.prototype.updateEmptyContent.apply(this,arguments)},getDirectoryPermissions:function(){return OC.PERMISSION_READ|OC.PERMISSION_DELETE},updateStorageStatistics:function(){},reload:function(){if(this._setCurrentDir("/",!1),!this._systemTagIds.length)return this.updateEmptyContent(),this.setFiles([]),$.Deferred().resolve();this._selectedFiles={},this._selectionSummary.clear(),this._currentFileModel&&this._currentFileModel.off(),this._currentFileModel=null,this.$el.find(".select-all").prop("checked",!1),this.showMask(),this._reloadCall=this.filesClient.getFilteredFiles({systemTagIds:this._systemTagIds},{properties:this._getWebdavProperties()}),this._detailsView&&this._updateDetailsView(null);var e=this.reloadCallback.bind(this);return this._reloadCall.then(e,e)},reloadCallback:function(e,t){return t&&t.unshift({}),OCA.Files.FileList.prototype.reloadCallback.call(this,e,t)}}),OCA.SystemTags.FileList=s},function(e,t){OCA.SystemTags=_.extend({},OCA.SystemTags),OCA.SystemTags||(OCA.SystemTags={}),OCA.SystemTags.FilesPlugin={ignoreLists:["trashbin","files.public"],attach:function(e){if(!(this.ignoreLists.indexOf(e.id)>=0)){var t=new OCA.SystemTags.SystemTagsInfoView;e.registerDetailView(t),_.each(e.getRegisteredDetailViews(),(function(e){if(e instanceof OCA.Files.MainFileInfoDetailView){var i=new OCA.SystemTags.SystemTagsInfoViewToggleView({systemTagsInfoView:t});i.render(),i.listenTo(e,"pre-render",(function(){i.$el.detach()})),i.listenTo(e,"post-render",(function(){e.$el.find(".file-details").append(i.$el)}))}}))}}},OC.Plugins.register("OCA.Files.FileList",OCA.SystemTags.FilesPlugin)},function(e,t){!function(e){function t(e){var t=e.toJSON();return OC.isUserAdmin()||t.canAssign||(t.locked=!0),t}var i=e.Files.DetailFileInfoView.extend({_rendered:!1,className:"systemTagsInfoView hidden",_inputView:null,initialize:function(e){var i=this;e=e||{},this._inputView=new OC.SystemTags.SystemTagsInputField({multiple:!0,allowActions:!0,allowCreate:!0,isAdmin:OC.isUserAdmin(),initSelection:function(e,s){s(i.selectedTagsCollection.map(t))}}),this.selectedTagsCollection=new OC.SystemTags.SystemTagsMappingCollection([],{objectType:"files"}),this._inputView.collection.on("change:name",this._onTagRenamedGlobally,this),this._inputView.collection.on("remove",this._onTagDeletedGlobally,this),this._inputView.on("select",this._onSelectTag,this),this._inputView.on("deselect",this._onDeselectTag,this)},_onSelectTag:function(e){this.selectedTagsCollection.create(e.toJSON())},_onDeselectTag:function(e){this.selectedTagsCollection.get(e).destroy()},_onTagRenamedGlobally:function(e){var t=this.selectedTagsCollection.get(e.id);t&&t.set(e.toJSON())},_onTagDeletedGlobally:function(e){this.selectedTagsCollection.remove(e)},setFileInfo:function(e){var i=this;this._rendered||this.render(),e&&(this.selectedTagsCollection.setObjectId(e.id),this.selectedTagsCollection.fetch({success:function(e){e.fetched=!0;var s=e.map(t);i._inputView.setData(s),0!==s.length?i.show():i.hide()}})),this.hide()},render:function(){this.$el.append(this._inputView.$el),this._inputView.render()},isVisible:function(){return!this.$el.hasClass("hidden")},show:function(){this.$el.removeClass("hidden")},hide:function(){this.$el.addClass("hidden")},openDropdown:function(){this.$el.find(".systemTagsInputField").select2("open")},remove:function(){this._inputView.remove()}});e.SystemTags.SystemTagsInfoView=i}(OCA)},function(e,i){ +!function(e){var t={};function i(s){if(t[s])return t[s].exports;var n=t[s]={i:s,l:!1,exports:{}};return e[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=t,i.d=function(e,t,s){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(s,n,function(t){return e[t]}.bind(null,n));return s},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/js/",i(i.s=0)}([function(e,t,i){"use strict";i.r(t);i(1),i(2),i(3),i(4),i(5),i(6);window.OCA.SystemTags=OCA.SystemTags},function(e,i){OCA.SystemTags||(OCA.SystemTags={}),OCA.SystemTags.App={initFileList:function(e){return this._fileList?this._fileList:(this._fileList=new OCA.SystemTags.FileList(e,{id:"systemtags",fileActions:this._createFileActions(),config:OCA.Files.App.getFilesConfig(),shown:!0}),this._fileList.appName=t("systemtags","Tags"),this._fileList)},removeFileList:function(){this._fileList&&this._fileList.$fileList.empty()},_createFileActions:function(){var e=new OCA.Files.FileActions;return e.registerDefaultActions(),e.merge(OCA.Files.fileActions),this._globalActionsInitialized||(this._onActionsUpdated=_.bind(this._onActionsUpdated,this),OCA.Files.fileActions.on("setDefault.app-systemtags",this._onActionsUpdated),OCA.Files.fileActions.on("registerAction.app-systemtags",this._onActionsUpdated),this._globalActionsInitialized=!0),e.register("dir","Open",OC.PERMISSION_READ,"",(function(e,t){OCA.Files.App.setActiveView("files",{silent:!0}),OCA.Files.App.fileList.changeDirectory(OC.joinPaths(t.$file.attr("data-path"),e),!0,!0)})),e.setDefault("dir","Open"),e},_onActionsUpdated:function(e){this._fileList&&(e.action?this._fileList.fileActions.registerAction(e.action):e.defaultAction&&this._fileList.fileActions.setDefault(e.defaultAction.mime,e.defaultAction.name))},destroy:function(){OCA.Files.fileActions.off("setDefault.app-systemtags",this._onActionsUpdated),OCA.Files.fileActions.off("registerAction.app-systemtags",this._onActionsUpdated),this.removeFileList(),this._fileList=null,delete this._globalActionsInitialized}},$(document).ready((function(){$("#app-content-systemtagsfilter").on("show",(function(e){OCA.SystemTags.App.initFileList($(e.target))})),$("#app-content-systemtagsfilter").on("hide",(function(){OCA.SystemTags.App.removeFileList()}))}))},function(e,i){var s;(s=function(e,t){this.initialize(e,t)}).prototype=_.extend({},OCA.Files.FileList.prototype,{id:"systemtagsfilter",appName:t("systemtags","Tagged files"),_systemTagIds:[],_lastUsedTags:[],_clientSideSort:!0,_allowSelection:!1,_filterField:null,initialize:function(e,t){if(OCA.Files.FileList.prototype.initialize.apply(this,arguments),!this.initialized){t&&t.systemTagIds&&(this._systemTagIds=t.systemTagIds),OC.Plugins.attach("OCA.SystemTags.FileList",this);var i=this.$el.find("#controls").empty();_.defer(_.bind(this._getLastUsedTags,this)),this._initFilterField(i)}},destroy:function(){this.$filterField.remove(),OCA.Files.FileList.prototype.destroy.apply(this,arguments)},_getLastUsedTags:function(){var e=this;$.ajax({type:"GET",url:OC.generateUrl("/apps/systemtags/lastused"),success:function(t){e._lastUsedTags=t}})},_initFilterField:function(e){var i=this;return this.$filterField=$(''),e.append(this.$filterField),this.$filterField.select2({placeholder:t("systemtags","Select tags to filter by"),allowClear:!1,multiple:!0,toggleSelect:!0,separator:",",query:_.bind(this._queryTagsAutocomplete,this),id:function(e){return e.id},initSelection:function(e,t){var i=$(e).val().trim();if(i){var s=i.split(","),n=[];OC.SystemTags.collection.fetch({success:function(){_.each(s,(function(e){var t=OC.SystemTags.collection.get(e);_.isUndefined(t)||n.push(t.toJSON())})),t(n)}})}else t([])},formatResult:function(e){return OC.SystemTags.getDescriptiveTag(e)},formatSelection:function(e){return OC.SystemTags.getDescriptiveTag(e)[0].outerHTML},sortResults:function(e){return e.sort((function(e,t){var s=i._lastUsedTags.indexOf(e.id),n=i._lastUsedTags.indexOf(t.id);return s!==n?-1===n?-1:-1===s?1:s

        '+t("systemtags","No files found for the selected tags")+"

        "):this.$el.find("#emptycontent").html('

        '+t("systemtags","Please select tags to filter by")+"

        "),this.$el.find("#emptycontent").toggleClass("hidden",!this.isEmpty),this.$el.find("#filestable thead th").toggleClass("hidden",this.isEmpty)):OCA.Files.FileList.prototype.updateEmptyContent.apply(this,arguments)},getDirectoryPermissions:function(){return OC.PERMISSION_READ|OC.PERMISSION_DELETE},updateStorageStatistics:function(){},reload:function(){if(this._setCurrentDir("/",!1),!this._systemTagIds.length)return this.updateEmptyContent(),this.setFiles([]),$.Deferred().resolve();this._selectedFiles={},this._selectionSummary.clear(),this._currentFileModel&&this._currentFileModel.off(),this._currentFileModel=null,this.$el.find(".select-all").prop("checked",!1),this.showMask(),this._reloadCall=this.filesClient.getFilteredFiles({systemTagIds:this._systemTagIds},{properties:this._getWebdavProperties()}),this._detailsView&&this._updateDetailsView(null);var e=this.reloadCallback.bind(this);return this._reloadCall.then(e,e)},reloadCallback:function(e,t){return t&&t.unshift({}),OCA.Files.FileList.prototype.reloadCallback.call(this,e,t)}}),OCA.SystemTags.FileList=s},function(e,t){OCA.SystemTags=_.extend({},OCA.SystemTags),OCA.SystemTags||(OCA.SystemTags={}),OCA.SystemTags.FilesPlugin={ignoreLists:["trashbin","files.public"],attach:function(e){if(!(this.ignoreLists.indexOf(e.id)>=0)){var t=new OCA.SystemTags.SystemTagsInfoView;e.registerDetailView(t),_.each(e.getRegisteredDetailViews(),(function(e){if(e instanceof OCA.Files.MainFileInfoDetailView){var i=new OCA.SystemTags.SystemTagsInfoViewToggleView({systemTagsInfoView:t});i.render(),i.listenTo(e,"pre-render",(function(){i.$el.detach()})),i.listenTo(e,"post-render",(function(){e.$el.find(".file-details").append(i.$el)}))}}))}}},OC.Plugins.register("OCA.Files.FileList",OCA.SystemTags.FilesPlugin)},function(e,t){!function(e){function t(e){var t=e.toJSON();return OC.isUserAdmin()||t.canAssign||(t.locked=!0),t}var i=e.Files.DetailFileInfoView.extend({_rendered:!1,className:"systemTagsInfoView",name:"systemTags",_inputView:null,initialize:function(e){var i=this;e=e||{},this._inputView=new OC.SystemTags.SystemTagsInputField({multiple:!0,allowActions:!0,allowCreate:!0,isAdmin:OC.isUserAdmin(),initSelection:function(e,s){s(i.selectedTagsCollection.map(t))}}),this.selectedTagsCollection=new OC.SystemTags.SystemTagsMappingCollection([],{objectType:"files"}),this._inputView.collection.on("change:name",this._onTagRenamedGlobally,this),this._inputView.collection.on("remove",this._onTagDeletedGlobally,this),this._inputView.on("select",this._onSelectTag,this),this._inputView.on("deselect",this._onDeselectTag,this)},_onSelectTag:function(e){this.selectedTagsCollection.create(e.toJSON())},_onDeselectTag:function(e){this.selectedTagsCollection.get(e).destroy()},_onTagRenamedGlobally:function(e){var t=this.selectedTagsCollection.get(e.id);t&&t.set(e.toJSON())},_onTagDeletedGlobally:function(e){this.selectedTagsCollection.remove(e)},setFileInfo:function(e){var i=this;this._rendered||this.render(),e&&(this.selectedTagsCollection.setObjectId(e.id),this.selectedTagsCollection.fetch({success:function(e){e.fetched=!0;var s=e.map(t);i._inputView.setData(s),i.show()}})),this.hide()},render:function(){this.$el.append(this._inputView.$el),this._inputView.render()},isVisible:function(){return!this.$el.hasClass("hidden")},show:function(){this.$el.removeClass("hidden")},hide:function(){this.$el.addClass("hidden")},openDropdown:function(){this.$el.find(".systemTagsInputField").select2("open")},remove:function(){this._inputView.remove()}});e.SystemTags.SystemTagsInfoView=i}(OCA)},function(e,i){ /** * * @copyright Copyright (c) 2017, Daniel Calviño Sánchez (danxuliu@gmail.com) diff --git a/apps/systemtags/js/systemtags.js.map b/apps/systemtags/js/systemtags.js.map index 3d95b07e93..8388e9753c 100644 --- a/apps/systemtags/js/systemtags.js.map +++ b/apps/systemtags/js/systemtags.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./apps/systemtags/src/systemtags.js","webpack:///./apps/systemtags/src/app.js","webpack:///./apps/systemtags/src/systemtagsfilelist.js","webpack:///./apps/systemtags/src/filesplugin.js","webpack:///./apps/systemtags/src/systemtagsinfoview.js","webpack:///./apps/systemtags/src/systemtagsinfoviewtoggleview.js","webpack:///./apps/systemtags/src/css/systemtagsfilelist.scss?de55","webpack:///./apps/systemtags/src/css/systemtagsfilelist.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","OCA","SystemTags","App","initFileList","$el","this","_fileList","FileList","id","fileActions","_createFileActions","config","Files","getFilesConfig","shown","appName","removeFileList","$fileList","empty","FileActions","registerDefaultActions","merge","_globalActionsInitialized","_onActionsUpdated","_","on","register","OC","PERMISSION_READ","filename","context","setActiveView","silent","fileList","changeDirectory","joinPaths","$file","attr","setDefault","ev","action","registerAction","defaultAction","mime","destroy","off","$","document","ready","e","target","options","initialize","extend","_systemTagIds","_lastUsedTags","_clientSideSort","_allowSelection","_filterField","apply","arguments","initialized","systemTagIds","Plugins","attach","$controls","find","defer","_getLastUsedTags","_initFilterField","$filterField","remove","self","ajax","type","url","generateUrl","success","response","$container","append","select2","placeholder","allowClear","multiple","toggleSelect","separator","query","_queryTagsAutocomplete","tag","initSelection","element","callback","val","trim","tagIds","split","tags","collection","fetch","each","tagId","isUndefined","push","toJSON","formatResult","getDescriptiveTag","formatSelection","outerHTML","sortResults","results","sort","a","b","aLastUsed","indexOf","bLastUsed","Util","naturalSortCompare","escapeMarkup","formatNoMatches","_onTagsChanged","filterByName","term","invoke","_onUrlChanged","dir","filter","reload","trigger","Event","join","updateEmptyContent","getCurrentDirectory","length","html","toggleClass","isEmpty","getDirectoryPermissions","PERMISSION_DELETE","updateStorageStatistics","_setCurrentDir","setFiles","Deferred","resolve","_selectedFiles","_selectionSummary","clear","_currentFileModel","prop","showMask","_reloadCall","filesClient","getFilteredFiles","properties","_getWebdavProperties","_detailsView","_updateDetailsView","callBack","reloadCallback","then","status","result","unshift","FilesPlugin","ignoreLists","systemTagsInfoView","SystemTagsInfoView","registerDetailView","getRegisteredDetailViews","detailView","MainFileInfoDetailView","systemTagsInfoViewToggleView","SystemTagsInfoViewToggleView","render","listenTo","detach","modelToSelection","model","data","isUserAdmin","canAssign","locked","DetailFileInfoView","_rendered","className","_inputView","SystemTagsInputField","allowActions","allowCreate","isAdmin","selectedTagsCollection","map","SystemTagsMappingCollection","objectType","_onTagRenamedGlobally","_onTagDeletedGlobally","_onSelectTag","_onDeselectTag","changedTag","selectedTagMapping","set","setFileInfo","fileInfo","setObjectId","fetched","appliedTags","setData","show","hide","isVisible","hasClass","removeClass","addClass","openDropdown","Backbone","View","tagName","events","_systemTagsInfoView","template","Error","click","content","locals","add","default","useSourceMap","list","toString","item","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","concat","sourceURLs","sources","source","sourceRoot","cssWithMappingToString","mediaQuery","alreadyImportedModules","_i","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","DEBUG","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","appendChild","obj","update","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","index","replacement","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild"],"mappings":"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","file":"systemtags.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './app'\nimport './systemtagsfilelist'\nimport './filesplugin'\nimport './systemtagsinfoview'\nimport './systemtagsinfoviewtoggleview'\nimport './css/systemtagsfilelist.scss'\n\nwindow.OCA.SystemTags = OCA.SystemTags\n","/*\n * Copyright (c) 2015 Vincent Petry \n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function() {\n\tif (!OCA.SystemTags) {\n\t\t/**\n\t\t * @namespace\n\t\t */\n\t\tOCA.SystemTags = {}\n\t}\n\n\tOCA.SystemTags.App = {\n\n\t\tinitFileList: function($el) {\n\t\t\tif (this._fileList) {\n\t\t\t\treturn this._fileList\n\t\t\t}\n\n\t\t\tthis._fileList = new OCA.SystemTags.FileList(\n\t\t\t\t$el,\n\t\t\t\t{\n\t\t\t\t\tid: 'systemtags',\n\t\t\t\t\tfileActions: this._createFileActions(),\n\t\t\t\t\tconfig: OCA.Files.App.getFilesConfig(),\n\t\t\t\t\t// The file list is created when a \"show\" event is handled,\n\t\t\t\t\t// so it should be marked as \"shown\" like it would have been\n\t\t\t\t\t// done if handling the event with the file list already\n\t\t\t\t\t// created.\n\t\t\t\t\tshown: true\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tthis._fileList.appName = t('systemtags', 'Tags')\n\t\t\treturn this._fileList\n\t\t},\n\n\t\tremoveFileList: function() {\n\t\t\tif (this._fileList) {\n\t\t\t\tthis._fileList.$fileList.empty()\n\t\t\t}\n\t\t},\n\n\t\t_createFileActions: function() {\n\t\t\t// inherit file actions from the files app\n\t\t\tvar fileActions = new OCA.Files.FileActions()\n\t\t\t// note: not merging the legacy actions because legacy apps are not\n\t\t\t// compatible with the sharing overview and need to be adapted first\n\t\t\tfileActions.registerDefaultActions()\n\t\t\tfileActions.merge(OCA.Files.fileActions)\n\n\t\t\tif (!this._globalActionsInitialized) {\n\t\t\t\t// in case actions are registered later\n\t\t\t\tthis._onActionsUpdated = _.bind(this._onActionsUpdated, this)\n\t\t\t\tOCA.Files.fileActions.on('setDefault.app-systemtags', this._onActionsUpdated)\n\t\t\t\tOCA.Files.fileActions.on('registerAction.app-systemtags', this._onActionsUpdated)\n\t\t\t\tthis._globalActionsInitialized = true\n\t\t\t}\n\n\t\t\t// when the user clicks on a folder, redirect to the corresponding\n\t\t\t// folder in the files app instead of opening it directly\n\t\t\tfileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function(filename, context) {\n\t\t\t\tOCA.Files.App.setActiveView('files', { silent: true })\n\t\t\t\tOCA.Files.App.fileList.changeDirectory(OC.joinPaths(context.$file.attr('data-path'), filename), true, true)\n\t\t\t})\n\t\t\tfileActions.setDefault('dir', 'Open')\n\t\t\treturn fileActions\n\t\t},\n\n\t\t_onActionsUpdated: function(ev) {\n\t\t\tif (!this._fileList) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (ev.action) {\n\t\t\t\tthis._fileList.fileActions.registerAction(ev.action)\n\t\t\t} else if (ev.defaultAction) {\n\t\t\t\tthis._fileList.fileActions.setDefault(\n\t\t\t\t\tev.defaultAction.mime,\n\t\t\t\t\tev.defaultAction.name\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Destroy the app\n\t\t */\n\t\tdestroy: function() {\n\t\t\tOCA.Files.fileActions.off('setDefault.app-systemtags', this._onActionsUpdated)\n\t\t\tOCA.Files.fileActions.off('registerAction.app-systemtags', this._onActionsUpdated)\n\t\t\tthis.removeFileList()\n\t\t\tthis._fileList = null\n\t\t\tdelete this._globalActionsInitialized\n\t\t}\n\t}\n\n})()\n\n$(document).ready(function() {\n\t$('#app-content-systemtagsfilter').on('show', function(e) {\n\t\tOCA.SystemTags.App.initFileList($(e.target))\n\t})\n\t$('#app-content-systemtagsfilter').on('hide', function() {\n\t\tOCA.SystemTags.App.removeFileList()\n\t})\n})\n","/*\n * Copyright (c) 2016 Vincent Petry \n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n(function() {\n\t/**\n\t * @class OCA.SystemTags.FileList\n\t * @augments OCA.Files.FileList\n\t *\n\t * @classdesc SystemTags file list.\n\t * Contains a list of files filtered by system tags.\n\t *\n\t * @param {Object} $el container element with existing markup for the #controls and a table\n\t * @param {Array} [options] map of options, see other parameters\n\t * @param {Array.} [options.systemTagIds] array of system tag ids to\n\t * filter by\n\t */\n\tvar FileList = function($el, options) {\n\t\tthis.initialize($el, options)\n\t}\n\tFileList.prototype = _.extend(\n\t\t{},\n\t\tOCA.Files.FileList.prototype,\n\t\t/** @lends OCA.SystemTags.FileList.prototype */ {\n\t\t\tid: 'systemtagsfilter',\n\t\t\tappName: t('systemtags', 'Tagged files'),\n\n\t\t\t/**\n\t\t\t * Array of system tag ids to filter by\n\t\t\t *\n\t\t\t * @type Array.\n\t\t\t */\n\t\t\t_systemTagIds: [],\n\t\t\t_lastUsedTags: [],\n\n\t\t\t_clientSideSort: true,\n\t\t\t_allowSelection: false,\n\n\t\t\t_filterField: null,\n\n\t\t\t/**\n\t\t\t * @private\n\t\t\t * @param {Object} $el container element\n\t\t\t * @param {Object} [options] map of options, see other parameters\n\t\t\t */\n\t\t\tinitialize: function($el, options) {\n\t\t\t\tOCA.Files.FileList.prototype.initialize.apply(this, arguments)\n\t\t\t\tif (this.initialized) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (options && options.systemTagIds) {\n\t\t\t\t\tthis._systemTagIds = options.systemTagIds\n\t\t\t\t}\n\n\t\t\t\tOC.Plugins.attach('OCA.SystemTags.FileList', this)\n\n\t\t\t\tvar $controls = this.$el.find('#controls').empty()\n\n\t\t\t\t_.defer(_.bind(this._getLastUsedTags, this))\n\t\t\t\tthis._initFilterField($controls)\n\t\t\t},\n\n\t\t\tdestroy: function() {\n\t\t\t\tthis.$filterField.remove()\n\n\t\t\t\tOCA.Files.FileList.prototype.destroy.apply(this, arguments)\n\t\t\t},\n\n\t\t\t_getLastUsedTags: function() {\n\t\t\t\tvar self = this\n\t\t\t\t$.ajax({\n\t\t\t\t\ttype: 'GET',\n\t\t\t\t\turl: OC.generateUrl('/apps/systemtags/lastused'),\n\t\t\t\t\tsuccess: function(response) {\n\t\t\t\t\t\tself._lastUsedTags = response\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t_initFilterField: function($container) {\n\t\t\t\tvar self = this\n\t\t\t\tthis.$filterField = $('')\n\t\t\t\t$container.append(this.$filterField)\n\t\t\t\tthis.$filterField.select2({\n\t\t\t\t\tplaceholder: t('systemtags', 'Select tags to filter by'),\n\t\t\t\t\tallowClear: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t\ttoggleSelect: true,\n\t\t\t\t\tseparator: ',',\n\t\t\t\t\tquery: _.bind(this._queryTagsAutocomplete, this),\n\n\t\t\t\t\tid: function(tag) {\n\t\t\t\t\t\treturn tag.id\n\t\t\t\t\t},\n\n\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\tvar val = $(element)\n\t\t\t\t\t\t\t.val()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\tvar tagIds = val.split(',')\n\t\t\t\t\t\t\tvar tags = []\n\n\t\t\t\t\t\t\tOC.SystemTags.collection.fetch({\n\t\t\t\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\t\t\t\t_.each(tagIds, function(tagId) {\n\t\t\t\t\t\t\t\t\t\tvar tag = OC.SystemTags.collection.get(\n\t\t\t\t\t\t\t\t\t\t\ttagId\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\tif (!_.isUndefined(tag)) {\n\t\t\t\t\t\t\t\t\t\t\ttags.push(tag.toJSON())\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t\t\tcallback(tags)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\t\tcallback([])\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\n\t\t\t\t\tformatResult: function(tag) {\n\t\t\t\t\t\treturn OC.SystemTags.getDescriptiveTag(tag)\n\t\t\t\t\t},\n\n\t\t\t\t\tformatSelection: function(tag) {\n\t\t\t\t\t\treturn OC.SystemTags.getDescriptiveTag(tag)[0]\n\t\t\t\t\t\t\t.outerHTML\n\t\t\t\t\t},\n\n\t\t\t\t\tsortResults: function(results) {\n\t\t\t\t\t\tresults.sort(function(a, b) {\n\t\t\t\t\t\t\tvar aLastUsed = self._lastUsedTags.indexOf(a.id)\n\t\t\t\t\t\t\tvar bLastUsed = self._lastUsedTags.indexOf(b.id)\n\n\t\t\t\t\t\t\tif (aLastUsed !== bLastUsed) {\n\t\t\t\t\t\t\t\tif (bLastUsed === -1) {\n\t\t\t\t\t\t\t\t\treturn -1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (aLastUsed === -1) {\n\t\t\t\t\t\t\t\t\treturn 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn aLastUsed < bLastUsed ? -1 : 1\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Both not found\n\t\t\t\t\t\t\treturn OC.Util.naturalSortCompare(a.name, b.name)\n\t\t\t\t\t\t})\n\t\t\t\t\t\treturn results\n\t\t\t\t\t},\n\n\t\t\t\t\tescapeMarkup: function(m) {\n\t\t\t\t\t\t// prevent double markup escape\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tformatNoMatches: function() {\n\t\t\t\t\t\treturn t('systemtags', 'No tags found')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis.$filterField.on(\n\t\t\t\t\t'change',\n\t\t\t\t\t_.bind(this._onTagsChanged, this)\n\t\t\t\t)\n\t\t\t\treturn this.$filterField\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Autocomplete function for dropdown results\n\t\t\t *\n\t\t\t * @param {Object} query select2 query object\n\t\t\t */\n\t\t\t_queryTagsAutocomplete: function(query) {\n\t\t\t\tOC.SystemTags.collection.fetch({\n\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\tvar results = OC.SystemTags.collection.filterByName(\n\t\t\t\t\t\t\tquery.term\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tquery.callback({\n\t\t\t\t\t\t\tresults: _.invoke(results, 'toJSON')\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler for when the URL changed\n\t\t\t *\n\t\t\t * @param {Event} e the urlchanged event\n\t\t\t */\n\t\t\t_onUrlChanged: function(e) {\n\t\t\t\tif (e.dir) {\n\t\t\t\t\tvar tags = _.filter(e.dir.split('/'), function(val) {\n\t\t\t\t\t\treturn val.trim() !== ''\n\t\t\t\t\t})\n\t\t\t\t\tthis.$filterField.select2('val', tags || [])\n\t\t\t\t\tthis._systemTagIds = tags\n\t\t\t\t\tthis.reload()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t_onTagsChanged: function(ev) {\n\t\t\t\tvar val = $(ev.target)\n\t\t\t\t\t.val()\n\t\t\t\t\t.trim()\n\t\t\t\tif (val !== '') {\n\t\t\t\t\tthis._systemTagIds = val.split(',')\n\t\t\t\t} else {\n\t\t\t\t\tthis._systemTagIds = []\n\t\t\t\t}\n\n\t\t\t\tthis.$el.trigger(\n\t\t\t\t\t$.Event('changeDirectory', {\n\t\t\t\t\t\tdir: this._systemTagIds.join('/')\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t\tthis.reload()\n\t\t\t},\n\n\t\t\tupdateEmptyContent: function() {\n\t\t\t\tvar dir = this.getCurrentDirectory()\n\t\t\t\tif (dir === '/') {\n\t\t\t\t\t// root has special permissions\n\t\t\t\t\tif (!this._systemTagIds.length) {\n\t\t\t\t\t\t// no tags selected\n\t\t\t\t\t\tthis.$el\n\t\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\t'
        '\n\t\t\t\t\t\t\t\t\t+ '

        '\n\t\t\t\t\t\t\t\t\t+ t(\n\t\t\t\t\t\t\t\t\t\t'systemtags',\n\t\t\t\t\t\t\t\t\t\t'Please select tags to filter by'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t+ '

        '\n\t\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// tags selected but no results\n\t\t\t\t\t\tthis.$el\n\t\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\t'
        '\n\t\t\t\t\t\t\t\t\t+ '

        '\n\t\t\t\t\t\t\t\t\t+ t(\n\t\t\t\t\t\t\t\t\t\t'systemtags',\n\t\t\t\t\t\t\t\t\t\t'No files found for the selected tags'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t+ '

        '\n\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t.toggleClass('hidden', !this.isEmpty)\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.find('#filestable thead th')\n\t\t\t\t\t\t.toggleClass('hidden', this.isEmpty)\n\t\t\t\t} else {\n\t\t\t\t\tOCA.Files.FileList.prototype.updateEmptyContent.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetDirectoryPermissions: function() {\n\t\t\t\treturn OC.PERMISSION_READ | OC.PERMISSION_DELETE\n\t\t\t},\n\n\t\t\tupdateStorageStatistics: function() {\n\t\t\t\t// no op because it doesn't have\n\t\t\t\t// storage info like free space / used space\n\t\t\t},\n\n\t\t\treload: function() {\n\t\t\t\t// there is only root\n\t\t\t\tthis._setCurrentDir('/', false)\n\n\t\t\t\tif (!this._systemTagIds.length) {\n\t\t\t\t\t// don't reload\n\t\t\t\t\tthis.updateEmptyContent()\n\t\t\t\t\tthis.setFiles([])\n\t\t\t\t\treturn $.Deferred().resolve()\n\t\t\t\t}\n\n\t\t\t\tthis._selectedFiles = {}\n\t\t\t\tthis._selectionSummary.clear()\n\t\t\t\tif (this._currentFileModel) {\n\t\t\t\t\tthis._currentFileModel.off()\n\t\t\t\t}\n\t\t\t\tthis._currentFileModel = null\n\t\t\t\tthis.$el.find('.select-all').prop('checked', false)\n\t\t\t\tthis.showMask()\n\t\t\t\tthis._reloadCall = this.filesClient.getFilteredFiles(\n\t\t\t\t\t{\n\t\t\t\t\t\tsystemTagIds: this._systemTagIds\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tproperties: this._getWebdavProperties()\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\tif (this._detailsView) {\n\t\t\t\t\t// close sidebar\n\t\t\t\t\tthis._updateDetailsView(null)\n\t\t\t\t}\n\t\t\t\tvar callBack = this.reloadCallback.bind(this)\n\t\t\t\treturn this._reloadCall.then(callBack, callBack)\n\t\t\t},\n\n\t\t\treloadCallback: function(status, result) {\n\t\t\t\tif (result) {\n\t\t\t\t\t// prepend empty dir info because original handler\n\t\t\t\t\tresult.unshift({})\n\t\t\t\t}\n\n\t\t\t\treturn OCA.Files.FileList.prototype.reloadCallback.call(\n\t\t\t\t\tthis,\n\t\t\t\t\tstatus,\n\t\t\t\t\tresult\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t)\n\n\tOCA.SystemTags.FileList = FileList\n})()\n","/*\n * Copyright (c) 2015 Vincent Petry \n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function() {\n\tOCA.SystemTags = _.extend({}, OCA.SystemTags)\n\tif (!OCA.SystemTags) {\n\t\t/**\n\t\t * @namespace\n\t\t */\n\t\tOCA.SystemTags = {}\n\t}\n\n\t/**\n\t * @namespace\n\t */\n\tOCA.SystemTags.FilesPlugin = {\n\t\tignoreLists: [\n\t\t\t'trashbin',\n\t\t\t'files.public'\n\t\t],\n\n\t\tattach: function(fileList) {\n\t\t\tif (this.ignoreLists.indexOf(fileList.id) >= 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tvar systemTagsInfoView = new OCA.SystemTags.SystemTagsInfoView()\n\t\t\tfileList.registerDetailView(systemTagsInfoView)\n\n\t\t\t_.each(fileList.getRegisteredDetailViews(), function(detailView) {\n\t\t\t\tif (detailView instanceof OCA.Files.MainFileInfoDetailView) {\n\t\t\t\t\tvar systemTagsInfoViewToggleView\n\t\t\t\t\t\t= new OCA.SystemTags.SystemTagsInfoViewToggleView({\n\t\t\t\t\t\t\tsystemTagsInfoView: systemTagsInfoView\n\t\t\t\t\t\t})\n\t\t\t\t\tsystemTagsInfoViewToggleView.render()\n\n\t\t\t\t\t// The toggle view element is detached before the\n\t\t\t\t\t// MainFileInfoDetailView is rendered to prevent its event\n\t\t\t\t\t// handlers from being removed.\n\t\t\t\t\tsystemTagsInfoViewToggleView.listenTo(detailView, 'pre-render', function() {\n\t\t\t\t\t\tsystemTagsInfoViewToggleView.$el.detach()\n\t\t\t\t\t})\n\t\t\t\t\tsystemTagsInfoViewToggleView.listenTo(detailView, 'post-render', function() {\n\t\t\t\t\t\tdetailView.$el.find('.file-details').append(systemTagsInfoViewToggleView.$el)\n\t\t\t\t\t})\n\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n})()\n\nOC.Plugins.register('OCA.Files.FileList', OCA.SystemTags.FilesPlugin)\n","/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function(OCA) {\n\n\tfunction modelToSelection(model) {\n\t\tvar data = model.toJSON()\n\t\tif (!OC.isUserAdmin() && !data.canAssign) {\n\t\t\tdata.locked = true\n\t\t}\n\t\treturn data\n\t}\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsInfoView\n\t * @classdesc\n\t *\n\t * Displays a file's system tags\n\t *\n\t */\n\tvar SystemTagsInfoView = OCA.Files.DetailFileInfoView.extend(\n\t\t/** @lends OCA.SystemTags.SystemTagsInfoView.prototype */ {\n\n\t\t\t_rendered: false,\n\n\t\t\tclassName: 'systemTagsInfoView hidden',\n\n\t\t\t/**\n\t\t\t * @type OC.SystemTags.SystemTagsInputField\n\t\t\t */\n\t\t\t_inputView: null,\n\n\t\t\tinitialize: function(options) {\n\t\t\t\tvar self = this\n\t\t\t\toptions = options || {}\n\n\t\t\t\tthis._inputView = new OC.SystemTags.SystemTagsInputField({\n\t\t\t\t\tmultiple: true,\n\t\t\t\t\tallowActions: true,\n\t\t\t\t\tallowCreate: true,\n\t\t\t\t\tisAdmin: OC.isUserAdmin(),\n\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\tcallback(self.selectedTagsCollection.map(modelToSelection))\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis.selectedTagsCollection = new OC.SystemTags.SystemTagsMappingCollection([], { objectType: 'files' })\n\n\t\t\t\tthis._inputView.collection.on('change:name', this._onTagRenamedGlobally, this)\n\t\t\t\tthis._inputView.collection.on('remove', this._onTagDeletedGlobally, this)\n\n\t\t\t\tthis._inputView.on('select', this._onSelectTag, this)\n\t\t\t\tthis._inputView.on('deselect', this._onDeselectTag, this)\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was selected\n\t\t\t * @param {Object} tag the tag to create\n\t\t\t */\n\t\t\t_onSelectTag: function(tag) {\n\t\t\t// create a mapping entry for this tag\n\t\t\t\tthis.selectedTagsCollection.create(tag.toJSON())\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag gets deselected.\n\t\t\t * Removes the selected tag from the mapping collection.\n\t\t\t *\n\t\t\t * @param {string} tagId tag id\n\t\t\t */\n\t\t\t_onDeselectTag: function(tagId) {\n\t\t\t\tthis.selectedTagsCollection.get(tagId).destroy()\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was renamed globally.\n\t\t\t *\n\t\t\t * This will automatically adjust the tag mapping collection to\n\t\t\t * container the new name.\n\t\t\t *\n\t\t\t * @param {OC.Backbone.Model} changedTag tag model that has changed\n\t\t\t */\n\t\t\t_onTagRenamedGlobally: function(changedTag) {\n\t\t\t// also rename it in the selection, if applicable\n\t\t\t\tvar selectedTagMapping = this.selectedTagsCollection.get(changedTag.id)\n\t\t\t\tif (selectedTagMapping) {\n\t\t\t\t\tselectedTagMapping.set(changedTag.toJSON())\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was deleted globally.\n\t\t\t *\n\t\t\t * This will automatically adjust the tag mapping collection to\n\t\t\t * container the new name.\n\t\t\t *\n\t\t\t * @param {OC.Backbone.Model} tagId tag model that has changed\n\t\t\t */\n\t\t\t_onTagDeletedGlobally: function(tagId) {\n\t\t\t// also rename it in the selection, if applicable\n\t\t\t\tthis.selectedTagsCollection.remove(tagId)\n\t\t\t},\n\n\t\t\tsetFileInfo: function(fileInfo) {\n\t\t\t\tvar self = this\n\t\t\t\tif (!this._rendered) {\n\t\t\t\t\tthis.render()\n\t\t\t\t}\n\n\t\t\t\tif (fileInfo) {\n\t\t\t\t\tthis.selectedTagsCollection.setObjectId(fileInfo.id)\n\t\t\t\t\tthis.selectedTagsCollection.fetch({\n\t\t\t\t\t\tsuccess: function(collection) {\n\t\t\t\t\t\t\tcollection.fetched = true\n\n\t\t\t\t\t\t\tvar appliedTags = collection.map(modelToSelection)\n\t\t\t\t\t\t\tself._inputView.setData(appliedTags)\n\n\t\t\t\t\t\t\tif (appliedTags.length !== 0) {\n\t\t\t\t\t\t\t\tself.show()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tself.hide()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tthis.hide()\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Renders this details view\n\t\t\t */\n\t\t\trender: function() {\n\t\t\t\tthis.$el.append(this._inputView.$el)\n\t\t\t\tthis._inputView.render()\n\t\t\t},\n\n\t\t\tisVisible: function() {\n\t\t\t\treturn !this.$el.hasClass('hidden')\n\t\t\t},\n\n\t\t\tshow: function() {\n\t\t\t\tthis.$el.removeClass('hidden')\n\t\t\t},\n\n\t\t\thide: function() {\n\t\t\t\tthis.$el.addClass('hidden')\n\t\t\t},\n\n\t\t\topenDropdown: function() {\n\t\t\t\tthis.$el.find('.systemTagsInputField').select2('open')\n\t\t\t},\n\n\t\t\tremove: function() {\n\t\t\t\tthis._inputView.remove()\n\t\t\t}\n\t\t})\n\n\tOCA.SystemTags.SystemTagsInfoView = SystemTagsInfoView\n\n})(OCA)\n","/**\n *\n * @copyright Copyright (c) 2017, Daniel Calviño Sánchez (danxuliu@gmail.com)\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n(function(OCA) {\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsInfoViewToggleView\n\t * @classdesc\n\t *\n\t * View to toggle the visibility of a SystemTagsInfoView.\n\t *\n\t * This toggle view must be explicitly rendered before it is used.\n\t */\n\tvar SystemTagsInfoViewToggleView = OC.Backbone.View.extend(\n\t\t/** @lends OC.Backbone.View.prototype */ {\n\n\t\t\ttagName: 'span',\n\n\t\t\tclassName: 'tag-label',\n\n\t\t\tevents: {\n\t\t\t\t'click': 'click'\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * @type OCA.SystemTags.SystemTagsInfoView\n\t\t\t */\n\t\t\t_systemTagsInfoView: null,\n\n\t\t\ttemplate: function(data) {\n\t\t\t\treturn '' + t('systemtags', 'Tags')\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Initialize this toggle view.\n\t\t\t *\n\t\t\t * The options must provide a systemTagsInfoView parameter that\n\t\t\t * references the SystemTagsInfoView to associate to this toggle view.\n\t\t\t * @param {Object} options options\n\t\t\t */\n\t\t\tinitialize: function(options) {\n\t\t\t\toptions = options || {}\n\n\t\t\t\tthis._systemTagsInfoView = options.systemTagsInfoView\n\t\t\t\tif (!this._systemTagsInfoView) {\n\t\t\t\t\tthrow new Error('Missing required parameter \"systemTagsInfoView\"')\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t * Toggles the visibility of the associated SystemTagsInfoView.\n\t\t *\n\t\t * When the systemTagsInfoView is shown its dropdown is also opened.\n\t\t */\n\t\t\tclick: function() {\n\t\t\t\tif (this._systemTagsInfoView.isVisible()) {\n\t\t\t\t\tthis._systemTagsInfoView.hide()\n\t\t\t\t} else {\n\t\t\t\t\tthis._systemTagsInfoView.show()\n\t\t\t\t\tthis._systemTagsInfoView.openDropdown()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Renders this toggle view.\n\t\t\t *\n\t\t\t * @returns {OCA.SystemTags.SystemTagsInfoViewToggleView} this object.\n\t\t\t */\n\t\t\trender: function() {\n\t\t\t\tthis.$el.html(this.template())\n\n\t\t\t\treturn this\n\t\t\t}\n\n\t\t})\n\n\tOCA.SystemTags.SystemTagsInfoViewToggleView = SystemTagsInfoViewToggleView\n\n})(OCA)\n","// style-loader: Adds some css to the DOM by adding a \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{attrs:{\"method\":\"post\",\"name\":\"login\",\"action\":_vm.OC.generateUrl('login')},on:{\"submit\":_vm.submit}},[_c('fieldset',[(_vm.apacheAuthFailed)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Server side authentication failed!'))),_c('br'),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.t('core', 'Please contact your administrator.'))+\"\\n\\t\\t\\t\")])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.messages),function(message,index){return _c('div',{key:index,staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(message)),_c('br')])}),_vm._v(\" \"),(_vm.internalException)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'An internal error occurred.'))),_c('br'),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.t('core', 'Please try again or contact your administrator.'))+\"\\n\\t\\t\\t\")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"hidden\",attrs:{\"id\":\"message\"}},[_c('img',{staticClass:\"float-spinner\",attrs:{\"alt\":\"\",\"src\":_vm.OC.imagePath('core', 'loading-dark.gif')}}),_vm._v(\" \"),_c('span',{attrs:{\"id\":\"messageText\"}}),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})]),_vm._v(\" \"),_c('p',{staticClass:\"grouptop\",class:{shake: _vm.invalidPassword}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user),expression:\"user\"}],ref:\"user\",attrs:{\"id\":\"user\",\"type\":\"text\",\"name\":\"user\",\"autocomplete\":_vm.autoCompleteAllowed ? 'on' : 'off',\"placeholder\":_vm.t('core', 'Username or email'),\"aria-label\":_vm.t('core', 'Username or email'),\"required\":\"\"},domProps:{\"value\":(_vm.user)},on:{\"change\":_vm.updateUsername,\"input\":function($event){if($event.target.composing){ return; }_vm.user=$event.target.value}}}),_vm._v(\" \"),_c('label',{staticClass:\"infield\",attrs:{\"for\":\"user\"}},[_vm._v(_vm._s(_vm.t('core', 'Username or\temail')))])]),_vm._v(\" \"),_c('p',{staticClass:\"groupbottom\",class:{shake: _vm.invalidPassword}},[_c('input',{ref:\"password\",staticClass:\"password-with-toggle\",attrs:{\"id\":\"password\",\"type\":_vm.passwordInputType,\"name\":\"password\",\"autocomplete\":_vm.autoCompleteAllowed ? 'on' : 'off',\"placeholder\":_vm.t('core', 'Password'),\"aria-label\":_vm.t('core', 'Password'),\"required\":\"\"}}),_vm._v(\" \"),_c('label',{staticClass:\"infield\",attrs:{\"for\":\"password\"}},[_vm._v(_vm._s(_vm.t('Password')))]),_vm._v(\" \"),_c('a',{staticClass:\"toggle-password\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.togglePassword($event)}}},[_c('img',{attrs:{\"src\":_vm.OC.imagePath('core', 'actions/toggle.svg')}})])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"submit-wrapper\"}},[_c('input',{staticClass:\"login primary\",attrs:{\"id\":\"submit-form\",\"type\":\"submit\",\"title\":\"\"},domProps:{\"value\":!_vm.loading ? _vm.t('core', 'Log in') : _vm.t('core', 'Logging in …')}}),_vm._v(\" \"),_c('div',{staticClass:\"submit-icon\",class:{\n\t\t\t\t\t'icon-confirm-white': !_vm.loading,\n\t\t\t\t\t'icon-loading-small': _vm.loading && _vm.invertedColors,\n\t\t\t\t\t'icon-loading-small-dark': _vm.loading && !_vm.invertedColors,\n\t\t\t\t}})]),_vm._v(\" \"),(_vm.invalidPassword)?_c('p',{staticClass:\"warning wrongPasswordMsg\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Wrong username or password.'))+\"\\n\\t\\t\")]):(_vm.userDisabled)?_c('p',{staticClass:\"warning userDisabledMsg\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('lib', 'User disabled'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.throttleDelay && _vm.throttleDelay > 5000)?_c('p',{staticClass:\"warning throttledMsg\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.redirectUrl)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"redirect_url\"},domProps:{\"value\":_vm.redirectUrl}}):_vm._e(),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone\"},domProps:{\"value\":_vm.timezone}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone_offset\"},domProps:{\"value\":_vm.timezoneOffset}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"requesttoken\"},domProps:{\"value\":_vm.OC.requestToken}}),_vm._v(\" \"),(_vm.directLogin)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"direct\",\"value\":\"1\"}}):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=ab2e3b30&scoped=true&\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&id=ab2e3b30&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ab2e3b30\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user),expression:\"user\"}],attrs:{\"id\":\"user\",\"type\":\"text\",\"name\":\"user\",\"placeholder\":_vm.t('core', 'Username or email'),\"aria-label\":_vm.t('core', 'Username or email'),\"required\":\"\"},domProps:{\"value\":(_vm.user)},on:{\"change\":_vm.updateUsername,\"input\":function($event){if($event.target.composing){ return; }_vm.user=$event.target.value}}}),_vm._v(\" \"),_c('label',{staticClass:\"infield\",attrs:{\"for\":\"user\"}},[_vm._v(_vm._s(_vm.t('core', 'Username or\temail')))])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"reset-password-wrapper\"}},[_c('input',{staticClass:\"login primary\",attrs:{\"id\":\"reset-password-submit\",\"type\":\"submit\",\"title\":\"\"},domProps:{\"value\":_vm.t('core', 'Reset password')}}),_vm._v(\" \"),_c('div',{staticClass:\"submit-icon\",class:{\n\t\t\t\t'icon-confirm-white': !_vm.loading,\n\t\t\t\t'icon-loading-small': _vm.loading && _vm.invertedColors,\n\t\t\t\t'icon-loading-small-dark': _vm.loading && !_vm.invertedColors,\n\t\t\t}})]),_vm._v(\" \"),(_vm.message === 'send-success')?_c('p',{staticClass:\"update\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'A password reset message has been sent to the e-mail address of this account. If you do not receive it, check your spam/junk folders or ask your local administrator for help.'))+\"\\n\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'If it is not there ask your local administrator.'))+\"\\n\\t\")]):(_vm.message === 'send-error')?_c('p',{staticClass:\"update warning\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Couldn\\'t send reset email. Please contact your administrator.'))+\"\\n\\t\")]):(_vm.message === 'reset-error')?_c('p',{staticClass:\"update warning\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Password can not be changed. Please contact your administrator.'))+\"\\n\\t\")]):(_vm.message)?_c('p',{staticClass:\"update\",class:{warning: _vm.error}}):_vm._e(),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('abort')}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Back to login'))+\"\\n\\t\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./UpdatePassword.vue?vue&type=template&id=56ebc27f&scoped=true&\"\nimport script from \"./UpdatePassword.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdatePassword.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UpdatePassword.vue?vue&type=style&index=0&id=56ebc27f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56ebc27f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[_c('fieldset',[_c('p',[_c('label',{staticClass:\"infield\",attrs:{\"for\":\"password\"}},[_vm._v(_vm._s(_vm.t('core', 'New password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"id\":\"password\",\"type\":\"password\",\"name\":\"password\",\"required\":\"\",\"placeholder\":_vm.t('core', 'New password')},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})]),_vm._v(\" \"),(_vm.encrypted)?_c('div',{staticClass:\"update\"},[_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proceed),expression:\"proceed\"}],staticClass:\"checkbox\",attrs:{\"id\":\"encrypted-continue\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.proceed)?_vm._i(_vm.proceed,null)>-1:(_vm.proceed)},on:{\"change\":function($event){var $$a=_vm.proceed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.proceed=$$a.concat([$$v]))}else{$$i>-1&&(_vm.proceed=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.proceed=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"encrypted-continue\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'I know what I\\'m doing'))+\"\\n\\t\\t\\t\")])]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"submit-wrapper\"}},[_c('input',{staticClass:\"login primary\",attrs:{\"id\":\"submit\",\"type\":\"submit\",\"title\":\"\"},domProps:{\"value\":!_vm.loading ? _vm.t('core', 'Reset password') : _vm.t('core', 'Resetting password')}}),_vm._v(\" \"),_c('div',{staticClass:\"submit-icon\",class:{\n\t\t\t\t\t'icon-loading-small': _vm.loading && _vm.invertedColors,\n\t\t\t\t\t'icon-loading-small-dark': _vm.loading && !_vm.invertedColors\n\t\t\t\t}})]),_vm._v(\" \"),(_vm.error && _vm.message)?_c('p',{class:{warning: _vm.error}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.message)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=389d2532&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(!_vm.resetPassword && _vm.resetPasswordTarget === '')?_c('div',{key:\"login\"},[_c('LoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"directLogin\":_vm.directLogin,\"messages\":_vm.messages,\"errors\":_vm.errors,\"throttle-delay\":_vm.throttleDelay,\"inverted-colors\":_vm.invertedColors,\"auto-complete-allowed\":_vm.autoCompleteAllowed},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),(_vm.canResetPassword && _vm.resetPasswordLink !== '')?_c('a',{attrs:{\"id\":\"lost-password\",\"href\":_vm.resetPasswordLink}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\")]):(_vm.canResetPassword && !_vm.resetPassword)?_c('a',{attrs:{\"id\":\"lost-password\",\"href\":_vm.resetPasswordLink},on:{\"click\":function($event){$event.preventDefault();_vm.resetPassword = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\")]):_vm._e()],1):(!_vm.loading && _vm.canResetPassword)?_c('div',{key:\"reset\",staticClass:\"login-additional\"},[_c('div',{staticClass:\"lost-password-container\"},[(_vm.resetPassword)?_c('ResetPassword',{attrs:{\"username\":_vm.user,\"reset-password-link\":_vm.resetPasswordLink,\"inverted-colors\":_vm.invertedColors},on:{\"update:username\":function($event){_vm.user=$event},\"abort\":function($event){_vm.resetPassword = false}}}):_vm._e()],1)]):(_vm.resetPasswordTarget !== '')?_c('div',[_c('UpdatePassword',{attrs:{\"username\":_vm.user,\"reset-password-target\":_vm.resetPasswordTarget,\"inverted-colors\":_vm.invertedColors},on:{\"update:username\":function($event){_vm.user=$event},\"done\":_vm.passwordResetFinished}})],1):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright 2019 Christoph Wurst \n *\n * @author 2019 Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport L10n from '../OC/l10n'\nimport OC from '../OC/index'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tOC\n\t\t}\n\t},\n\tmethods: {\n\t\tt: L10n.translate.bind(L10n),\n\t\tn: L10n.translatePlural.bind(L10n)\n\t}\n}\n","/*\n * @copyright 2019 Christoph Wurst \n *\n * @author 2019 Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport { loadState } from '@nextcloud/initial-state'\nimport queryString from 'query-string'\nimport Vue from 'vue'\n\n// eslint-disable-next-line no-unused-vars\nimport OC from './OC/index' // TODO: Not needed but L10n breaks if removed\nimport LoginView from './views/Login.vue'\nimport Nextcloud from './mixins/Nextcloud'\n\nconst query = queryString.parse(location.search)\nif (query.clear === '1') {\n\ttry {\n\t\twindow.localStorage.clear()\n\t\twindow.sessionStorage.clear()\n\t\tconsole.debug('Browser storage cleared')\n\t} catch (e) {\n\t\tconsole.error('Could not clear browser storage', e)\n\t}\n}\n\nVue.mixin(Nextcloud)\n\nconst fromStateOr = (key, orValue) => {\n\ttry {\n\t\treturn loadState('core', key)\n\t} catch (e) {\n\t\treturn orValue\n\t}\n}\n\nconst View = Vue.extend(LoginView)\nnew View({\n\tpropsData: {\n\t\terrors: fromStateOr('loginErrors', []),\n\t\tmessages: fromStateOr('loginMessages', []),\n\t\tredirectUrl: fromStateOr('loginRedirectUrl', undefined),\n\t\tusername: fromStateOr('loginUsername', ''),\n\t\tthrottleDelay: fromStateOr('loginThrottleDelay', 0),\n\t\tinvertedColors: OCA.Theming && OCA.Theming.inverted,\n\t\tcanResetPassword: fromStateOr('loginCanResetPassword', false),\n\t\tresetPasswordLink: fromStateOr('loginResetPasswordLink', ''),\n\t\tautoCompleteAllowed: fromStateOr('loginAutocomplete', true),\n\t\tresetPasswordTarget: fromStateOr('resetPasswordTarget', ''),\n\t\tresetPasswordUser: fromStateOr('resetPasswordUser', ''),\n\t\tdirectLogin: query.direct === '1'\n\t}\n}).$mount('#login')\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/underscore/underscore.js","webpack:///./core/src/OC/legacy-loader.js","webpack:///./core/src/OC/notification.js","webpack:///./core/src/OC/xhr-error.js","webpack:///./core/src/OC/appconfig.js","webpack:///./core/src/OC/appswebroots.js","webpack:///./core/src/OC/backbone-webdav.js","webpack:///./core/src/OC/backbone.js","webpack:///./core/src/OC/config.js","webpack:///./core/src/OC/currentuser.js","webpack:///./core/src/OC/dialogs.js","webpack:///./core/src/OC/eventsource.js","webpack:///./core/src/OC/capabilities.js","webpack:///./core/src/OC/menu.js","webpack:///./core/src/OC/admin.js","webpack:///./core/src/OC/msg.js","webpack:///./core/src/OC/search.js","webpack:///./core/src/OC/theme.js","webpack:///./core/src/OC/util.js","webpack:///./core/src/OC/util-history.js","webpack:///./core/src/OC/debug.js","webpack:///./core/src/OC/webroot.js","webpack:///./core/src/OC/get_set.js","webpack:///./core/src/OC/index.js","webpack:///./core/src/OC/appsettings.js","webpack:///./core/src/OC/host.js","webpack:///./core/src/OC/plugins.js","webpack:///./core/src/OC/navigation.js","webpack:///./core/src/OC/constants.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/well-known-symbol.js","webpack:///./core/src/OC/routing.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/global.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/fails.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/global.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/fails.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/hide.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/utils.js","webpack:///./node_modules/backbone/backbone.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-define-property.js","webpack:///./core/src/OC/l10n-registry.js","webpack:///./core/src/OC/l10n.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/is-object.js","webpack:///./core/src/OCP/appconfig.js","webpack:///./node_modules/dompurify/dist/purify.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/global.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/global.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/export.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/well-known-symbol.js","webpack:///./core/src/OC/requesttoken.js","webpack:///./node_modules/@nextcloud/paths/dist/index.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/global.js","webpack:///./core/src/OCA/index.js","webpack:///./node_modules/handlebars/runtime.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/export.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/iterators.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/hide.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/exception.js","webpack:///./node_modules/@nextcloud/event-bus/dist/index.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/fails.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/shared.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/shared.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/fails.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars.runtime.js","webpack:///./node_modules/escape-html/index.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/uid.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/bind-context.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-create.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/a-function.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/fails.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/has.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///./core/src/OC/query-string.js","webpack:///./core/src/OC/apps.js","webpack:///./node_modules/davclient.js/lib/client.js","webpack:///./core/src/OC/password-confirmation.js","webpack:///./core/src/Util/human-file-size.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/hide.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/shared.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/hide.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/shared.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/internal-metadata.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/iterate.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/classof.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/dom-iterables.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/uid.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/sloppy-array-method.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/base.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-SG.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./core/src/OC/contactsmenu.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/shared.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@nextcloud/axios/dist/client.js","webpack:///./node_modules/jstimezonedetect/dist/jstz.min.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/uid.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/event-bus/dist/ProxyBus.js","webpack:///./node_modules/@nextcloud/event-bus/dist/SimpleBus.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/path.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/create-property.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/a-function.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/sloppy-array-method.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/html.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/es.map.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/collection.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/freezing.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/set-species.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/@nextcloud/event-bus/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/path.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/create-property.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/bind-context.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/@nextcloud/paths/node_modules/core-js/internals/species-constructor.js","webpack:///./core/src/OC/contactsmenu/contact.handlebars","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/each.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/if.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/log.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/with.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/decorators.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/logger.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/safe-string.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/runtime.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/no-conflict.js","webpack:///./core/src/OC/contactsmenu/loading.handlebars","webpack:///./core/src/OC/contactsmenu/error.handlebars","webpack:///./core/src/OC/contactsmenu/menu.handlebars","webpack:///./core/src/OC/contactsmenu/list.handlebars","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/uid.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/initial-state/dist/index.js","webpack:///./node_modules/process/browser.js","webpack:///./core/src/components/login/ResetPassword.vue?6fca","webpack:///./core/src/components/login/UpdatePassword.vue?9410","webpack:///./core/src/views/Login.vue?7150","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/export.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/path.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/create-property.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@nextcloud/initial-state/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/export.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/uid.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/path.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/@nextcloud/axios/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/node_modules/is-buffer/index.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/@nextcloud/auth/dist/index.js","webpack:///./node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/export.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/path.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/bind-context.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/a-function.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@nextcloud/auth/node_modules/core-js/internals/sloppy-array-method.js","webpack:///./node_modules/@nextcloud/auth/dist/user.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/strict-uri-encode/index.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/decode-uri-component/index.js","webpack:///./core/src/components/login/ResetPassword.vue?e1fa","webpack:///./core/src/components/login/ResetPassword.vue?a327","webpack:///./core/src/components/login/UpdatePassword.vue?c6b6","webpack:///./core/src/components/login/UpdatePassword.vue?d1af","webpack:///./core/src/views/Login.vue?511e","webpack:///./core/src/views/Login.vue?6ba7","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./core/src/components/login/LoginForm.vue","webpack:///core/src/components/login/LoginForm.vue","webpack:///./core/src/components/login/LoginForm.vue?bde2","webpack:///./core/src/components/login/ResetPassword.vue?fa47","webpack:///core/src/components/login/ResetPassword.vue","webpack:///./core/src/components/login/ResetPassword.vue","webpack:///./core/src/components/login/ResetPassword.vue?6bdc","webpack:///core/src/components/login/UpdatePassword.vue","webpack:///./core/src/components/login/UpdatePassword.vue?eb3d","webpack:///./core/src/views/Login.vue?912c","webpack:///core/src/views/Login.vue","webpack:///./core/src/components/login/UpdatePassword.vue","webpack:///./core/src/components/login/UpdatePassword.vue?4ad6","webpack:///./core/src/views/Login.vue","webpack:///./core/src/views/Login.vue?e387","webpack:///./core/src/mixins/Nextcloud.js","webpack:///./core/src/login.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","factory","window","this","noGlobal","arr","slice","concat","push","indexOf","class2type","toString","hasOwn","support","document","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","isArraylike","obj","length","type","isWindow","nodeType","jquery","constructor","toArray","num","pushStack","elems","ret","merge","prevObject","each","callback","args","map","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","isArray","undefined","expando","Math","random","replace","isReady","error","msg","Error","noop","Array","isNumeric","parseFloat","isEmptyObject","globalEval","code","script","indirect","eval","trim","createElement","text","head","appendChild","parentNode","removeChild","camelCase","string","nodeName","toLowerCase","makeArray","results","inArray","second","grep","invert","matches","callbackExpect","arg","guid","proxy","tmp","now","Date","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","MAX_NEGATIVE","pop","push_native","list","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","childNodes","e","els","seed","match","groups","old","nid","newContext","newSelector","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","getAttribute","setAttribute","toSelector","testContext","join","querySelectorAll","qsaError","removeAttribute","keys","cache","cacheLength","shift","markFunction","assert","div","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","parent","doc","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative","dir","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","matcher","unmatched","innerText","lang","elemLang","hash","location","activeElement","hasFocus","href","tabIndex","disabled","checked","selected","selectedIndex","radio","checkbox","file","password","image","submit","reset","tokens","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","token","compiled","div1","defaultValue","unique","isXMLDoc","rneedsContext","needsContext","rsingleTag","risSimple","winnow","qualifier","not","self","is","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","next","prev","sibling","until","truncate","has","targets","closest","pos","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","reverse","readyList","rnotwhite","optionsCache","completed","removeEventListener","Callbacks","flag","createOptions","memory","fired","firing","firingStart","firingLength","firingIndex","stack","once","fire","data","stopOnFalse","disable","remove","empty","lock","locked","fireWith","Deferred","func","tuples","state","promise","always","deferred","fail","then","fns","newDefer","tuple","returned","resolve","reject","progress","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","remaining","updateFunc","values","notifyWith","resolveWith","readyWait","holdReady","hold","wait","triggerHandler","off","readyState","setTimeout","access","chainable","emptyGet","raw","bulk","Data","uid","acceptData","owner","accepts","descriptor","unlock","defineProperties","set","prop","stored","camel","hasData","discard","data_priv","data_user","rbrace","rmultiDash","dataAttr","parseJSON","removeData","_data","_removeData","camelKey","queue","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","cssExpand","isHidden","el","css","rcheckableType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","focusinBubbles","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","event","types","handleObjIn","eventHandle","events","handleObj","special","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","trigger","onlyHandlers","bubbleType","ontype","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","button","props","fixHooks","keyHooks","original","which","charCode","keyCode","mouseHooks","eventDoc","body","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","load","focus","blur","click","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","timeStamp","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","relatedTarget","attaches","on","one","origFn","rxhtmlTag","rtagName","rhtml","rnoInnerhtml","rchecked","rscriptType","rscriptTypeMasked","rcleanScript","wrapMap","option","thead","col","tr","td","manipulationTarget","content","disableScript","restoreScript","setGlobalEval","refElements","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","getAll","optgroup","tbody","tfoot","colgroup","caption","th","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","buildFragment","scripts","selection","wrap","fragment","nodes","createTextNode","cleanData","append","domManip","prepend","insertBefore","before","after","keepData","html","replaceWith","replaceChild","detach","hasScripts","iNoClone","_evalUrl","appendTo","prependTo","insertAfter","replaceAll","insert","iframe","elemdisplay","actualDisplay","style","display","getDefaultComputedStyle","defaultDisplay","write","close","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","pixelPositionVal","boxSizingReliableVal","container","computePixelPositionAndBoxSizingReliable","cssText","divStyle","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","reliableMarginRight","marginDiv","marginRight","swap","rdisplayswap","rnumsplit","rrelNum","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","vendorPropName","capName","origName","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","showHide","show","hidden","Tween","easing","cssHooks","opacity","cssNumber","cssProps","margin","padding","border","prefix","suffix","expand","expanded","parts","hide","toggle","unit","propHooks","run","percent","eased","duration","step","tween","fx","linear","swing","cos","PI","fxNow","timerId","rfxtypes","rfxnum","rrun","animationPrefilters","opts","oldfire","anim","dataShow","unqueued","overflow","overflowX","overflowY","createTween","tweeners","scale","maxIterations","createFxNow","genFx","includeWidth","height","animation","collection","Animation","properties","stopped","tick","currentTime","startTime","tweens","specialEasing","originalProperties","originalOptions","gotoEnd","rejectWith","propFilter","timer","complete","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","bool","nodeHook","propName","attrNames","propFix","rfocusable","removeProp","hasAttribute","rclass","addClass","classes","clazz","finalValue","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","hover","fnOver","fnOut","unbind","delegate","undelegate","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rnoContent","rprotocol","rurl","prefilters","transports","allTypes","ajaxLocation","ajaxLocParts","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","processData","async","contentType","json","responseFields","converters","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","fireGlobals","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","mimeType","status","abort","statusText","finalText","success","method","crossDomain","param","traditional","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","unwrap","visible","r20","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","v","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrId","xhrCallbacks","xhrSuccessStatus","0","1223","xhrSupported","cors","open","username","xhrFields","onload","onerror","responseText","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","getWindow","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","left","using","win","box","getBoundingClientRect","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","size","andSelf","_jQuery","_$","$","noConflict","w","hookCallback","some","isObject","isUndefined","isNumber","isDate","res","hasOwnProp","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","momentProperties","copyConfig","from","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","absFloor","number","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","deprecations","deprecateSimple","Function","mergeConfigs","parentConfig","childConfig","Locale","aliases","addUnitAlias","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","pow","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","ordinal","localeData","formatMoment","expandFormat","array","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","regexEscape","p1","p2","p3","p4","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","modMonth","x","mod","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","defaultLocaleMonthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","day","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","weekYear","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","untruncateYear","yearStr","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","monthStr","dayStr","hourStr","minuteStr","secondStr","parsedArray","weekdayStr","parsedInput","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","millisecond","configFromObject","configFromInput","isUTC","getOwnPropertyNames","k","isObjectEmpty","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","isDurationValid","_milliseconds","_days","_months","_bubble","isDuration","absRound","round","separator","utcOffset","sign","offsetFromString","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","diffRes","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","addSubtract","isAdding","invalid","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","toObject","toDate","toISOString","keepOffset","zone","toJSON","unix","creationData","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","field","listMonthsImpl","out","listWeekdaysImpl","localeSorted","_calendar","_longDateFormat","formatUpper","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","root","previousUnderscore","ArrayProto","ObjProto","SymbolProto","nativeIsArray","nativeKeys","nativeCreate","Ctor","_wrapped","VERSION","builtinIteratee","optimizeCb","argCount","accumulator","cb","iteratee","identity","Infinity","restArguments","startIndex","rest","baseCreate","shallowProperty","path","deepGet","MAX_ARRAY_INDEX","getLength","isArrayLike","collect","currentKey","createReduce","reducer","memo","initial","reduce","foldl","inject","reduceRight","foldr","detect","predicate","findIndex","findKey","negate","every","any","includes","include","item","fromIndex","guard","invoke","contextPath","pluck","where","findWhere","lastComputed","shuffle","sample","rand","sortBy","criteria","right","group","behavior","partition","groupBy","indexBy","countBy","reStrSymbol","isString","pass","take","tail","drop","compact","Boolean","flatten","shallow","isArguments","without","otherArrays","difference","uniq","isSorted","isBoolean","seen","union","arrays","intersection","argsLength","unzip","zip","createPredicateIndexFinder","findLastIndex","sortedIndex","low","mid","createIndexFinder","predicateFind","lastIndexOf","range","chunk","executeBound","sourceFunc","boundFunc","callingContext","TypeError","bound","callArgs","partial","boundArgs","placeholder","bindAll","memoize","hasher","address","throttle","previous","later","leading","throttled","trailing","cancel","debounce","immediate","debounced","callNow","wrapper","compose","times","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","collectNonEnumProps","nonEnumIdx","allKeys","mapObject","pairs","functions","methods","createAssigner","keysFunc","extendOwn","assign","deepEq","keyInObj","pick","omit","tap","interceptor","isMatch","aStack","bStack","areArrays","aCtor","bCtor","isEqual","isEmpty","isElement","nodelist","Int8Array","isSymbol","isNull","constant","propertyOf","accum","escapeMap","unescapeMap","createEscaper","escaper","testRegexp","replaceRegexp","escape","unescape","fallback","idCounter","uniqueId","templateSettings","evaluate","interpolate","noMatch","escapes","escapeRegExp","escapeChar","template","oldSettings","render","variable","chain","instance","_chain","chainResult","mixin","loadedScripts","loadedStyles","updatableNotification","getDefaultNotificationFunction","setDefault","$row","toastify","hideToast","showHtml","isHTML","toast","OCP","Toast","message","toastElement","showUpdate","showTemporary","ajaxConnectionLostHandler","Notification","appConfig","oc_appconfig","AppConfig","getValue","app","setValue","getApps","getKeys","deleteKey","appswebroots","_oc_appswebroots","methodMap","update","patch","delete","read","parsePropFindResult","davProperties","subResult","propStat","propKey","parseIdFromLocation","queryPos","isSuccessStatus","callPropPatch","client","propPatch","changedProp","convertModelAttributesToDavProperties","changed","Backbone","VendorBackbone","davCall","dav","Client","baseUrl","xmlNamespaces","resolveUrl","OC","requestToken","propFind","depth","propsMapping","callPropFind","request","callMkCol","responseJson","locationHeader","callMethod","davSync","isCollection","Collection","hasInnerCollection","usePUT","urlError","stringify","textStatus","errorThrown","_oc_config","rawUid","displayName","currentUser","Dialogs","YES_NO_BUTTONS","OK_BUTTONS","FILEPICKER_TYPE_CHOOSE","FILEPICKER_TYPE_MOVE","FILEPICKER_TYPE_COPY","FILEPICKER_TYPE_COPY_MOVE","dialogsCounter","alert","title","modal","OK_BUTTON","info","confirm","confirmHtml","prompt","_getMessageTemplate","$tmpl","dialogName","dialogId","$dlg","octemplate","dialog_name","label","buttonlist","ocdialog","defaultButton","closeOnEscape","buttons","filepicker","multiselect","mimetypeFilter","sortField","loading","emptyText","newText","filesClient","OCA","Sharing","PublicApp","fileList","Files","getClient","filelist","allowDirectoryChooser","_getFilePickerTemplate","$filePicker","emptytext","newtext","nameCol","sizeCol","modifiedCol","Util","isIE","$showGridView","_onGridviewChange","_getGridSettings","newButton","registerMenu","$input","$form","newName","lastPos","selectRange","filename","isFileNameValid","tooltip","placement","checkInput","newname","createDirectory","_fillFilePicker","hideMenus","keypress","$fileListHeader","$filelist","$filelistContainer","$dirTree","_handleTreeListSelect","_handlePickerClick","functionToCall","returnType","datapath","element","selectedName","buttonEnableDisable","dialogType","allowHtml","escapeFunction","_fileexistsshown","fileexists","replacement","controller","dialogDeferred","crop","img","canvas","getContext","drawImage","resampleHermite","toDataURL","H","W2","H2","getImageData","img2","data2","ratio_w","ratio_h","ratio_w_half","ratio_h_half","x2","weight","weights","weights_alpha","gx_r","gx_g","gx_b","gx_a","center_y","dy","center_x","w0","xx","dx","sqrt","clearRect","putImageData","addConflict","$conflicts","$conflict","$originalDiv","$replacementDiv","humanFileSize","formatDate","mtime","lastModifiedDate","directory","urlSpec","forceIcon","previewpath","generatePreviewUrl","FileReader","reader","blob","Blob","URL","webkitURL","originalUrl","createObjectURL","Image","readAsArrayBuffer","getCroppedPreview","MimeType","getIconUrl","checkboxId","_getFileExistsTemplate","allnewfiles","allexistingfiles","why","onCancel","onContinue","closeButton","$primaryButton","updatePrimaryButton","checkedCount","$checkbox","generateUrl","gridview","post","$filePickerTemplate","filePath","tmpl","$listTmpl","$messageTemplate","$fileexistsTemplate","_getFileList","mimetypes","getFolderContents","files","mimetype","Comparators","fileInfo1","fileInfo2","naturalSortCompare","comparator","file1","file2","isFavorite","fileInfo","tags","TAG_FAVORITE","_fillSlug","entry","simpleSize","sizeColor","icon","filename1","filename2","relativeModifiedDate","previewUrl","$template","paths","getOcDialog","_changeButtonsText","$element","ctrlKey","copyText","folder","moveText","OCEventSource","joinChar","dataStr","typelessListeners","closed","listeners","getToken","useFallBack","EventSource","iframeId","iframeCount","fallBackSources","onmessage","listen","fallBackCallBack","lastLength","capabilities","_oc_capabilities","getCapabilities","currentMenu","lastMenu","menuSpeed","isAdmin","_oc_isadmin","startSaving","startAction","finishedSaving","finishedAction","finishedSuccess","finishedError","search","query","Search","customResults","resultTypes","theme","_theme","chunkify","tz","History","_handlers","_pushState","strParams","buildQueryString","history","pushState","pathname","navigator","userAgent","patterns","fill","stroke","replaceState","_cancelPop","addOnPopStateHandler","_parseHashQuery","_decodeQuery","parseUrlQuery","parseQueryString","_onPopState","computerFileSize","bytes","timestamp","moment","getScrollBarWidth","_scrollBarWidth","inner","outer","w1","w2","clientWidth","stripTime","aa","bb","aNum","Number","bNum","localeCompare","getLanguage","waitFor","internalCallback","isCookieSetToValue","cookies","cookie","debug","_oc_debug","webroot","_oc_webroot","coreApps","PERMISSION_ALL","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_NONE","PERMISSION_READ","PERMISSION_SHARE","PERMISSION_UPDATE","fileIsBlacklisted","Config","blacklist_files_regex","addScript","addStyle","createStyleSheet","Apps","appSettings","appid","scriptName","popup","arrowclass","loadJS","scriptname","jqxhr","ContactsMenu","dialogs","getCurrentUser","isUserAdmin","L10N","_ajaxConnectionLostHandler","_processAjaxError","_reloadCalled","_userIsNavigatingAway","reload","registerXHRForErrorProcessing","_capabilities","$toggle","$menuEl","headerMenu","isClickableElement","showMenu","unregisterMenu","basename","encodePath","dirname","isSamePath","joinPaths","getHost","host","getHostName","hostname","getPort","port","getProtocol","protocol","getCanonicalLocale","addTranslations","PasswordConfirmation","Plugins","_plugins","register","targetName","plugin","plugins","getPlugins","attach","targetObject","getRootPath","imagePath","redirect","targetURL","getRequestToken","linkTo","linkToOCS","linkToRemote","linkToRemoteBase","subscribe","shared","NATIVE_SYMBOL","store","service","allOptions","_build","vars","modRewriteWorking","isCore","link","substring","encodeURI","it","globalThis","O","g","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","escapeExpression","toHTML","possible","badChars","createFrame","frame","_parent","blockParams","ids","appendContextPath","chr","previousBackbone","emulateHTTP","emulateJSON","_listening","Events","eventSplitter","eventsApi","_events","onApi","ctx","listening","_listeners","interop","listenTo","_listenId","listeningTo","_listeningTo","Listening","tryCatchOn","offApi","stopListening","_callback","cleanup","onceMap","listenToOnce","offer","triggerApi","objEvents","allEvents","triggerEvents","ev","a1","a2","a3","listener","Model","preinitialize","cid","cidPrefix","initialize","validationError","idAttribute","sync","_validate","unset","silent","changes","changing","_changing","_previousAttributes","_pending","clear","hasChanged","changedAttributes","previousAttributes","fetch","resp","serverAttrs","wrapError","save","validate","isNew","destroy","models","_reset","setOptions","addOptions","at","singular","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sortable","sortAttr","existing","_prepareModel","_addReference","orderChanged","_removeReference","previousModels","_byId","modelId","callbackOpts","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","entries","ITERATOR_KEYSVALUES","_onModelEvent","prevId","$$iterator","iterator","kind","_collection","_kind","_index","View","viewOptions","_ensureElement","delegateEventSplitter","tagName","$el","_removeElement","setElement","undelegateEvents","_setElement","delegateEvents","eventName","_createElement","_setAttributes","addUnderscoreMethods","Class","attribute","defaultVal","addMethod","modelMatcher","Base","mappings","_method","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","route","isRegExp","_routeToRegExp","router","_extractParameters","execute","navigate","optional","decodeURIComponent","checkUrl","routeStripper","rootStripper","pathStripper","started","atRoot","getSearch","matchRoot","decodeFragment","decodeURI","getHash","getPath","getFragment","_usePushState","_wantsHashChange","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","_hasPushState","rootPath","iWindow","contentWindow","_checkUrlInterval","loadUrl","detachEvent","decodedFragment","_updateHash","protoProps","staticProps","child","__super__","isBuffer","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isFile","isBlob","isStream","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","assignValue","deepMerge","thisArg","str","IE8_DOM_DEFINE","anObject","toPrimitive","nativeDefineProperty","P","Attributes","_oc_l10n_registry_translations","_oc_l10n_registry_plural_functions","registerAppTranslations","appId","translations","pluralFunction","hasAppTranslations","getAppTranslations","L10n","appName","pluralForm","bundle","_getPlural","_unregister","translate","translation","DOMPurify","sanitize","escapeHTML","translatePlural","textSingular","textPlural","plural","language","Handlebars","registerHelper","fails","endpoint","requiresPasswordConfirmation","requirePasswordConfirmation","freeze$1","freeze","svg","svgFilters","mathMl","freeze$2","html$1","svg$1","mathMl$1","setPrototypeOf","apply$1","Reflect","addToSet","lcElement","newObject","thisValue","seal","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","_typeof","_toConsumableArray","arr2","arraySlice","getGlobal","_createTrustedTypesPolicy","trustedTypes","createPolicy","currentScript","policyName","createHTML","html$$1","createDOMPurify","isSupported","originalDocument","useDOMParser","removeTitle","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","Text","Comment","TrustedTypes","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","importNode","createHTMLDocument","MUSTACHE_EXPR$$1","ERB_EXPR$$1","DATA_ATTR$$1","ARIA_ATTR$$1","IS_SCRIPT_OR_DATA$$1","ATTR_WHITESPACE$$1","IS_ALLOWED_URI$$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_JQUERY","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_DOM_IMPORT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","CONFIG","formElement","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","table","_forceRemove","outerHTML","_removeAttribute","_initDocument","dirty","leadingWhitespace","querySelector","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","FILTER_ACCEPT","_isNode","_executeHook","entryPoint","currentNode","hook","_sanitizeElements","elm","namespaceURI","allowedTags","insertAdjacentHTML","htmlToInsert","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","idAttr","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","_attr","setAttributeNS","_sanitizeShadowDOM","shadowNode","shadowIterator","nextNode","importedNode","oldNode","returnNode","toStaticHTML","nodeIterator","serializedHTML","setConfig","clearConfig","isValidAttribute","addHook","hookFunction","removeHook","removeHooks","removeAllHooks","getOwnPropertyDescriptor","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","toInteger","setToken","newToken","emit","_len","_key","nonEmptyArgs","lastArg","leadingSlash","trailingSlash","sections","acc","section","path1","path2","pathSections1","pathSections2","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","errorProps","Exception","loc","line","column","captureStackTrace","lineNumber","nop","unsubscribe","_ProxyBus","_SimpleBus","bus","_eventBus","_nc_event_bus","ProxyBus","SimpleBus","bitmap","configurable","writable","IndexedObject","requireObjectCoercible","IS_PURE","copyright","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","classof","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","re","_interopRequireDefault","_interopRequireWildcard","newObj","_handlebarsSafeString2","_handlebarsException2","Utils","runtime","_handlebarsNoConflict2","hb","HandlebarsEnvironment","SafeString","VM","spec","inst","matchHtmlRegExp","charCodeAt","PREFERRED_STRING","postfix","aFunction","enumBugKeys","documentCreateElement","IE_PROTO","Empty","createDict","iframeDocument","lt","F","Properties","createIteratorConstructor","getPrototypeOf","setToStringTag","wellKnownSymbol","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","TAG","SPECIES","METHOD_NAME","foo","useSourceMap","cssMapping","btoa","sourceMapping","sourceMap","base64","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","alreadyImportedModules","listToStyles","parentId","newStyles","part","media","hasDocument","DEBUG","stylesInDom","singletonElement","singletonCounter","isProduction","ssrIdKey","isOldIE","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","createStyleElement","styleElement","styleIndex","applyToSingletonTag","applyToTag","textStore","replaceText","styleSheet","cssNode","ssrId","queryString","components","build","dynamicSlideToggleEnabled","enableDynamicSlideToggle","registerAppsSlideToggle","areaSelector","area","hideArea","showArea","_XML_CHAR_MAP","_escapeXml","ch","userName","parseClarkNotation","_renderPropSet","propValue","mkcol","responseType","xhrProvider","upload","onProgress","Promise","fulfill","onreadystatechange","resultBody","parseMultiStatus","ontimeout","_parsePropNode","propNode","subNodes","xmlBody","resolver","responseIterator","XPathResult","ANY_TYPE","responseNode","iterateNext","stringValue","propStatIterator","propStatNode","propIterator","localName","baseParts","parseUrl","subString","scheme","propertyName","pageLoadTime","serverTimeDiff","nc_pageLoad","timeSinceLogin","nc_lastLogin","backendAllowsPasswordConfirmation","rejectCallback","_confirmPassword","$dialog","$error","$buttons","lastLogin","skipSmallSizes","humanList","order","log","readableFormat","relativeSize","toLocaleString","propertyIsEnumerableModule","toIndexedObject","nativeGetOwnPropertyDescriptor","EXISTS","feature","detection","normalize","POLYFILL","NATIVE","originalArray","C","toLength","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","$forEach","sloppyArrayMethod","addToUnscopables","defineIterator","setInternalState","iterated","Arguments","PrototypeOfArrayIteratorPrototype","arrayIterator","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","aPossiblePrototype","CORRECT_SETTER","__proto__","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","isArrayIteratorMethod","getIteratorMethod","callWithSafeIterationClosing","Result","iterable","AS_ENTRIES","IS_ITERATOR","iterFn","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","Constructor","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","webpackPolyfill","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","regexp","arg2","forceStringMethod","stringMethod","regexMethod","S","unicode","R","_utils","_exception2","_helpers","_decorators","_logger2","COMPILER_REVISION","LAST_COMPATIBLE_COMPILER_REVISION","REVISION_CHANGES","1","2","3","4","5","6","7","8","helpers","partials","decorators","registerDefaultHelpers","registerDefaultDecorators","logger","unregisterHelper","registerPartial","unregisterPartial","registerDecorator","unregisterDecorator","_helpersBlockHelperMissing2","_helpersEach2","_helpersHelperMissing2","_helpersIf2","_helpersLog2","_helpersLookup2","_helpersWith2","moveHelperToHooks","helperName","keepHelper","symbolMap","numberMap","plurals","pluralize","weekdaysParseExact","suffixes","70","80","20","50","100","9","10","30","60","90","relativeTimeWithPlural","forms","standalone","lastDigit","last2Digits","relativeTimeWithMutation","mutationTable","softMutation","mutation","lastNumber","monthsParseExact","ll","lll","llll","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","40","isUpper","eifelerRegelAppliesToNumber","translateSingular","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","12","13","numbersNouns","numberNoun","hundred","ten","word","numberAsNoun","processHoursFunction","Contact","fullName","lastMessage","actions","hasOneAction","hasTwoActions","hasManyActions","ContactCollection","ContactsListView","_subViews","contact","ContactsListItemView","_onChildActionMenuToggle","$src","view","_template","_model","_actionMenuShown","contactTemplate","require","_onOtherActionMenuOpened","imageplaceholder","_onToggleActionsMenu","ContactsMenuView","_loadingTemplate","_errorTemplate","_contentTemplate","_contactsTemplate","_contacts","_searchTerm","templates","menu","_onSearch","searchTerm","loadingTemplate","errorTemplate","couldNotLoadText","contentTemplate","searchContactsText","contactsTemplate","noContactsFoundText","showAllContactsText","contactsAppMgmtText","showLoading","loadingText","showError","showContacts","viewData","contacts","contactsAppEnabled","contactsAppURL","canInstallApp","contactsAppMgmtURL","searchVal","_$trigger","_view","_contactsPromise","_loadContacts","_toggleVisibility","_getContacts","term","catch","createNonEnumerableProperty","default","_axios","_auth","requesttoken","cancelableClient","CancelToken","isCancel","onRequestTokenUpdate","DAY","BASELINE_YEAR","MAX_SCORE","AMBIGUITIES","A","rules","olson","dst_rules","zones","determine","Intl","DateTimeFormat","resolvedOptions","timeZone","timezones","using_intl","needle","offsets","jstz","_defineProperties","packageJson","_classCallCheck","getVersion","Map","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","nativePropertyIsEnumerable","NASHORN_BUG","V","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","internalObjectKeys","toAbsoluteIndex","IS_INCLUDES","integer","propertyKey","$filter","UNSCOPABLES","ArrayPrototype","objectKeys","collectionStrong","InternalMetadataModule","iterate","anInstance","checkCorrectnessOfIteration","inheritIfRequired","CONSTRUCTOR_NAME","common","IS_WEAK","NativeConstructor","NativePrototype","ADDER","exported","fixMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","preventExtensions","ENTRIES","returnMethod","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","Wrapper","NewTarget","NewTargetPrototype","redefineAll","setSpecies","internalStateGetterFor","define","getEntry","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","point","CONVERT_TO_STRING","codeAt","DOMIterables","COLLECTION_NAME","CollectionPrototype","ArrayIteratorMethods","ArrayValues","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","$map","$reduce","IS_RIGHT","argumentsLength","ignoreCase","multiline","dotAll","sticky","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","maybeCallNative","searchValue","replaceValue","replacer","rx","functionalReplace","fullUnicode","accumulatedResult","nextSourcePosition","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","capture","speciesConstructor","callRegExpExec","arrayPush","SUPPORTS_Y","SPLIT","nativeSplit","internalSplit","lim","lastLastIndex","separatorCopy","splitter","unicodeMatching","q","z","MATCH","defaultConstructor","depth0","stack1","alias2","lambda","alias3","avatar","topAction","hyperlink","secondAction","nullContext","program","helper","helperMissing","alias5","alias4","inverse","_exception","execIteration","priorKey","conditional","includeZero","level","_decoratorsInline2","_decoratorsInline","lookupLevel","levelMap","checkRevision","compilerInfo","compilerRevision","currentRevision","_base","runtimeVersions","compilerVersions","templateSpec","env","main","decorator","main_d","compiler","templateWasPrecompiledWithCompilerV7","lookup","depths","invokePartial","resolvePartial","optionsWithHooks","compilerOptions","indent","lines","programs","declaredBlockParams","programWrapper","wrapProgram","_setup","useData","initData","useBlockParams","useDepths","executeDecorators","isTop","usePartial","useDecorators","keepHelperInHelpers","allowCallsToHelperMissing","_child","currentPartialBlock","partialBlock","prog","currentDepths","$Handlebars","unless","webpackContext","req","webpackContextResolve","utils","encode","paramsSerializer","serializedParams","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","process","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","settle","buildURL","parseHeaders","isURLSameOrigin","createError","requestData","auth","Authorization","responseURL","onabort","xsrfValue","withCredentials","onDownloadProgress","onUploadProgress","cancelToken","enhanceError","config1","config2","Cancel","loadState","atob","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","nextTick","browser","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","locals","__webpack_amd_options__","nativeAssign","B","symbol","T","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","promises","spread","InterceptorManager","dispatchRequest","interceptors","fulfilled","rejected","getUri","use","eject","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","reason","normalizedName","isAxiosError","description","fileName","columnNumber","ignoreDuplicateOf","originURL","msie","urlParsingNode","resolveURL","requestURL","expires","domain","secure","toGMTString","relativeURL","executor","resolvePromise","_requesttoken","_user","observer","observers","tokenElement","uidElement","displayNameElement","emptyObject","isUndef","isDef","isTrue","isPrimitive","_toString","isValidArrayIndex","isPromise","toNumber","makeMap","expectsLowerCase","isReservedAttribute","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","boundFn","_length","_from","no","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","unicodeRegExp","def","bailRE","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","isIE9","isEdge","isIOS","isFF","nativeWatch","watch","supportsPassive","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","_Set","hasSymbol","Set","Dep","subs","addSub","sub","removeSub","depend","addDep","targetStack","pushTarget","popTarget","VNode","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","inserted","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","observe","asRootData","_isVue","defineReactive$$1","customSetter","childOb","dependArray","newVal","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","dedupeHooks","mergeAssets","key$1","provide","defaultStrat","mergeOptions","normalizeProps","normalized","normalizeInject","dirs","directives","def$$1","normalizeDirectives","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","$options","_props","getType","getPropDefaultValue","prevShouldObserve","isSameType","expectedTypes","handleError","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","MutationObserver","setImmediate","counter","textNode","characterData","_resolve","seenObjects","traverse","_traverse","isA","depId","normalizeEvent","passive","once$$1","createFnInvoker","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","mergeVNodeHook","hookKey","oldHook","wrappedHook","checkProp","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","isTextNode","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","renderList","renderSlot","bindObject","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_n","_s","_t","_q","_m","_k","_b","_v","_e","_u","_g","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","injections","scopedSlots","_scopeId","_c","cloneAndMarkFunctionalResult","renderContext","mergeProps","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","deactivateChildComponent","direct","_directInactive","isInInactiveTree","$children","$destroy","hooksToMerge","createComponent","baseCtor","errorComp","resolved","currentRenderingInstance","owners","loadingComp","timerLoading","timerTimeout","$on","forceRender","renderCompleted","ensureCtor","component","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","extractPropsFromVNodeData","functional","vnodes","createFunctionalComponent","nativeOn","abstract","_merged","mergeHook$1","installComponentHooks","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","simpleNormalizeChildren","pre","applyNS","force","class","registerDeepBindings","comp","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","_hasHookEvent","$emit","waiting","flushing","currentFlushTimestamp","getNow","createEvent","flushSchedulerQueue","watcher","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","user","lazy","deps","newDeps","depIds","newDepIds","expression","segments","parsePath","cleanupDeps","queueWatcher","oldValue","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","getData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","$watch","uid$3","super","superOptions","modifiedOptions","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","Vue","_init","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","Comp","initProps$1","initComputed$1","getComponentName","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","initEvents","parentData","initRender","initInjections","initProvide","initMixin","dataDef","propsDef","$set","$delete","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","builtInComponents","KeepAlive","exclude","created","destroyed","mounted","configDef","util","defineReactive","observable","installedPlugins","_installedPlugins","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","nodeOps","multiple","createElementNS","newNode","referenceNode","setTextContent","setStyleScope","scopeId","registerRef","isRemoval","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","__ieph","blocker","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","updateDOMListeners","change","normalizeEvents","svgContainer","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","notInFocus","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","vendorNames","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","classList","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","oldElm","patchable","i$2","createPatchFunction","vmodel","directive","_vOptions","setSelected","onCompositionStart","onCompositionEnd","prevOptions","curOptions","hasNoMatchingOption","actuallySetSelected","isMultiple","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","transitionProps","getRealChild","compOptions","extractTransitionData","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","applyTranslation","oldPos","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","c$1","updated","hasMove","_reflow","_hasMove","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","strictUriEncode","objectAssign","decodeComponent","extract","queryStart","formatter","arrayFormat","parserForArrayFormat","keysSorter","encoderForArrayFormat","val2","propIsEnumerable","test1","test2","test3","shouldUseNative","singleMatcher","multiMatcher","decodeComponents","decode","encodedURI","replaceMap","customDecodeURIComponent","Timeout","clearFn","_id","_clearFn","scope","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","MessageChannel","port1","port2","task","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","_vm","_h","shake","invalidPassword","autoCompleteAllowed","updateUsername","passwordInputType","togglePassword","invertedColors","throttleDelay","redirectUrl","timezone","timezoneOffset","warning","$$a","$$el","$$c","$$i","resetPassword","resetPasswordTarget","canResetPassword","resetPasswordLink","passwordResetFinished","directLogin","messages","errors","localStorage","sessionStorage","Nextcloud","fromStateOr","orValue","LoginView","Theming","inverted","resetPasswordUser"],"mappings":"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,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,U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","file":"login.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 905);\n","/*!\n * jQuery JavaScript Library v2.1.4\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-04-28T16:01Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\n\nvar arr = [];\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\t// Use the correct document accordingly with window argument (sandbox)\n\tdocument = window.document,\n\n\tversion = \"2.1.4\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\t// (You can seed the arguments with an array of args, but this is\n\t// only used internally.)\n\teach: function( callback, args ) {\n\t\treturn jQuery.each( this, callback, args );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map(this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t}));\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor(null);\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[0] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction(target) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null ) {\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray(src) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject(src) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend({\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type(obj) === \"function\";\n\t},\n\n\tisArray: Array.isArray,\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\treturn !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\t// Not plain objects:\n\t\t// - Any object or value whose internal [[Class]] property is not \"[object Object]\"\n\t\t// - DOM nodes\n\t\t// - window\n\t\tif ( jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype, \"isPrototypeOf\" ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If the function hasn't returned already, we're confident that\n\t\t// |obj| is a plain object, created by {} or constructed with new Object\n\t\treturn true;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\t\t// Support: Android<4.0, iOS<6 (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call(obj) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tvar script,\n\t\t\tindirect = eval;\n\n\t\tcode = jQuery.trim( code );\n\n\t\tif ( code ) {\n\t\t\t// If the code includes a valid, prologue position\n\t\t\t// strict mode pragma, execute code by injecting a\n\t\t\t// script tag into the document.\n\t\t\tif ( code.indexOf(\"use strict\") === 1 ) {\n\t\t\t\tscript = document.createElement(\"script\");\n\t\t\t\tscript.text = code;\n\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n\t\t\t} else {\n\t\t\t// Otherwise, avoid the DOM node creation, insertion\n\t\t\t// and removal by using an indirect global eval\n\t\t\t\tindirect( code );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE9-11+\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\t// args is for internal usage only\n\teach: function( obj, callback, args ) {\n\t\tvar value,\n\t\t\ti = 0,\n\t\t\tlength = obj.length,\n\t\t\tisArray = isArraylike( obj );\n\n\t\tif ( args ) {\n\t\t\tif ( isArray ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// A special, fast, case for the most common use of each\n\t\t} else {\n\t\t\tif ( isArray ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArraylike( Object(arr) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar value,\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tisArray = isArraylike( elems ),\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArray ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n});\n\n// Populate the class2type map\njQuery.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"), function(i, name) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n});\n\nfunction isArraylike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\tif ( obj.nodeType === 1 && length ) {\n\t\treturn true;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.0-pre\n * http://sizzlejs.com/\n *\n * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2014-12-16\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\t// http://www.w3.org/TR/css3-syntax/#characters\n\tcharacterEncoding = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Loosely modeled on CSS identifier characters\n\t// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors\n\t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = characterEncoding.replace( \"w\", \"w#\" ),\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + characterEncoding + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + characterEncoding + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + characterEncoding + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + characterEncoding + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + characterEncoding.replace( \"w\", \"w*\" ) + \")\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar match, elem, m, nodeType,\n\t\t// QSA vars\n\t\ti, groups, old, nid, newContext, newSelector;\n\n\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\n\tcontext = context || document;\n\tresults = results || [];\n\tnodeType = context.nodeType;\n\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\tif ( !seed && documentIsHTML ) {\n\n\t\t// Try to shortcut find operations when possible (e.g., not under DocumentFragment)\n\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\t\t\t// Speed-up: Sizzle(\"#ID\")\n\t\t\tif ( (m = match[1]) ) {\n\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\telem = context.getElementById( m );\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document (jQuery #6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Context is not a document\n\t\t\t\t\tif ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&\n\t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\n\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Speed-up: Sizzle(\"TAG\")\n\t\t\t} else if ( match[2] ) {\n\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\treturn results;\n\n\t\t\t// Speed-up: Sizzle(\".CLASS\")\n\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName ) {\n\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\treturn results;\n\t\t\t}\n\t\t}\n\n\t\t// QSA path\n\t\tif ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\t\t\tnid = old = expando;\n\t\t\tnewContext = context;\n\t\t\tnewSelector = nodeType !== 1 && selector;\n\n\t\t\t// qSA works strangely on Element-rooted queries\n\t\t\t// We can work around this by specifying an extra ID on the root\n\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\n\t\t\t// IE 8 doesn't work on object elements\n\t\t\tif ( nodeType === 1 && context.nodeName.toLowerCase() !== \"object\" ) {\n\t\t\t\tgroups = tokenize( selector );\n\n\t\t\t\tif ( (old = context.getAttribute(\"id\")) ) {\n\t\t\t\t\tnid = old.replace( rescape, \"\\\\$&\" );\n\t\t\t\t} else {\n\t\t\t\t\tcontext.setAttribute( \"id\", nid );\n\t\t\t\t}\n\t\t\t\tnid = \"[id='\" + nid + \"'] \";\n\n\t\t\t\ti = groups.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tgroups[i] = nid + toSelector( groups[i] );\n\t\t\t\t}\n\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;\n\t\t\t\tnewSelector = groups.join(\",\");\n\t\t\t}\n\n\t\t\tif ( newSelector ) {\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch(qsaError) {\n\t\t\t\t} finally {\n\t\t\t\t\tif ( !old ) {\n\t\t\t\t\t\tcontext.removeAttribute(\"id\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {Function(string, Object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = attrs.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// If no document and documentElement is available, return\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Set our document\n\tdocument = doc;\n\tdocElem = doc.documentElement;\n\tparent = doc.defaultView;\n\n\t// Support: IE>8\n\t// If iframe document is assigned to \"document\" variable and if iframe has been reloaded,\n\t// IE will throw \"permission denied\" error when accessing \"document\" variable, see jQuery #13936\n\t// IE6-8 do not support the defaultView property so parent will be undefined\n\tif ( parent && parent !== parent.top ) {\n\t\t// IE11 does not have attachEvent, so all must suffer\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Support tests\n\t---------------------------------------------------------------------- */\n\tdocumentIsHTML = !isXML( doc );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( doc.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( doc.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !doc.getElementsByName || !doc.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\treturn m && m.parentNode ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = doc.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully does not implement inclusive descendent\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === doc ? -1 :\n\t\t\t\tb === doc ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn doc;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, diff, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || (parent[ expando ] = {});\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[0] === dirruns && cache[1];\n\t\t\t\t\t\t\tdiff = cache[0] === dirruns && cache[2];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t} else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {\n\t\t\t\t\t\t\tdiff = cache[1];\n\n\t\t\t\t\t\t// xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\tif ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {\n\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t(node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\t\t\t\t\t\tif ( (oldCache = outerCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\touterCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context !== document && context;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Keep `i` a string if there are no elements so `matchedCount` will be \"00\" below\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\tmatchedCount += i;\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is no seed and only one group\n\tif ( match.length === 1 ) {\n\n\t\t// Take a shortcut and set the context if the root selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\trsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[\":\"] = jQuery.expr.pseudos;\njQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = (/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/);\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t});\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t});\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) >= 0 ) !== not;\n\t});\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t}));\n};\n\njQuery.fn.extend({\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tlen = this.length,\n\t\t\tret = [],\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter(function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector || [], false) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector || [], true) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n});\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[0] === \"<\" && selector[ selector.length - 1 ] === \">\" && selector.length >= 3 ) {\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && (match[1] || !context) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[1] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[0] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[1],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[2] );\n\n\t\t\t\t\t// Support: Blackberry 4.6\n\t\t\t\t\t// gEBID returns nodes no longer in the document (#6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[0] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || rootjQuery ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[0] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn typeof rootjQuery.ready !== \"undefined\" ?\n\t\t\t\trootjQuery.ready( selector ) :\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.extend({\n\tdir: function( elem, dir, until ) {\n\t\tvar matched = [],\n\t\t\ttruncate = until !== undefined;\n\n\t\twhile ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tmatched.push( elem );\n\t\t\t}\n\t\t}\n\t\treturn matched;\n\t},\n\n\tsibling: function( n, elem ) {\n\t\tvar matched = [];\n\n\t\tfor ( ; n; n = n.nextSibling ) {\n\t\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\t\tmatched.push( n );\n\t\t\t}\n\t\t}\n\n\t\treturn matched;\n\t}\n});\n\njQuery.fn.extend({\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter(function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[i] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) {\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && (pos ?\n\t\t\t\t\tpos.index(cur) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector(cur, selectors)) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.unique(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter(selector)\n\t\t);\n\t}\n});\n\nfunction sibling( cur, dir ) {\n\twhile ( (cur = cur[dir]) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each({\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn jQuery.dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn jQuery.sibling( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn elem.contentDocument || jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.unique( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n});\nvar rnotwhite = (/\\S+/g);\n\n\n\n// String to Object options format cache\nvar optionsCache = {};\n\n// Convert String-formatted options into Object-formatted ones and store in cache\nfunction createOptions( options ) {\n\tvar object = optionsCache[ options ] = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t});\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\t( optionsCache[ options ] || createOptions( options ) ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Last fire value (for non-forgettable lists)\n\t\tmemory,\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\t\t// Flag to know if list is currently firing\n\t\tfiring,\n\t\t// First callback to fire (used internally by add and fireWith)\n\t\tfiringStart,\n\t\t// End of the loop when firing\n\t\tfiringLength,\n\t\t// Index of currently firing callback (modified by remove if needed)\n\t\tfiringIndex,\n\t\t// Actual callback list\n\t\tlist = [],\n\t\t// Stack of fire calls for repeatable lists\n\t\tstack = !options.once && [],\n\t\t// Fire callbacks\n\t\tfire = function( data ) {\n\t\t\tmemory = options.memory && data;\n\t\t\tfired = true;\n\t\t\tfiringIndex = firingStart || 0;\n\t\t\tfiringStart = 0;\n\t\t\tfiringLength = list.length;\n\t\t\tfiring = true;\n\t\t\tfor ( ; list && firingIndex < firingLength; firingIndex++ ) {\n\t\t\t\tif ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {\n\t\t\t\t\tmemory = false; // To prevent further calls using add\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfiring = false;\n\t\t\tif ( list ) {\n\t\t\t\tif ( stack ) {\n\t\t\t\t\tif ( stack.length ) {\n\t\t\t\t\t\tfire( stack.shift() );\n\t\t\t\t\t}\n\t\t\t\t} else if ( memory ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t} else {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Actual Callbacks object\n\t\tself = {\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\t// First, we save the current length\n\t\t\t\t\tvar start = list.length;\n\t\t\t\t\t(function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tvar type = jQuery.type( arg );\n\t\t\t\t\t\t\tif ( type === \"function\" ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && type !== \"string\" ) {\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})( arguments );\n\t\t\t\t\t// Do we need to add the callbacks to the\n\t\t\t\t\t// current firing batch?\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tfiringLength = list.length;\n\t\t\t\t\t// With memory, if we're not firing then\n\t\t\t\t\t// we should call right away\n\t\t\t\t\t} else if ( memory ) {\n\t\t\t\t\t\tfiringStart = start;\n\t\t\t\t\t\tfire( memory );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\t\tvar index;\n\t\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\t\tlist.splice( index, 1 );\n\t\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\t\t\tif ( index <= firingLength ) {\n\t\t\t\t\t\t\t\t\tfiringLength--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );\n\t\t\t},\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tlist = [];\n\t\t\t\tfiringLength = 0;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Have the list do nothing anymore\n\t\t\tdisable: function() {\n\t\t\t\tlist = stack = memory = undefined;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it disabled?\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\t\t\t// Lock the list in its current state\n\t\t\tlock: function() {\n\t\t\t\tstack = undefined;\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it locked?\n\t\t\tlocked: function() {\n\t\t\t\treturn !stack;\n\t\t\t},\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( list && ( !fired || stack ) ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tstack.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfire( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend({\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks(\"memory\") ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred(function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[1] ](function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject )\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t}).promise();\n\t\t\t\t},\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[1] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(function() {\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[0] ] = function() {\n\t\t\t\tdeferred[ tuple[0] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[0] + \"With\" ] = list.fireWith;\n\t\t});\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred. If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// Add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject )\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n});\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend({\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n});\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed, false );\n\twindow.removeEventListener( \"load\", completed, false );\n\tjQuery.ready();\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called after the browser event has already occurred.\n\t\t// We once tried to use readyState \"interactive\" here, but it caused issues like the one\n\t\t// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15\n\t\tif ( document.readyState === \"complete\" ) {\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\tsetTimeout( jQuery.ready );\n\n\t\t} else {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed, false );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed, false );\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\tjQuery.access( elems, fn, i, key[i], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlen ? fn( elems[0], key ) : emptyGet;\n};\n\n\n/**\n * Determines whether an object can have data\n */\njQuery.acceptData = function( owner ) {\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\t/* jshint -W018 */\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\nfunction Data() {\n\t// Support: Android<4,\n\t// Old WebKit does not have Object.preventExtensions/freeze method,\n\t// return new empty object instead with no [[set]] accessor\n\tObject.defineProperty( this.cache = {}, 0, {\n\t\tget: function() {\n\t\t\treturn {};\n\t\t}\n\t});\n\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\nData.accepts = jQuery.acceptData;\n\nData.prototype = {\n\tkey: function( owner ) {\n\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t// but we should not, see #8335.\n\t\t// Always return the key for a frozen object.\n\t\tif ( !Data.accepts( owner ) ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar descriptor = {},\n\t\t\t// Check if the owner object already has a cache key\n\t\t\tunlock = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !unlock ) {\n\t\t\tunlock = Data.uid++;\n\n\t\t\t// Secure it in a non-enumerable, non-writable property\n\t\t\ttry {\n\t\t\t\tdescriptor[ this.expando ] = { value: unlock };\n\t\t\t\tObject.defineProperties( owner, descriptor );\n\n\t\t\t// Support: Android<4\n\t\t\t// Fallback to a less secure definition\n\t\t\t} catch ( e ) {\n\t\t\t\tdescriptor[ this.expando ] = unlock;\n\t\t\t\tjQuery.extend( owner, descriptor );\n\t\t\t}\n\t\t}\n\n\t\t// Ensure the cache object\n\t\tif ( !this.cache[ unlock ] ) {\n\t\t\tthis.cache[ unlock ] = {};\n\t\t}\n\n\t\treturn unlock;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\t// There may be an unlock assigned to this node,\n\t\t\t// if there is no entry for this \"owner\", create one inline\n\t\t\t// and set the unlock as though an owner entry had always existed\n\t\t\tunlock = this.key( owner ),\n\t\t\tcache = this.cache[ unlock ];\n\n\t\t// Handle: [ owner, key, value ] args\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ data ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\t\t\t// Fresh assignments by object are shallow copied\n\t\t\tif ( jQuery.isEmptyObject( cache ) ) {\n\t\t\t\tjQuery.extend( this.cache[ unlock ], data );\n\t\t\t// Otherwise, copy the properties one-by-one to the cache object\n\t\t\t} else {\n\t\t\t\tfor ( prop in data ) {\n\t\t\t\t\tcache[ prop ] = data[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\t// Either a valid cache is found, or will be created.\n\t\t// New caches will be created and the unlock returned,\n\t\t// allowing direct access to the newly created\n\t\t// empty data object. A valid owner object must be provided.\n\t\tvar cache = this.cache[ this.key( owner ) ];\n\n\t\treturn key === undefined ?\n\t\t\tcache : cache[ key ];\n\t},\n\taccess: function( owner, key, value ) {\n\t\tvar stored;\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t((key && typeof key === \"string\") && value === undefined) ) {\n\n\t\t\tstored = this.get( owner, key );\n\n\t\t\treturn stored !== undefined ?\n\t\t\t\tstored : this.get( owner, jQuery.camelCase(key) );\n\t\t}\n\n\t\t// [*]When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i, name, camel,\n\t\t\tunlock = this.key( owner ),\n\t\t\tcache = this.cache[ unlock ];\n\n\t\tif ( key === undefined ) {\n\t\t\tthis.cache[ unlock ] = {};\n\n\t\t} else {\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( jQuery.isArray( key ) ) {\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n\t\t\t} else {\n\t\t\t\tcamel = jQuery.camelCase( key );\n\t\t\t\t// Try the string as a key before any manipulation\n\t\t\t\tif ( key in cache ) {\n\t\t\t\t\tname = [ key, camel ];\n\t\t\t\t} else {\n\t\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\t\tname = camel;\n\t\t\t\t\tname = name in cache ?\n\t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = name.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ name[ i ] ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\treturn !jQuery.isEmptyObject(\n\t\t\tthis.cache[ owner[ this.expando ] ] || {}\n\t\t);\n\t},\n\tdiscard: function( owner ) {\n\t\tif ( owner[ this.expando ] ) {\n\t\t\tdelete this.cache[ owner[ this.expando ] ];\n\t\t}\n\t}\n};\nvar data_priv = new Data();\n\nvar data_user = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /([A-Z])/g;\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdata_user.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend({\n\thasData: function( elem ) {\n\t\treturn data_user.hasData( elem ) || data_priv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn data_user.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdata_user.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to data_priv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn data_priv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdata_priv.remove( elem, name );\n\t}\n});\n\njQuery.fn.extend({\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = data_user.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !data_priv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice(5) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdata_priv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each(function() {\n\t\t\t\tdata_user.set( this, key );\n\t\t\t});\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data,\n\t\t\t\tcamelKey = jQuery.camelCase( key );\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key as-is\n\t\t\t\tdata = data_user.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key camelized\n\t\t\t\tdata = data_user.get( elem, camelKey );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each(function() {\n\t\t\t\t// First, attempt to store a copy or reference of any\n\t\t\t\t// data that might've been store with a camelCased key.\n\t\t\t\tvar data = data_user.get( this, camelKey );\n\n\t\t\t\t// For HTML5 data-* attribute interop, we have to\n\t\t\t\t// store property names with dashes in a camelCase form.\n\t\t\t\t// This might not apply to all properties...*\n\t\t\t\tdata_user.set( this, camelKey, value );\n\n\t\t\t\t// *... In the case of properties that might _actually_\n\t\t\t\t// have dashes, we need to also store a copy of that\n\t\t\t\t// unchanged property.\n\t\t\t\tif ( key.indexOf(\"-\") !== -1 && data !== undefined ) {\n\t\t\t\t\tdata_user.set( this, key, value );\n\t\t\t\t}\n\t\t\t});\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each(function() {\n\t\t\tdata_user.remove( this, key );\n\t\t});\n\t}\n});\n\n\njQuery.extend({\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = data_priv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = data_priv.access( elem, type, jQuery.makeArray(data) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn data_priv.get( elem, key ) || data_priv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks(\"once memory\").add(function() {\n\t\t\t\tdata_priv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t})\n\t\t});\n\t}\n});\n\njQuery.fn.extend({\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[0], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each(function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[0] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t});\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t});\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = data_priv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n});\nvar pnum = (/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/).source;\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" || !jQuery.contains( elem.ownerDocument, elem );\n\t};\n\nvar rcheckableType = (/^(?:checkbox|radio)$/i);\n\n\n\n(function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Safari<=5.1\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari<=5.1, Android<4.2\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<=11+\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n})();\nvar strundefined = typeof undefined;\n\n\n\nsupport.focusinBubbles = \"onfocusin\" in window;\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)$/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = data_priv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !(events = elemData.events) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !(eventHandle = elemData.handle) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tmp[1];\n\t\t\tnamespaces = ( tmp[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend({\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join(\".\")\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !(handlers = events[ type ]) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = data_priv.hasData( elem ) && data_priv.get( elem );\n\n\t\tif ( !elemData || !(events = elemData.events) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tmp[1];\n\t\t\tnamespaces = ( tmp[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[2] && new RegExp( \"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdelete elemData.handle;\n\t\t\tdata_priv.remove( elem, \"events\" );\n\t\t}\n\t},\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split(\".\") : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf(\".\") >= 0 ) {\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split(\".\");\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf(\":\") < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join(\".\");\n\t\tevent.namespace_re = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === (elem.ownerDocument || document) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( data_priv.get( cur, \"events\" ) || {} )[ event.type ] && data_priv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && jQuery.acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&\n\t\t\t\tjQuery.acceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( data_priv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[0] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )\n\t\t\t\t\t\t\t.apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( (event.result = ret) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG instance trees (#13180)\n\t\t// Avoid non-left-click bubbling in Firefox (#3861)\n\t\tif ( delegateCount && cur.nodeType && (!event.button || event.type !== \"click\") ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.disabled !== true || event.type !== \"click\" ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) >= 0 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push({ elem: cur, handlers: matches });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: \"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: \"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: Cordova 2.5 (WebKit) (#13255)\n\t\t// All events should have a target; Cordova deviceready doesn't\n\t\tif ( !event.target ) {\n\t\t\tevent.target = document;\n\t\t}\n\n\t\t// Support: Safari 6.0+, Chrome<28\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && jQuery.nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tsimulate: function( type, elem, event, bubble ) {\n\t\t// Piggyback on a donor event to simulate a different one.\n\t\t// Fake originalEvent to avoid donor's stopPropagation, but if the\n\t\t// simulated event prevents default then we do the same on the donor.\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true,\n\t\t\t\toriginalEvent: {}\n\t\t\t}\n\t\t);\n\t\tif ( bubble ) {\n\t\t\tjQuery.event.trigger( e, null, elem );\n\t\t} else {\n\t\t\tjQuery.event.dispatch.call( elem, e );\n\t\t}\n\t\tif ( e.isDefaultPrevented() ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle, false );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\t// Allow instantiation without the 'new' keyword\n\tif ( !(this instanceof jQuery.Event) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\t\t\t\t// Support: Android<4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && e.preventDefault ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopPropagation ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopImmediatePropagation ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// Support: Chrome 15+\njQuery.each({\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mousenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || (related !== target && !jQuery.contains( target, related )) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n});\n\n// Support: Firefox, Chrome, Safari\n// Create \"bubbling\" focus and blur events\nif ( !support.focusinBubbles ) {\n\tjQuery.each({ focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );\n\t\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = data_priv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdata_priv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = data_priv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdata_priv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdata_priv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n}\n\njQuery.fn.extend({\n\n\ton: function( types, selector, data, fn, /*INTERNAL*/ one ) {\n\t\tvar origFn, type;\n\n\t\t// Types can be a map of types/handlers\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-Object, selector, data )\n\t\t\tif ( typeof selector !== \"string\" ) {\n\t\t\t\t// ( types-Object, data )\n\t\t\t\tdata = data || selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.on( type, selector, data, types[ type ], one );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( data == null && fn == null ) {\n\t\t\t// ( types, fn )\n\t\t\tfn = selector;\n\t\t\tdata = selector = undefined;\n\t\t} else if ( fn == null ) {\n\t\t\tif ( typeof selector === \"string\" ) {\n\t\t\t\t// ( types, selector, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = undefined;\n\t\t\t} else {\n\t\t\t\t// ( types, data, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t} else if ( !fn ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( one === 1 ) {\n\t\t\torigFn = fn;\n\t\t\tfn = function( event ) {\n\t\t\t\t// Can use an empty set, since event contains the info\n\t\t\t\tjQuery().off( event );\n\t\t\t\treturn origFn.apply( this, arguments );\n\t\t\t};\n\t\t\t// Use same guid so caller can remove using origFn\n\t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.add( this, types, fn, data, selector );\n\t\t});\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn this.on( types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t});\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t});\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[0];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n});\n\n\nvar\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,\n\trtagName = /<([\\w:]+)/,\n\trhtml = /<|&#?\\w+;/,\n\trnoInnerhtml = /<(?:script|style|link)/i,\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptType = /^$|\\/(?:java|ecma)script/i,\n\trscriptTypeMasked = /^true\\/(.*)/,\n\trcleanScript = /^\\s*\\s*$/g,\n\n\t// We have to close these tags to support XHTML (#13200)\n\twrapMap = {\n\n\t\t// Support: IE9\n\t\toption: [ 1, \"\" ],\n\n\t\tthead: [ 1, \"\", \"
        \" ],\n\t\tcol: [ 2, \"\", \"
        \" ],\n\t\ttr: [ 2, \"\", \"
        \" ],\n\t\ttd: [ 3, \"\", \"
        \" ],\n\n\t\t_default: [ 0, \"\", \"\" ]\n\t};\n\n// Support: IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: 1.x compatibility\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName(\"tbody\")[0] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement(\"tbody\") ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = (elem.getAttribute(\"type\") !== null) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute(\"type\");\n\t}\n\n\treturn elem;\n}\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdata_priv.set(\n\t\t\telems[ i ], \"globalEval\", !refElements || data_priv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( data_priv.hasData( src ) ) {\n\t\tpdataOld = data_priv.access( src );\n\t\tpdataCur = data_priv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( data_user.hasData( src ) ) {\n\t\tudataOld = data_user.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdata_user.set( dest, udataCur );\n\t}\n}\n\nfunction getAll( context, tag ) {\n\tvar ret = context.getElementsByTagName ? context.getElementsByTagName( tag || \"*\" ) :\n\t\t\tcontext.querySelectorAll ? context.querySelectorAll( tag || \"*\" ) :\n\t\t\t[];\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], ret ) :\n\t\tret;\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\njQuery.extend({\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tbuildFragment: function( elems, context, scripts, selection ) {\n\t\tvar elem, tmp, tag, wrap, contains, j,\n\t\t\tfragment = context.createDocumentFragment(),\n\t\t\tnodes = [],\n\t\t\ti = 0,\n\t\t\tl = elems.length;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\telem = elems[ i ];\n\n\t\t\tif ( elem || elem === 0 ) {\n\n\t\t\t\t// Add nodes directly\n\t\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\t\t\t\t\t// Support: QtWebKit, PhantomJS\n\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t\t// Convert non-html into a text node\n\t\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t\t// Convert html into DOM nodes\n\t\t\t\t} else {\n\t\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement(\"div\") );\n\n\t\t\t\t\t// Deserialize a standard representation\n\t\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\t\ttmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, \"<$1>\" ) + wrap[ 2 ];\n\n\t\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\t\tj = wrap[ 0 ];\n\t\t\t\t\twhile ( j-- ) {\n\t\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: QtWebKit, PhantomJS\n\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t\t// Remember the top-level container\n\t\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\t\ttmp.textContent = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remove wrapper from fragment\n\t\tfragment.textContent = \"\";\n\n\t\ti = 0;\n\t\twhile ( (elem = nodes[ i++ ]) ) {\n\n\t\t\t// #4087 - If origin and destination elements are the same, and this is\n\t\t\t// that element, do not do anything\n\t\t\tif ( selection && jQuery.inArray( elem, selection ) !== -1 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t\t// Append to fragment\n\t\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t\t// Preserve script evaluation history\n\t\t\tif ( contains ) {\n\t\t\t\tsetGlobalEval( tmp );\n\t\t\t}\n\n\t\t\t// Capture executables\n\t\t\tif ( scripts ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (elem = tmp[ j++ ]) ) {\n\t\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\t\tscripts.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn fragment;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type, key,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = elems[ i ]) !== undefined; i++ ) {\n\t\t\tif ( jQuery.acceptData( elem ) ) {\n\t\t\t\tkey = elem[ data_priv.expando ];\n\n\t\t\t\tif ( key && (data = data_priv.cache[ key ]) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( data_priv.cache[ key ] ) {\n\t\t\t\t\t\t// Discard any remaining `private` data\n\t\t\t\t\t\tdelete data_priv.cache[ key ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Discard any remaining `user` data\n\t\t\tdelete data_user.cache[ elem[ data_user.expando ] ];\n\t\t}\n\t}\n});\n\njQuery.fn.extend({\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each(function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t});\n\t},\n\n\tprepend: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t});\n\t},\n\n\tbefore: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t});\n\t},\n\n\tafter: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t});\n\t},\n\n\tremove: function( selector, keepData /* Internal Use Only */ ) {\n\t\tvar elem,\n\t\t\telems = selector ? jQuery.filter( selector, this ) : this,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\n\t\t\tif ( !keepData && elem.nodeType === 1 ) {\n\t\t\t\tjQuery.cleanData( getAll( elem ) );\n\t\t\t}\n\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\tif ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\t\t\tsetGlobalEval( getAll( elem, \"script\" ) );\n\t\t\t\t}\n\t\t\t\telem.parentNode.removeChild( elem );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = this[i]) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map(function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t});\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = value.replace( rxhtmlTag, \"<$1>\" );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar arg = arguments[ 0 ];\n\n\t\t// Make the changes, replacing each context element with the new content\n\t\tthis.domManip( arguments, function( elem ) {\n\t\t\targ = this.parentNode;\n\n\t\t\tjQuery.cleanData( getAll( this ) );\n\n\t\t\tif ( arg ) {\n\t\t\t\targ.replaceChild( elem, this );\n\t\t\t}\n\t\t});\n\n\t\t// Force removal if there was no new content (e.g., from empty arguments)\n\t\treturn arg && (arg.length || arg.nodeType) ? this : this.remove();\n\t},\n\n\tdetach: function( selector ) {\n\t\treturn this.remove( selector, true );\n\t},\n\n\tdomManip: function( args, callback ) {\n\n\t\t// Flatten any nested arrays\n\t\targs = concat.apply( [], args );\n\n\t\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tset = this,\n\t\t\tiNoClone = l - 1,\n\t\t\tvalue = args[ 0 ],\n\t\t\tisFunction = jQuery.isFunction( value );\n\n\t\t// We can't cloneNode fragments that contain checked, in WebKit\n\t\tif ( isFunction ||\n\t\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\t\treturn this.each(function( index ) {\n\t\t\t\tvar self = set.eq( index );\n\t\t\t\tif ( isFunction ) {\n\t\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t\t}\n\t\t\t\tself.domManip( args, callback );\n\t\t\t});\n\t\t}\n\n\t\tif ( l ) {\n\t\t\tfragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );\n\t\t\tfirst = fragment.firstChild;\n\n\t\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\t\tfragment = first;\n\t\t\t}\n\n\t\t\tif ( first ) {\n\t\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\t\thasScripts = scripts.length;\n\n\t\t\t\t// Use the original fragment for the last item instead of the first because it can end up\n\t\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\tnode = fragment;\n\n\t\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\t\t\t// Support: QtWebKit\n\t\t\t\t\t\t\t// jQuery.merge because push.apply(_, arraylike) throws\n\t\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcallback.call( this[ i ], node, i );\n\t\t\t\t}\n\n\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t\t// Reenable scripts\n\t\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t\t!data_priv.access( node, \"globalEval\" ) && jQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\t\tif ( node.src ) {\n\t\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript, \"\" ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n});\n\njQuery.each({\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: QtWebKit\n\t\t\t// .get() because push.apply(_, arraylike) throws\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n});\n\n\nvar iframe,\n\telemdisplay = {};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar style,\n\t\telem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\t// getDefaultComputedStyle might be reliably used only on attached element\n\t\tdisplay = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?\n\n\t\t\t// Use of this method is a temporary fix (more like optimization) until something better comes along,\n\t\t\t// since it was removed from specification and supported only in FF\n\t\t\tstyle.display : jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = (iframe || jQuery( \"