define("app/ui/dialogs/age_gate_dialog",["module","require","exports","core/component","app/ui/with_dialog","core/i18n","core/utils","app/utils/cookie"],function(module, require, exports) {
function ageGateDialog(){this.defaultAttrs({submitButtonSelector:"#age-gate-dialog-submit-button",monthSelector:"#age-gate-month",daySelector:"#age-gate-day",yearSelector:"#age-gate-year",requiredSelector:".age-gate-error",ageGateCookieKey:"age-gated"}),this.setUpDialog=function(a,b){b.ageGated?this.showError():(this.reset(),this.ageData=b,this.setDateOption(),this.open())},this.fillYearSelect=function(){var a=(new Date).getFullYear();for(var b=a;b>a-100;b--)this.yearSelect.options.add(new Option(b,b));this.yearSelect.options.add(new Option(_('\u0414\u043e {{year}}',{year:b}),b))},this.month={1:_('\u044f\u043d\u0432\u0430\u0440\u044c'),2:_('\u0444\u0435\u0432\u0440\u0430\u043b\u044c'),3:_('\u043c\u0430\u0440\u0442'),4:_('\u0430\u043f\u0440\u0435\u043b\u044c'),5:_('\u043c\u0430\u0439'),6:_('\u0438\u044e\u043d\u044c'),7:_('\u0438\u044e\u043b\u044c'),8:_('\u0430\u0432\u0433\u0443\u0441\u0442'),9:_('\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c'),10:_('\u043e\u043a\u0442\u044f\u0431\u0440\u044c'),11:_('\u043d\u043e\u044f\u0431\u0440\u044c'),12:_('\u0434\u0435\u043a\u0430\u0431\u0440\u044c')},this.fillMonthSelect=function(){for(var a=1;a<=12;a++)this.monthSelect.options.add(new Option(this.month[a],a))},this.fillDaySelect=function(a,b){a||(a=1),b||(b=31);for(var c=a;c<=b;c++)this.daySelect.options.add(new Option(c,c))},this.resetSelect=function(a,b){a.options.length=0,a.options.add(new Option(b,-1,!0,!0)),a.options[0].disabled=!0},this.reset=function(){this.resetSelect(this.yearSelect,_('\u0413\u043e\u0434')),this.resetSelect(this.monthSelect,_('\u041c\u0435\u0441\u044f\u0446')),this.resetSelect(this.daySelect,_('\u0414\u0435\u043d\u044c')),this.hideRequired()},this.setDateOption=function(){this.fillYearSelect(),this.fillMonthSelect(),this.fillDaySelect()},this.showRequired=function(){this.select("requiredSelector").removeClass("hidden")},this.hideRequired=function(){this.select("requiredSelector").addClass("hidden")},this.getDateFromSelect=function(){var a={};return a.year=this.yearSelect.options[this.yearSelect.selectedIndex].value,a.month=this.monthSelect.options[this.monthSelect.selectedIndex].value,a.day=this.daySelect.options[this.daySelect.selectedIndex].value,a},this.getNumberOfDaysGivenMonthYear=function(a,b){return b<0&&(b=2012),(new Date(b,a,0)).getDate()},this.validateDate=function(){var a=this.getDateFromSelect(),b=a.year>=0&&a.month>=0&&a.month<=12&&a.day>=0&&a.day<=this.getNumberOfDaysGivenMonthYear(a.month,a.year);return b?new Date(a.year,a.month-1,a.day):(a.year==="-1"||a.month==="-1"||a.day==="-1"?this.showRequired():this.trigger("uiShowMessage",{message:_('\u0414\u0430\u0442\u0430 \u043d\u0435\u0432\u0435\u0440\u043d\u0430. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0434\u0430\u0442\u0443 \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f.')}),null)},this.updateDays=function(){var a,b=this.getDateFromSelect();this.hideRequired();if(b.month<1||b.month>12)return;this.resetSelect(this.daySelect,"Day"),a=this.getNumberOfDaysGivenMonthYear(b.month,b.year),this.fillDaySelect(1,a),b.day>0&&b.day<=a&&(this.daySelect.selectedIndex=b.day)},this.showError=function(){this.trigger("uiShowMessage",{message:_('\u0412\u0430\u0448 \u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u044c \u044d\u0442\u0443 \u0443\u0447\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c.')})},this.setAgeGateCookie=function(){cookie(this.attr.ageGateCookieKey,(new Date).getTime())},this.submitAgeGating=function(){var a=this.validateDate();a&&(a.getTime()<=this.ageData.minBirthDate?this.trigger("uiAgeGatePassed",utils.merge(this.ageData.originalData,{passedAgeGating:!0})):(this.showError(),this.setAgeGateCookie()),this.close())},this.after("initialize",function(){this.monthSelect=this.select("monthSelector")[0],this.daySelect=this.select("daySelector")[0],this.yearSelect=this.select("yearSelector")[0],this.on(document,"uiNeedsAgeGateDialog",this.setUpDialog),this.on("click",{submitButtonSelector:this.submitAgeGating}),this.on("change",{monthSelector:this.updateDays,yearSelector:this.updateDays,daySelector:this.hideRequired})})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog"),_=require("core/i18n"),utils=require("core/utils"),cookie=require("app/utils/cookie"),AgeGateDialog=defineComponent(ageGateDialog,withDialog);module.exports=AgeGateDialog
});
define("app/utils/is_iframe_message_whitelisted",["module","require","exports"],function(module, require, exports) {
var whitelist=["twitter.com","donate.twitter.com"],absolute=function(a,b){return[a,b].join("//")};module.exports=function(a,b){return whitelist.reduce(function(c,d){return c||a===absolute(b.protocol,d)},a===absolute(b.protocol,b.host))}
});
define("app/utils/with_iframe_height_adjuster",["module","require","exports","app/utils/is_iframe_message_whitelisted"],function(module, require, exports) {
function withIframeHeightAdjuster(){this.fitIframeHeight=function(a,b){if(!a||!b)return;var c=b.iframeSelector||this.attr.iframeSelector,d={};a.originalEvent&&(a=a.originalEvent);if(isIframeMessageWhitelisted(a.origin,window.location)&&typeof a.data=="string"&&$.isFunction(b.isQualified))try{d=JSON.parse(a.data),d&&b.isQualified(d)&&(this.$node.find(c).css("height",d.height+"px"),$.isFunction(b.additonalTreatment)&&b.additonalTreatment(this.$node.find(c)))}catch(e){}}}var isIframeMessageWhitelisted=require("app/utils/is_iframe_message_whitelisted");module.exports=withIframeHeightAdjuster
});
define("app/utils/b2c/with_iframe_events_proxy",["module","require","exports","app/utils/is_iframe_message_whitelisted"],function(module, require, exports) {
function withIframeEventsProxy(){this.proxyIframeEvents=function(a){if(!a)return;var b={};a.originalEvent&&(a=a.originalEvent);if(isIframeMessageWhitelisted(a.origin,window.location)&&typeof a.data=="string")try{b=JSON.parse(a.data),b&&b.name&&b.name==="b2c"&&b.eventName&&this.trigger(b.eventName,b.data)}catch(c){}}}var isIframeMessageWhitelisted=require("app/utils/is_iframe_message_whitelisted");module.exports=withIframeEventsProxy
});
define("app/ui/dialogs/authenticated_webview_dialog",["module","require","exports","core/component","app/ui/with_dialog","app/ui/with_position","app/utils/with_iframe_height_adjuster","app/utils/b2c/with_iframe_events_proxy","app/data/with_card_metadata"],function(module, require, exports) {
function authWebViewDialog(){this.defaultAttrs({authWebViewDialogIframeSelector:".auth-webview-card-iframe",authWebViewDialogTitleSelector:".modal-title",authWebViewActionSelector:".AuthWebViewCard-authWebViewAction",authWebViewCardCtaClass:"AuthWebViewCard-button",authWebViewCardImageClass:"AuthWebViewCard-productImageWrapper",authWebViewTweetSelector:".tweet",commerceCardSelector:".AuthWebViewCard",top:47}),this.openAuthWebViewDialog=function(a,b){if(this.attr.loggedIn){var c=b.webviewUrl;b.tweetId&&(c=this.appendQueryParam(c,"referringTweetId",b.tweetId)),b.impressionId&&(c=this.appendQueryParam(c,"impressionId",b.impressionId)),this.select("authWebViewDialogIframeSelector").attr("src",c),this.select("authWebViewDialogTitleSelector").html(b.webviewTitle),this.open()}else this.trigger(document,"uiOpenSignupDialog")},this.appendQueryParam=function(a,b,c){var d=document.createElement("a");d.href=a;var e=encodeURIComponent(b)+"="+encodeURIComponent(c);d.search===""?d.search=e:d.search+="&"+e;var f=d.href;return d=null,f},this.closeDialog=function(a,b){this.select("authWebViewDialogIframeSelector").attr("src","about:blank"),this.off(window,"message",this.adjustIframeHeight),this.off(window,"message",this.proxyIframeEvents)},this.adjustIframeHeight=function(a){this.fitIframeHeight(a,{iframeSelector:this.attr.authWebViewDialogIframeSelector,isQualified:function(a){return a.name&&a.name==="auth_webview"&&a.height}})},this.setActiveViewSelector=function(a,b){this.activeViewSelector=b.selector||""},this.setupMessageListener=function(){this.on(window,"message",this.adjustIframeHeight),this.on(window,"message",this.proxyIframeEvents)},this.after("initialize",function(){this.activeViewSelector="",this.on("uiDialogOpened",this.setupMessageListener),this.on("uiDialogClosed",this.closeDialog),this.on(window,"uiOpenAuthWebViewDialog",this.openAuthWebViewDialog),this.on(document,"uiCommerceSetActiveViewSelector",this.setActiveViewSelector)})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog"),withPosition=require("app/ui/with_position"),withIframeHeightAdjuster=require("app/utils/with_iframe_height_adjuster"),withIframeEventsProxy=require("app/utils/b2c/with_iframe_events_proxy"),withCardMetadata=require("app/data/with_card_metadata"),AuthWebViewDialog=defineComponent(authWebViewDialog,withDialog,withPosition,withIframeHeightAdjuster,withIframeEventsProxy,withCardMetadata);module.exports=AuthWebViewDialog
});
define("app/ui/autoplayable_media",["module","require","exports","core/component","app/utils/viewport_helpers","core/utils"],function(module, require, exports) {
function AutoplayableMedia(){this.viewportHelpers=viewportHelpers,this.defaultAttrs({autoplayableContainerSelector:".has-autoplayable-media",mediaSelector:".animated-gif, .PlayableMedia, .js-macaw-cards-iframe-container",autoplayingMediaDataAttr:"data-autoplaying-media",scrollThrottle:100,watchDocumentScroll:!0,autoplayOnFractionInViewport:.25}),this.watchContainers=function(){this.$containers=this.select("autoplayableContainerSelector"),this.throttledProcessWatchedContainers()},this.stopAutoplaying=function(){this.$currentlyAutoplayingContainer&&(this.$currentlyAutoplayingContainer.attr(this.attr.autoplayingMediaDataAttr,!1),this.$currentlyAutoplayingMedia.trigger("uiStopAutoplayingMedia"),this.$currentlyAutoplayingContainer=undefined,this.$currentlyAutoplayingMedia=undefined)},this.processWatchedContainers=function(){if(this.$containers.length===0||!this.$viewport)return;var a=this.viewportHelpers.getGlobalNavHeight(),b=this.viewportHelpers.getElementClosestToMiddleOfViewport({$container:this.$viewport,$elements:this.$containers,topThreshold:a,fractionInViewport:this.attr.autoplayOnFractionInViewport});b&&!b.is(this.$currentlyAutoplayingContainer)&&(this.stopAutoplaying(),b.attr(this.attr.autoplayingMediaDataAttr,!0),this.$currentlyAutoplayingContainer=b,this.$currentlyAutoplayingMedia=b.find(this.attr.mediaSelector),this.$currentlyAutoplayingMedia.trigger("uiAutoplayMedia")),this.$currentlyAutoplayingContainer&&!this.viewportHelpers.isPartiallyContainedInViewport({$container:this.$viewport,$element:this.$currentlyAutoplayingContainer,topThreshold:a,fractionInViewport:this.attr.autoplayOnFractionInViewport})&&this.stopAutoplaying()},this.resetWatchedContainers=function(){this.$containers=$(),this.stopAutoplaying(),this.watchContainers()},this.cleanup=function(){this.off(document,"uiPageChanged"),this.off(this.$viewport,"resize"),this.$viewport=undefined,this.attr.watchDocumentScroll?this.off(document,"scroll",this.throttledProcessWatchedContainers):this.off("scroll",this.throttledProcessWatchedContainers)},this.before("teardown",function(){this.cleanup()}),this.after("initialize",function(){this.$currentlyAutoplayingContainer=undefined,this.$currentlyAutoplayingMedia=undefined,this.$viewport=$(window),this.$containers=$(),this.throttledProcessWatchedContainers=utils.throttle(this.processWatchedContainers.bind(this),this.attr.scrollThrottle),this.on(document,"uiPageChanged",this.resetWatchedContainers),this.attr.watchDocumentScroll?this.on(document,"scroll",this.throttledProcessWatchedContainers):this.on("scroll",this.throttledProcessWatchedContainers),this.on(this.$viewport,"resize",this.throttledProcessWatchedContainers),this.on(document,"uiDynamicCardLoaded uiDynamicCardUnloaded",this.throttledProcessWatchedContainers),this.on(document,"uiWatchAutoplayMedia uiSwiftLoaded",this.watchContainers),this.on(document,"uiPageHidden",this.stopAutoplaying),this.on(document,"uiPageVisible",this.processWatchedContainers)})}var defineComponent=require("core/component"),viewportHelpers=require("app/utils/viewport_helpers"),utils=require("core/utils");module.exports=defineComponent(AutoplayableMedia)
});
define("app/ui/dialogs/block_dialog",["module","require","exports","core/component","core/i18n","app/ui/with_dialog"],function(module, require, exports) {
function blockDialog(){this.defaultAttrs({blockUserLabelSelector:".block-user-label",blockUserTextSelector:".block-user-text",blockButtonSelector:".block-button",blockInputSelector:"input[name=block_user]"}),this.setUpDialog=function(a,b){this.eventData=b,this.setTriggeredTarget(),this.setScreenNameText(),this.isComplete=!1,this.open()},this.setTriggeredTarget=function(){this.eventData.target==="user"?this.$node.addClass("block-from-user"):this.$node.removeClass("block-from-user")},this.setScreenNameText=function(){var a=this.select("blockUserLabelSelector");a.text(_('\u0412\u043d\u0435\u0441\u0442\u0438 @{{screenName}} \u0432 \u0447\u0435\u0440\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a?',this.eventData)),this.select("blockUserTextSelector").text(_('@{{screenName}} \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0430\u0441 \u0438\u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0430\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.',this.eventData))},this.submitBlock=function(){this.trigger("uiBlockAction",{eventData:this.eventData,tweetId:this.eventData.tweetId,userId:this.eventData.userId,screenName:this.eventData.screenName,impressionId:this.eventData.impressionId,disclosureType:this.eventData.disclosureType,scribeContext:{component:"block_dialog",element:this.eventData.target==="user"?"user":"tweet"}}),this.trigger("uiDidTriggerBlockingAction",{userId:this.eventData.userId}),this.isComplete=!0,this.close()},this.around("close",function(a){this.isOpen()&&!this.isComplete&&this.trigger("uiBlockDialogCancel",this.eventData),a()}),this.after("initialize",function(){this.on(document,"uiNeedsBlockDialog",this.setUpDialog),this.on("click",{blockButtonSelector:this.submitBlock})})}var defineComponent=require("core/component"),_=require("core/i18n"),withDialog=require("app/ui/with_dialog"),BlockDialog=defineComponent(withDialog,blockDialog);module.exports=BlockDialog
});
define("app/ui/dialogs/block_user_dialog",["module","require","exports","core/component","app/ui/with_dialog","app/ui/dialogs/with_modal_tweet"],function(module, require, exports) {
function blockUserDialog(){this.defaults={cancelSelector:".cancel-action",blockSelector:".block-action"},this.openBlockUser=function(a,b){var c={userOnly:!0,modal:"block"};this.attr.sourceEventData=b,this.displayTweet(b.tweetId,c),this.open()},this.blockUser=function(){this.trigger("uiDidBlockUser",{sourceEventData:this.attr.sourceEventData}),this.close()},this.after("initialize",function(){this.on("click",{cancelSelector:this.close,blockSelector:this.blockUser}),this.on(document,"uiOpenBlockUserDialog",this.openBlockUser)})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog"),withModalTweet=require("app/ui/dialogs/with_modal_tweet");module.exports=defineComponent(blockUserDialog,withDialog,withModalTweet)
});
define("app/ui/bouncer_dialog",["module","require","exports","core/component","app/ui/with_dialog"],function(module, require, exports) {
function bouncerDialog(){this.defaultAttrs({safeOrigins:["https://localhost.twitter.com","https://twitter.com"],iframeSelector:"#bouncer-flow",contentSelector:".BouncerContent",spinnerSelector:".BouncerSpinner",dismissButtonSelector:".js-close"}),this.openBouncerDialog=function(a,b){this.select("iframeSelector").attr("src",b.bounce.bounce_location||"/account/access"),this.open()},this.onBeforeIframeUnload=function(){this.setIframeLoading(!0),this.position()},this.onIframeLoad=function(){this.setIframeLoading(!1),this.position()},this.setIframeLoading=function(a){if(a)this.$bouncerContent.hide(),this.$dismissButton.hide(),this.$spinner.show(),this.$bouncerContent.height(this.$spinner.height()),this.$iframe.height(this.$spinner.height());else{this.$spinner.hide(),this.$dismissButton.show(),this.$bouncerContent.show();var b=this.$iframe.contents().find("body").height()+20;b>this.$iframe.height()&&(this.$bouncerContent.height(b),this.$iframe.height(b))}},this.onCancel=function(){this.trigger("uiBouncerCancelled"),this.close()},this.onComplete=function(){this.trigger("uiBouncerCompleted"),this.close()},this.on2FAComplete=function(){this.trigger("uiBouncer2FACompleted"),this.close()},this.aroundAfterClose=function(a){a(),this.reset()},this.reset=function(){this.setIframeLoading(!0)},this.dispatchBouncerMessage=function(a,b){var c=a.originalEvent,d=c&&c.data;if(this.attr.safeOrigins.indexOf(c.origin)===-1)return;if(d&&d.bouncer&&d.event){var e=d.event;e==="beforeunload"?this.onBeforeIframeUnload():e==="load"?this.onIframeLoad():e==="cancel"?this.onCancel():e==="complete"?this.onComplete():e==="2fa_complete"&&this.on2FAComplete()}},this.after("initialize",function(){this.on(document,"dataRequestBounced",this.openBouncerDialog),this.on(document,"uiPreOpenBouncerDialog",this.open),this.on("uiDialogClosed",this.onCancel),this.on(window,"message",this.dispatchBouncerMessage),this.around("afterClose",this.aroundAfterClose),this.$modalContent=this.select("modalContentSelector"),this.$iframe=this.select("iframeSelector"),this.$bouncerContent=this.select("contentSelector"),this.$spinner=this.select("spinnerSelector"),this.$dismissButton=this.select("dismissButtonSelector"),this.reset()})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog"),BouncerDialog=defineComponent(bouncerDialog,withDialog);module.exports=BouncerDialog
});
define("app/ui/dialogs/buy_now_dialog",["module","require","exports","core/component","core/utils","app/ui/with_dialog","app/ui/with_position","app/utils/with_iframe_height_adjuster","app/data/with_card_metadata"],function(module, require, exports) {
function buyNowConfirmDialog(){this.defaultAttrs({buyNowDialogIframeSelector:".buy-now-card-iframe",buyNowActionSelector:".BuyNowCard-buyNowAction",buyNowCardCtaClass:"BuyNowCard-button",buyNowCardImageClass:"BuyNowCard-productImageWrapper",buyNowTweetSelector:".tweet",commerceCardSelector:".BuyNowCard",top:47,defaultHeight:"400px",productDetailViewSelector:".BuyNow-productDetailView",paymentInfoViewSelector:".BuyNow-paymentInfoView"}),this.openDialog=function(a,b){if(!this.attr.loggedIn){this.trigger(document,"uiOpenSignupDialog");return}if(b&&b.el){var c=$(b.el).closest(this.attr.buyNowTweetSelector),d=c.data("tweet-id"),e="/i/pay/status/"+d;this.promotedMetadata=this.extractPromotedMetadata(c),this.scribingData=this.getCardDataFromContainer(c),this.trigger("uiBuyNowCardClicked",utils.merge(this.scribingData,this.promotedMetadata,{action:$(b.el).data("action")})),this.select("buyNowDialogIframeSelector").attr("src",e),this.open()}},this.openBuyNowDialogFromId=function(a,b){var c=b.buyNowTweetId;if(!this.attr.loggedIn){this.trigger(document,"uiOpenSignupDialog");return}this.promotedMetadata={impressionId:b.impressionId,disclosureType:b.disclosureType};var d="/i/pay/status/"+c;this.select("buyNowDialogIframeSelector").attr("src",d),this.open()},this.closeDialog=function(a,b){this.activeViewSelector===this.attr.paymentInfoViewSelector?this.trigger("uiCommerceFlowAborted",{component:"store_profile",scribingData:this.scribingData}):this.purchaseSuccess||this.trigger("uiCommerceFlowAborted",{component:"product_detail",scribingData:this.scribingData}),this.purchaseSuccess=!1,this.select("buyNowDialogIframeSelector").attr("src","about:blank"),this.select("buyNowDialogIframeSelector").css("height",this.attr.defaultHeight),this.off(window,"message",this.adjustIframeHeight)},this.adjustIframeHeight=function(a){var b={iframeSelector:this.attr.buyNowDialogIframeSelector,isQualified:function(a){return a.name&&a.name==="buy_now"&&a.height}};this.fitIframeHeight(a,b)},this.showSuccessMessage=function(a,b){this.purchaseSuccess=!0,this.trigger("uiCloseDialog"),this.trigger("uiShowMessage",{message:b.message}),this.trigger("uiCommerceBuyNowSuccess",this.promotedMetadata)},this.setActiveViewSelector=function(a,b){this.activeViewSelector=b.selector||""},this.extractPromotedMetadata=function(a){return{impressionId:a.data("impression-id"),disclosureType:a.data("disclosure-type")}},this.setupMessageListener=function(){this.on(window,"message",this.adjustIframeHeight)},this.after("initialize",function(){this.purchaseSuccess=!1,this.activeViewSelector="",this.on("uiDialogOpened",this.setupMessageListener),this.on("uiDialogClosed",this.closeDialog),this.on(window,"MacawCardOpenBuyNowDialog",this.openBuyNowDialogFromId),this.on(document,"uiCommerceShowSuccessMessage",this.showSuccessMessage),this.on(document,"uiCommerceSetActiveViewSelector",this.setActiveViewSelector),this.on(document,"click",{buyNowActionSelector:this.openDialog})})}var defineComponent=require("core/component"),utils=require("core/utils"),withDialog=require("app/ui/with_dialog"),withPosition=require("app/ui/with_position"),withIframeHeightAdjuster=require("app/utils/with_iframe_height_adjuster"),withCardMetadata=require("app/data/with_card_metadata"),BuyNowConfirmDialog=defineComponent(buyNowConfirmDialog,withDialog,withPosition,withIframeHeightAdjuster,withCardMetadata);module.exports=BuyNowConfirmDialog
});
define("app/data/commerce/buy_now_dialog_scribe",["module","require","exports","core/component","app/data/with_scribe","app/data/with_card_metadata"],function(module, require, exports) {
function buyNowDialogScribe(){this.convertCardDataToScribeData=function(a){return a&&{items:[this.getCard2Item(a)]}},this.scribeFlowAborted=function(a,b){this.scribe({page:"buy_now",component:b.component,action:"exit"},this.convertCardDataToScribeData(b.scribingData))},this.scribeBuyNowCardCtaClicked=function(a,b){var c=this.convertCardDataToScribeData(b);this.scribe({action:b.action},c)},this.after("initialize",function(){this.on("uiCommerceFlowAborted",this.scribeFlowAborted),this.on("uiBuyNowCardClicked",this.scribeBuyNowCardCtaClicked)})}var defineComponent=require("core/component"),withScribe=require("app/data/with_scribe"),withCardMetadata=require("app/data/with_card_metadata");module.exports=defineComponent(buyNowDialogScribe,withScribe,withCardMetadata)
});
define("app/ui/dialogs/captcha_challenge_dialog",["module","require","exports","core/component","app/ui/with_dialog"],function(module, require, exports) {
function captchaChallengeDialog(){this.defaultAttrs({challengeSelector:"#recaptcha_challenge_field",responseSelector:"#recaptcha_response_field",submitSelector:"#recaptcha_submit",captchaName:"Captcha",bodyTextSelector:".modal-text",captchaFormSelector:"#captcha-challenge-form",recaptchaPublicKey:"6LfbTAAAAAAAAE0hk8Vnfd1THHnn9lJuow6fgulO"}),this.refreshCaptchaDialog=function(a,b){this.reloadCaptcha(),this.open()},this.reloadCaptcha=function(){window.Recaptcha&&window.Recaptcha.reload()},this.submitCaptcha=function(){var a=this.select("challengeSelector").val(),b=this.select("responseSelector").val();this.trigger("uiSubmitSpamChallenge",{challenge:a,response:b,challengeName:this.attr.captchaName})},this.getRecaptcha=function(a,b){this.isRecaptchaDefined()&&window.Recaptcha.create(this.attr.recaptchaPublicKey,"captcha-challenge-form",{theme:"clean",callback:function(){window.Recaptcha.focus_response_field(),a&&b.select("bodyTextSelector").text(a),b.open()}})},this.isRecaptchaDefined=function(){return typeof window.Recaptcha!="undefined"},this.openCaptchaDialog=function(a,b){this.getRecaptcha(b.message,this)},this.after("initialize",function(){this.on("click",{submitSelector:this.submitCaptcha}),this.on(document,"uiOpenSpamCaptchaChallenge",this.openCaptchaDialog),this.on(document,"uiCloseSpamCaptchaChallenge",this.blurAndCloseImmediately),this.on(document,"uiRefreshSpamCaptchaChallenge",this.refreshCaptchaDialog)})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog");module.exports=defineComponent(captchaChallengeDialog,withDialog)
});
define("app/utils/with_event_params",["module","require","exports","core/parameterize"],function(module, require, exports) {
function withEventParams(){this.rewriteEventName=function(a){var b=[];for(var c=1;c=0&&(this.trigger("uiUpdateConnectBadge",a),a.timestamp>=0&&(a.count>0||this.pastStorageTime())&&this.trigger("uiUpdateActivityHighlighting",a.timestamp),this.updateStorageTime())},this.pastStorageTime=function(){var a=(new Date).getTime(),b=this.storage.getItem(this.attr.keepBadgeStorageKey)||{until:0};return b.until0;this.$saveButton.attr("disabled",d||e)},this.after("open",function(){this.$saveButton=this.select("saveSelector"),this.$name=this.select("nameSelector"),this.$description=this.select("descriptionSelector"),this.toggleSaveButton()}),this.after("initialize",function(){this.on(document,"dataCustomTimelineUpdated",this.close),this.on("click",{saveSelector:this.saveCustomTimeline}),this.on("input",{nameSelector:this.toggleSaveButton}),this.on("uiTextChanged",this.toggleSaveButton)})}
});
define("app/ui/dialogs/create_custom_timeline_dialog",["module","require","exports","core/component","app/ui/compose/updating_text_counter","app/ui/with_dialog","app/ui/dialogs/with_create_or_edit_custom_timeline_dialog","template"],function(module, require, exports) {
function createCustomTimelineDialog(){this.defaultAttrs({createOrUpdateEventName:"uiCreateCustomTimeline",orderSelector:"[name=create-timeline-order]:checked"}),this.around("params",function(a){var b=a();return b.tweetId=this.tweetId,b.impressionId=this.impressionId,b}),this.openDialog=function(a,b){this.tweetId=b.tweetId,this.impressionId=b.impressionId;var c={is_create_dialog:!0,id_prefix:"create",curation_reverse_chron:!0},d=template["dialogs/create_or_edit_custom_timeline_dialog"].render(c,template);this.$node.html(d),this.$dialog=this.$dialogContainer.find(this.attr.modalSelector),this.open()},this.after("open",function(){UpdatingTextCounter.attachTo(".custom-timeline-name-field",{maxLength:25,superwarnLength:20,warnLength:15,textSelector:"#custom-timeline-name",counterSelector:".custom-timeline-name-count"}),UpdatingTextCounter.attachTo(".custom-timeline-description-field",{maxLength:160,superwarnLength:150,warnLength:140,textSelector:"#custom-timeline-description",counterSelector:".custom-timeline-description-count"})}),this.after("initialize",function(){this.on(document,"uiOpenCreateCustomTimelineDialog",this.openDialog)})}var defineComponent=require("core/component"),UpdatingTextCounter=require("app/ui/compose/updating_text_counter"),withDialog=require("app/ui/with_dialog"),withCreateOrEditCustomTimelineDialog=require("app/ui/dialogs/with_create_or_edit_custom_timeline_dialog"),template=require("template");module.exports=defineComponent(withDialog,withCreateOrEditCustomTimelineDialog,createCustomTimelineDialog)
});
define("app/ui/with_custom_timeline_create_button",["module","require","exports"],function(module, require, exports) {
module.exports=function(){this.defaultAttrs({createCustomTimelineSelector:".js-create-custom-timeline-button"}),this.openCreateDialog=function(){this.trigger("uiOpenCreateCustomTimelineDialog",{tweetId:this.tweetId,impressionId:this.impressionId})},this.after("initialize",function(){this.on("click",{createCustomTimelineSelector:this.openCreateDialog})})}
});
define("app/ui/dialogs/curate_dialog",["module","require","exports","core/component","app/ui/with_dialog","app/ui/with_custom_timeline_create_button","app/data/with_scribe","template"],function(module, require, exports) {
function curateDialog(){this.defaultAttrs({top:90,closeOnOtherDialogOpened:!0,timelineSelectorSelector:".timeline-selector",wasMemberSelector:".timeline-item .was-member",wasNotMemberSelector:".timeline-item .was-not-member",submitSelector:".js-submit"}),this.openDialog=function(a,b){var c=template["dialogs/curate_dialog"].render({},template);this.$node.html(c),this.$dialog=this.$dialogContainer.find(this.attr.modalSelector),this.tweetId=b.tweetId,this.impressionId=b.impressionId,this.trigger("uiNeedsFullCustomTimelines",{tweetId:b.tweetId}),this.scribe({component:"curate_dialog",action:"open"},b),this.open()},this.renderFullTimelinesList=function(a,b){this.select("timelineSelectorSelector").html(b.html)},this.submitChanges=function(){function a(a){return a.map(function(){return $(this).attr("data-timeline-id")}).get()}this.select("submitSelector").attr("disabled",!0);var b=this.select("wasMemberSelector").filter(":not(:checked)"),c=this.select("wasNotMemberSelector").filter(":checked"),d={removed:a(b),added:a(c),tweetId:this.tweetId,impressionId:this.impressionId};this.trigger("uiCurateTweets",d)},this.after("initialize",function(){this.on(document,"uiOpenCurateDialog",this.openDialog),this.on(document,"dataGotFullCustomTimelines",this.renderFullTimelinesList),this.on(document,"dataTweetsCurated",this.close),this.on("click",{submitSelector:this.submitChanges})})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog"),withCustomTimelineCreateButton=require("app/ui/with_custom_timeline_create_button"),withScribe=require("app/data/with_scribe"),template=require("template");module.exports=defineComponent(withDialog,curateDialog,withCustomTimelineCreateButton,withScribe)
});
define("app/ui/dialogs/delete_tweet_dialog",["module","require","exports","core/component","app/ui/with_dialog","app/ui/dialogs/with_modal_tweet"],function(module, require, exports) {
function deleteTweetDialog(){this.defaultAttrs({cancelSelector:".cancel-action",deleteSelector:".delete-action"}),this.openDeleteTweet=function(a,b){this.attr.sourceEventData=b,this.displayTweet(b.tweetId,{modal:"delete"}),this.id=b.id,this.open()},this.deleteTweet=function(){this.trigger("uiDidDeleteTweet",{id:this.id,sourceEventData:this.attr.sourceEventData})},this.deleteTweetSuccess=function(a,b){this.trigger("uiDidDeleteTweetSuccess",this.attr.sourceEventData),this.close()},this.restoreFocusToTweet=function(a){$(a.target).is(this.$dialog)&&this.activeEl&&this.trigger($(this.activeEl).closest(".tweet"),"uiShouldAddFocusStyle")},this.after("initialize",function(){this.on("click",{cancelSelector:this.close,deleteSelector:this.deleteTweet}),this.on(document,"uiOpenDeleteDialog",this.openDeleteTweet),this.on(document,"dataDidDeleteTweet",this.deleteTweetSuccess),this.on(document,"uiDialogRestorePreviousFocus",this.restoreFocusToTweet),this.on(document,"uiCloseDeleteTweetDialog",this.close)})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog"),withModalTweet=require("app/ui/dialogs/with_modal_tweet"),DeleteTweetDialog=defineComponent(deleteTweetDialog,withDialog,withModalTweet);module.exports=DeleteTweetDialog
});
define("app/data/dm/utils",["module","require","exports"],function(module, require, exports) {
module.exports={triggerFn:function(a,b,c){return b=Array.isArray(b)?b:[b],function(d){b.forEach(function(b){var e=$.isFunction(b)?b(d):b,f=$.isFunction(c)?c(d):c;e&&$(a).trigger(e,f||d)})}},chain:function(){var a=Array.prototype.slice.call(arguments);return function(){var b=Array.prototype.slice.call(arguments);for(var c in a)$.isFunction(a[c])&&a[c].apply(a[c],b)}}}
});
define("app/data/dm/add_participants",["module","require","exports","core/component","app/data/with_data","app/data/dm/utils"],function(module, require, exports) {
function addParticipants(){this.defaultAttrs({noShowError:!0}),this.addParticipants=function(a,b){b=b||{},this.post({url:"/i/direct_messages/add_participants",data:{id:b.conversation_id,participant_ids:b.participant_ids},eventData:b,success:triggerFn(a.target,"dataDMConversationResult"),error:triggerFn(a.target,"dataDMError")})},this.after("initialize",function(){this.on("uiAddConversationParticipants",this.addParticipants)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),utils=require("app/data/dm/utils"),triggerFn=utils.triggerFn;module.exports=defineComponent(addParticipants,withData)
});
define("app/data/dm/card_prefetcher",["module","require","exports","core/component","app/data/with_data","app/utils/debounce_with_threshold"],function(module, require, exports) {
function cardPrefetcher(){this.defaultAttrs({basePrefetchEndpointUrl:"/i/cards/preview/v1",cardPrefetchInterval:1e4,prefetchOnLeadingEdge:!0}),this.filterCachedUri=function(a){return!this.prefetchedUri[a]},this.prefetchCardWithUri=function(a){this.prefetchedUri[a]=!0,this.get({url:this.attr.basePrefetchEndpointUrl,data:{card_uri:a}})},this.setCardUriParam=function(a,b){var c=b&&b.urls;Array.isArray(c)&&(c.length===1?this.trigger("uiSetDmCreateCardUriParam",{cardUri:c[0]}):this.trigger("uiResetDmCreateCardUriParam"))},this.prefetchCard=function(a,b){var c=b&&b.urls;Array.isArray(c)&&c.length===1&&c.filter(this.filterCachedUri,this).forEach(this.prefetchCardWithUri,this)},this.after("initialize",function(){this.prefetchedUri={},this.on("uiGotUrlInText",this.setCardUriParam),this.on("uiGotUrlInText",debounceWithThreshold(this.prefetchCard,this.attr.cardPrefetchInterval,this.attr.cardPrefetchInterval,this.attr.prefetchOnLeadingEdge))})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),debounceWithThreshold=require("app/utils/debounce_with_threshold"),CardPrefetcher=defineComponent(cardPrefetcher,withData);module.exports=CardPrefetcher
});
define("app/utils/dm/dm_utils",["module","require","exports","core/i18n","app/utils/string"],function(module, require, exports) {
var _=require("core/i18n"),StringUtils=require("app/utils/string"),dmUtils={generateConversationName:function(a){if(a.length===1)return a[0].name;if(a.length===2)return _('{{first}}, {{second}}',{first:a[0].name,second:a[1].name});if(a.length>2)return _('{{first}} + {{count}}',{first:a[0].name,count:a.length-1})},generateConversationId:function(a,b){if(a&&b){var c=[a,b];return(StringUtils.compare(c[0],c[1])<0?c:c.reverse()).join("-")}},sortRecipients:function(a){return(a||[]).sort(function(a,b){return StringUtils.compare(a.id,b.id)})}};module.exports=dmUtils
});
define("app/ui/dm/tokenized_multiselect",["module","require","exports","core/component","app/ui/compose/with_text_editor","template","app/utils/keycode_map"],function(module, require, exports) {
function tokenizedMultiselect(){this.keymap=keymap;var a=0,b=1;this.attributes({textSelector:"textarea.TokenizedMultiselect-input",inputContainerSelector:".TokenizedMultiselect-inputContainer",textMinWidth:100,tokenClass:"InputToken",tokenSelector:".InputToken",tokenTemplate:"dm/tokenized_multiselect_token",focusedTokenSelector:".InputToken:focus",tokenDeleteClass:"InputToken-delete",tokenDeleteSelector:".InputToken-delete",highlightedClass:"is-highlighted",highlightedSelector:".is-highlighted",selectedClass:"is-selected",suggestionClass:"TokenizedMultiselect-suggestion",suggestionSelector:".TokenizedMultiselect-suggestion",suggestionsContainerSelector:".TokenizedMultiselect-suggestionsContainer",maxItems:50}),this.handleKeyPress=function(c){if(c.type!=="keydown"||c.shiftKey)return;var d=c.which||c.keycode,e=this.select("focusedTokenSelector").length,f=this.select("highlightedSelector").length,g=!this.$text.val();switch(d){case keymap.TAB:e?(c.preventDefault(),c.stopPropagation(),this.focusInput()):f&&(c.preventDefault(),c.stopPropagation(),this.tokenizeHighlightedSuggestion());break;case keymap.ENTER:c.preventDefault(),this.toggleTokenization();break;case keymap.ESC:f&&(c.preventDefault(),c.stopPropagation(),this.clearHighlight());break;case keymap.BACKSPACE:e?(this.removeFocusedToken(),c.preventDefault()):g&&(this.removeLastToken(),c.preventDefault());break;case keymap.DELETE:e&&this.removeFocusedToken();break;case keymap.UP:c.preventDefault(),e&&this.focusInput(),this.moveSuggestionHighlight(b);break;case keymap.DOWN:c.preventDefault(),e&&this.focusInput(),this.moveSuggestionHighlight(a);break;case keymap.LEFT:e?this.focusNeighbor(b):g&&this.focusLastToken();break;case keymap.RIGHT:e&&this.focusNeighbor(a)}},this.focusNeighbor=function(b){var c=b===a?"next":"prev",d=this.select("focusedTokenSelector");d.length&&d[c]().focus()},this.focusLastToken=function(){this.select("tokenSelector").last().focus()},this.focusInput=function(){this.$text.focus()},this.removeFocusedToken=function(b){var c=this.select("focusedTokenSelector");b&&b.type==="click"?this.focusInput():this.focusNeighbor(a),this.removeToken(c)},this.removeLastToken=function(){this.removeToken(this.select("tokenSelector").last())},this.removeToken=function(a){a.length&&(this.trigger("uiTokenizedMultiselectTokenRemoved",{text:a.attr("data-token-text"),id:a.attr("data-token-id")}),a.remove())},this.getFirstSuggestion=function(){return this.select("suggestionSelector").first()},this.getHighlightedSuggestion=function(){return this.select("highlightedSelector").first()},this.getNeighboringSuggestion=function(b,c){var d=c===a?"nextAll":"prevAll";return b[d](this.attr.suggestionSelector).first()},this.moveSuggestionHighlight=function(a){var b=this.getHighlightedSuggestion(),c=this.getNeighboringSuggestion(b,a);b.length?c.length&&this.setHighlight(c):this.setHighlight(this.getFirstSuggestion())},this.toggleTokenization=function(){var a=this.getHighlightedSuggestion(),b=a.attr("data-token-id");this.isTokenized(a)?(this.removeToken(this.select("tokenSelector").filter('[data-token-id="'+b+'"]')),this.$text.val("").focus()):this.tokenizeHighlightedSuggestion()},this.tokenizeHighlightedSuggestion=function(){var a=this.getHighlightedSuggestion();if(!this.canTokenize(a))return;var b=$(template[this.attr.tokenTemplate].render({token_class:this.attr.tokenClass,token_delete_class:this.attr.tokenDeleteClass,token_text:a.attr("data-token-text"),token_id:a.attr("data-token-id")},template));a.addClass(this.attr.selectedClass),this.$text.before(b),this.$text.val("").focus(),this.trigger("uiTokenizedMultiselectTokenAdded",{text:b.attr("data-token-text"),id:b.attr("data-token-id")})},this.isTokenized=function(a){return $.inArray(a.attr("data-token-id"),this.getSelectedItemsIds())>=0},this.canTokenize=function(a){var b=this.select("tokenSelector").length>=this.attr.maxItems;return!b&&a.length&&!this.isTokenized(a)},this.getSelectedItemsIds=function(){return $.map(this.select("tokenSelector"),function(a){return $(a).attr("data-token-id")})},this.getSelectedItems=function(){return $.map(this.select("tokenSelector"),function(a){return{id:$(a).attr("data-token-id"),text:$(a).attr("data-token-text")}})},this.handleTextChange=function(a,b){this.trigger("uiTokenizedMultiselectTextChanged",{text:b.text,selected_items:this.getSelectedItemsIds()})},this.handleMouseOver=function(a){this.setHighlight($(a.target).closest(this.attr.suggestionSelector))},this.updateWidth=function(){var a=this.select("tokenSelector").last();if(a.length){var b=this.select("inputContainerSelector").width()-a.position().left-a.outerWidth(!0),c=bthis.$text.prop("clientHeight")&&this.$text.outerWidth("100%")},this.selectedItemsChanged=function(){this.trigger("uiTokenizedMultiselectItemSelectionChanged",{selected_items:this.getSelectedItems()})},this.updateScroll=function(){var a=this.getHighlightedSuggestion(),b=this.select("suggestionsContainerSelector"),c=b.prop("scrollTop"),d=a.position().top+a.outerHeight();if(d>b.height()){var e=d-b.height();b.scrollTop(c+e)}else a.position().top<0&&b.scrollTop(c+a.position().top)},this.reset=function(){this.select("tokenSelector").remove(),this.$text.val("")},this.setMaxItems=function(a){this.attr.maxItems=a.maxItems},this.handleTokenChange=function(){this.updateWidth(),this.selectedItemsChanged()},this.updateSuggestions=function(a,b){var c=b.html,d=b.preserve_previous_hightlight,e=this.select("highlightedSelector").first().attr("data-token-id");this.clearHighlight(),this.select("suggestionsContainerSelector").html(c);if(d){var f=this.select("suggestionSelector").filter('[data-token-id="'+e+'"]').first(),g=f.length?f:this.select("suggestionSelector").first();this.setHighlight(g)}},this.clearHighlight=function(){this.select("suggestionSelector").removeAttr("id aria-selected").removeClass(this.attr.highlightedClass),this.$text.removeAttr("aria-activedescendant")},this.setHighlight=function(a){this.clearHighlight();var b="tokenizedMultiselectHighlight"+Math.floor(Math.random()*1e10).toString();a.addClass(this.attr.highlightedClass).attr({id:b,"aria-selected":!0}),this.$text.attr("aria-activedescendant",b)},this.after("moveSuggestionHighlight",this.updateScroll),this.after("tokenizeHighlightedSuggestion",this.handleTokenChange),this.after("toggleTokenization",this.handleTokenChange),this.after("removeFocusedToken",this.handleTokenChange),this.after("removeLastToken",this.handleTokenChange),this.after("reset",this.handleTokenChange),this.setupAria=function(){var a="TokenizedMultiselectOwns"+Math.floor(Math.random()*1e10).toString();this.select("suggestionsContainer").attr("id",a),this.$text.attr("aria-owns",a)},this.after("initialize",function(){this.initTextNode(),this.attr.placeholderText=this.$text.attr("placeholder"),this.setupAria(),this.on("uiTextChanged",this.handleTextChange),this.on("uiTextChanged",this.updateWidth),this.on("keyup keydown keypress paste",this.handleKeyPress),this.on("uiResetTokenizedMultiselect",this.reset),this.on("uiTokenizedMultiSelectMaxItems",this.setMaxItems),this.on("uiTokenizedMultiselectSuggestions",this.updateSuggestions),this.on("mouseover",{suggestionSelector:this.handleMouseOver}),this.on("click",{suggestionSelector:this.toggleTokenization,tokenDeleteSelector:this.removeFocusedToken})})}var defineComponent=require("core/component"),withTextEditor=require("app/ui/compose/with_text_editor"),template=require("template"),keymap=require("app/utils/keycode_map"),TokenizedMultiselect=defineComponent(tokenizedMultiselect,withTextEditor);module.exports=TokenizedMultiselect
});
define("app/ui/dm/typeahead",["module","require","exports","core/i18n","core/component","app/ui/dm/tokenized_multiselect","template","app/utils/with_no_teardown_child_components"],function(module, require, exports) {
function dmTypeahead(){this.attributes({textSelector:"textarea.TokenizedMultiselect-input",selectedClass:"is-selected",suggestionClass:"DMTypeaheadSuggestion",suggestionSelector:".DMTypeaheadSuggestion",highlightedClass:"is-highlighted",highlightedSelector:".is-highlighted",suggestionsContainerSelector:".DMTypeaheadSuggestionsContainer",tokenIdDelimiter:"::",suggestionsTemplate:"dm/typeahead_suggestions",topAccountsLength:5,accountsDatasource:"dmAccounts",conversationsDatasource:"dmConversations",typeaheadSrc:"compose_message",preselectedItems:[],maxItems:50}),this.buildAccountTemplateData=function(a){var b=a.id_str,c=this.generateTokenId(this.attr.accountsDatasource,b),d=this.isItemSelected(c),e=this.isPreSelected(b),f=e?"":this.attr.suggestionClass,g=this.hasBusinessContext(a);return{data_token_id:c,data_token_text:a.name,suggestion_class:f,title:{text:a.name,screen_name:a.screen_name,verified:a.verified},avatar:{images:{src:a.profile_image_url_https,alt:a.name}},selected:d,preselected:e,is_group:!1,has_business_context:g}},this.buildGroupTemplateData=function(a){return{data_token_id:this.generateTokenId(this.attr.conversationsDatasource,a.id),data_token_text:a.emojified_title,suggestion_class:this.attr.suggestionClass,html:a.html,is_group:!0}},this.buildTemplateDataFromDMConversation=function(a){if(a.is_group)return this.buildGroupTemplateData(a);if(a.participants.length===1)return this.buildAccountTemplateData(a.participants[0])},this.processEmptyQuerySuggestions=function(a){var b=a.suggestions.dmConversations||[],c=b.map(this.buildTemplateDataFromDMConversation.bind(this)),d=template["dm/typeahead_initial_suggestions"].render({suggestions:c,has_suggestions:Boolean(c.length)},template);this.trigger("uiTokenizedMultiselectSuggestions",{html:d,preserve_previous_hightlight:!1})},this.processNonEmptyQuerySuggestions=function(a){var b=(a.suggestions.dmAccounts||[]).map(this.buildAccountTemplateData.bind(this)),c=(a.suggestions.dmConversations||[]).map(this.buildGroupTemplateData.bind(this)),d=c.length?b.slice(0,this.attr.topAccountsLength):b,e=template[this.attr.suggestionsTemplate].render({accounts:d,groups:c,has_accounts:d.length,has_groups:c.length},template);this.trigger("uiTokenizedMultiselectSuggestions",{html:e,preserve_previous_hightlight:!0})},this.processSuggestions=function(a,b){var c=b.queryData&&b.queryData.query;if(!b.suggestions||this.currentQuery!==c)return;c===""?this.processEmptyQuerySuggestions(b):this.processNonEmptyQuerySuggestions(b)},this.requestEmptyQuerySuggestions=function(){var a=this.attr.preselectedItems||[],b={id:this.typeaheadId,queryData:{query:"",dmConversationsOptions:{excludeGroups:this.selectedItems.length||a.length,sortBySortId:!0,excludeOneToOnes:!1}},datasources:[this.attr.conversationsDatasource]};this.trigger("uiNeedsTypeaheadSuggestions",b)},this.requestSuggestions=function(a,b){this.currentQuery=b.text;if(this.currentQuery===""){this.requestEmptyQuerySuggestions();return}var c=this.attr.preselectedItems||[],d=this.selectedItems.length||c.length,e=d?[this.attr.accountsDatasource]:[this.attr.accountsDatasource,this.attr.conversationsDatasource],f={id:this.typeaheadId,queryData:{query:b.text,typeaheadSrc:this.attr.typeaheadSrc,dmConversationsOptions:{excludeGroups:d,sortBySortId:!1,excludeOneToOnes:!d}},datasources:e};this.trigger("uiNeedsTypeaheadSuggestions",f)},this.splitTokenId=function(a){var b=a.split(this.attr.tokenIdDelimiter);return{datasource:b[0],id:b[1]}},this.handleItemSelected=function(a,b){this.selectedItems=b.selected_items||[];var c=this.selectedItems.map(function(a){var b=this.splitTokenId(a.id);return{datasource:b.datasource,id:b.id,text:a.text}},this),d=c.filter(function(a){return a.datasource===this.attr.accountsDatasource},this).map(function(a){return{id:a.id,name:a.text}}),e=c.filter(function(a){return a.datasource===this.attr.conversationsDatasource},this).map(function(a){return{id:a.id,name:a.text}});this.trigger("uiDMTypeaheadSelectedItemsChanged",{accounts:d,groups:e})},this.generateTokenId=function(a,b){return a+this.attr.tokenIdDelimiter+b},this.isItemSelected=function(a){var b=this.selectedItems.map(function(a){return a.id});return $.inArray(a+"",b||[])>=0},this.isPreSelected=function(a){return $.inArray(a+"",this.attr.preselectedItems||[])>=0},this.hasBusinessContext=function(a){return a.customer_service_state==="enabled"},this.resetAndInitialize=function(a,b){this.select("suggestionsContainerSelector").empty(),this.trigger("uiResetTokenizedMultiselect"),this.attr.preselectedItems=b&&b.preselectedItems&&b.preselectedItems.length?b.preselectedItems:[],b&&b.maxItems&&(this.attr.maxItems=b.maxItems,this.trigger("uiTokenizedMultiSelectMaxItems",{maxItems:b.maxItems})),this.selectedItems=[],this.requestEmptyQuerySuggestions(),this.currentQuery=""},this.after("handleItemSelected",this.requestEmptyQuerySuggestions),this.handleTokenChangeAccessibility=function(a,b){var c=this.splitTokenId(b.id);if(c.datasource===this.attr.accountsDatasource){var d=a.type==="uiTokenizedMultiselectTokenAdded"?_('\u0414\u043e\u0431\u0430\u0432\u0438\u043b(\u0430) {{user}}',{user:b.text}):_('\u0423\u0434\u0430\u043b\u0438\u043b(\u0430) {{user}}',{user:b.text});this.trigger("uiShouldSpeakMessage",{message:d})}},this.after("initialize",function(){this.typeaheadId="dm_typeahead"+Math.floor(Math.random()*1e6),this.attachChild(TokenizedMultiselect,this.$node,this.attr),this.on("uiTokenizedMultiselectTokenAdded uiTokenizedMultiselectTokenRemoved",this.handleTokenChangeAccessibility),this.on("uiTokenizedMultiselectTextChanged",this.requestSuggestions),this.on(document,"dataTypeaheadSuggestionsResults",this.processSuggestions),this.on("uiTokenizedMultiselectItemSelectionChanged",this.handleItemSelected),this.on("uiInitializeDMTypeahead",this.resetAndInitialize),this.selectedItems=[],this.requestEmptyQuerySuggestions()})}var _=require("core/i18n"),defineComponent=require("core/component"),TokenizedMultiselect=require("app/ui/dm/tokenized_multiselect"),template=require("template"),withNoTeardownChildComponents=require("app/utils/with_no_teardown_child_components"),DMTypeahead=defineComponent(dmTypeahead,withNoTeardownChildComponents);module.exports=DMTypeahead
});
define("app/ui/dm/compose/activity",["module","require","exports","core/component","app/utils/dm/dm_utils","app/utils/guard","app/utils/keycode_map","lib/twitter-text","core/utils","app/ui/dm/typeahead","app/utils/with_no_teardown_child_components"],function(module, require, exports) {
function dmCompose(){this.attributes({nextButtonSelector:".dm-initiate-conversation",dmTypeaheadSelector:".DMDialogTypeahead",maxParticipants:50,currentUserId:null}),this.enable=function(){this.select("nextButtonSelector").removeClass("disabled").attr("disabled",!1)},this.disable=function(){this.select("nextButtonSelector").addClass("disabled").attr("disabled",!0)},this.isGroupSelected=function(a,b){return b&&b.groups&&b.groups.length},this.initiateConversationFromSelectedGroup=function(a,b){var c=b.groups[0];this.initiateConversation("uiRenderConversationView",{conversation_id:c.id,name:c.name})},this.isNextButtonSelected=function(a,b){return a.type==="click"||a.type==="keydown"&&a.which===keymap.ENTER},this.initiateConversationFromSelectedAccounts=function(){var a,b;switch(this.selectedAccounts.length){case 0:a="uiRenderNewConversationView",b={name:"@"+this.manualScreenName,screen_names:this.manualScreenName?[this.manualScreenName]:[]};break;case 1:var c=this.selectedAccounts[0];a="uiRenderConversationView",b={conversation_id:dmUtils.generateConversationId(this.attr.currentUserId,c.id),name:c.name,is_oto:!0};break;default:var d=this.selectedAccounts.map(function(a){return a.id});a="uiRenderNewConversationView",b={name:dmUtils.generateConversationName(this.selectedAccounts),recipient_ids:d}}this.initiateConversation(a,b)},this.reset=function(a,b){this.trigger("uiInitializeDMTypeahead"),this.defaultComposerText=b&&b.default_composer_text||"",this.hasTweetAttachment=b&&b.has_tweet_attachment||!1},this.storeSelectedAccounts=function(a,b){this.selectedAccounts=b.accounts||[]},this.handleTextChange=function(a,b){var c=(b.text||"").replace(/^@/,"");this.manualScreenName=twitterText.isValidUsername("@"+c)?c:""},this.initiateConversation=function(a,b){this.trigger(a,utils.merge(b,{default_composer_text:this.defaultComposerText,has_tweet_attachment:this.hasTweetAttachment,retain_tweet_attachment:!0})),this.reset()},this.updateState=function(a,b){var c=this.manualScreenName,d=this.selectedAccounts.length;c||d?this.enable():this.disable()},this.after("handleTextChange",this.updateState),this.after("storeSelectedAccounts",this.updateState),this.after("reset",this.updateState),this.after("initialize",function(){this.attachChild(DMTypeahead,this.$node,{maxItems:this.attr.maxParticipants-1}),this.selectedAccounts=[],this.on("uiDMTypeaheadSelectedItemsChanged",this.storeSelectedAccounts),this.on("uiDMTypeaheadSelectedItemsChanged",guard(this.initiateConversationFromSelectedGroup,this.isGroupSelected)),this.on("uiTextChanged",this.handleTextChange),this.on("click keydown",{nextButtonSelector:guard(this.initiateConversationFromSelectedAccounts,this.isNextButtonSelected)}),this.on(document,"uiOpenNewDM",this.reset)})}var defineComponent=require("core/component"),dmUtils=require("app/utils/dm/dm_utils"),guard=require("app/utils/guard"),keymap=require("app/utils/keycode_map"),twitterText=require("lib/twitter-text"),utils=require("core/utils"),DMTypeahead=require("app/ui/dm/typeahead"),withNoTeardownChildComponents=require("app/utils/with_no_teardown_child_components"),DMCompose=defineComponent(dmCompose,withNoTeardownChildComponents);module.exports=DMCompose
});
define("app/data/dm/publish_typing",["module","require","exports","core/component","app/data/with_data"],function(module, require, exports) {
function publishDMTyping(){this.publishTyping=function(a,b){if(!b||!b.conversation_id)return;this.trigger("dataDMTypingPublished"),this.post({url:"/i/direct_messages/publish_typing",data:{conversation_id:b.conversation_id}})},this.after("initialize",function(){this.on("uiDMUserTyping",this.publishTyping)})}var defineComponent=require("core/component"),withData=require("app/data/with_data");module.exports=defineComponent(publishDMTyping,withData)
});
define("app/ui/dm/add_participants/activity",["module","require","exports","core/component","app/ui/dm/typeahead","app/utils/keycode_map","app/utils/with_no_teardown_child_components"],function(module, require, exports) {
function addParticipants(){this.attributes({addParticipantsSelector:".DMAddParticipants",addParticipantsInputSelector:".TokenizedMultiselect-input",addParticipantsDoneSelector:".DMAddParticipants-done",dialogBodySelector:".DMAddParticipants-content",spinnerSelector:".DMAddParticipants-spinner"}),this.setParticipants=function(a,b){if(!this.conversationId||this.conversationId!==b.conversation_id)return;this.resetDMTypeahead(b),this.select("dialogBodySelector").css("visibility","visible"),this.select("spinnerSelector").addClass("u-hidden"),this.select("addParticipantsInputSelector").focus()},this.resetDMTypeahead=function(a){var b=a||{},c=b.participants&&b.participants.map(function(a){return a.id});this.trigger(this.attr.addParticipantsSelector,"uiInitializeDMTypeahead",{preselectedItems:c,maxItems:b.additional_participants_allowed})},this.prepareAddParticipants=function(a,b){this.conversationId=b.conversation_id,this.select("dialogBodySelector").css("visibility","hidden"),this.select("spinnerSelector").removeClass("u-hidden"),this.resetDMTypeahead(),this.trigger("uiNeedsDMConversation",{conversation_id:b.conversation_id})},this.addParticipants=function(){this.conversationId&&this.selectedAccounts.length&&this.trigger("uiAddConversationParticipants",{conversation_id:this.conversationId,participant_ids:this.selectedAccounts}),this.trigger("uiDMAddParticipantsDone")},this.handleSelectedItems=function(a,b){var c=b&&b.accounts&&b.accounts.length?b.accounts:[];this.selectedAccounts=c.map(function(a){return a.id})},this.possibleAddParticipants=function(a,b){(a.type==="click"||a.type==="keydown"&&a.which===keymap.ENTER)&&this.addParticipants()},this.after("initialize",function(){this.attachChild(DMTypeahead,this.select("addParticipantsSelector")),this.selectedAccounts=[],this.on("uiDMTypeaheadSelectedItemsChanged",this.handleSelectedItems),this.on(document,"dataDMConversationResult",this.setParticipants),this.on("uiAddParticipants",this.prepareAddParticipants),this.on("click keydown",{addParticipantsDoneSelector:this.possibleAddParticipants})})}var defineComponent=require("core/component"),DMTypeahead=require("app/ui/dm/typeahead"),keymap=require("app/utils/keycode_map"),withNoTeardownChildComponents=require("app/utils/with_no_teardown_child_components");module.exports=defineComponent(addParticipants,withNoTeardownChildComponents)
});
define("app/ui/dm/conversation/conversation_actions",["module","require","exports","core/component","app/data/user_info"],function(module, require, exports) {
function conversationActions(){this.attributes({conversationIdSelector:"[data-conversation-id]",conversationTypeSelector:"[data-is-oto]",addParticipantsSelector:".js-actionAddParticipants",viewParticipantsSelector:".js-actionViewParticipants",editConversationNameSelector:".js-actionEditConversationName",deleteConversationSelector:".js-actionDeleteConversation",reportConversationSelector:".js-actionReportConversation",enableNotificationsSelector:".js-actionEnableNotifications",disableNotificationsSelector:".js-actionDisableNotifications",actionsContainerSelector:".DMConversationActions-content"}),this.getConversationId=function(){return this.select("conversationIdSelector").attr("data-conversation-id")},this.isGroupConversation=function(){return!this.select("conversationTypeSelector").data("is-oto")},this.toggleNotificationsAction=function(a){this.select("enableNotificationsSelector").toggleClass("u-hidden",!!a),this.select("disableNotificationsSelector").toggleClass("u-hidden",!a)},this.toggleNotifications=function(a){this.trigger("uiToggleNotifications",{conversation_id:this.getConversationId(),enable_notifications:a})},this.updateNotificationsState=function(a,b){switch(a.type){case"dataDMConversationResult":b.conversation_actions&&this.getConversationId()===b.conversation_actions.conversation_id&&this.toggleNotificationsAction(b.conversation_actions.notifications);break;case"dataNotificationsEnabled":case"dataNotificationsDisableFailed":this.getConversationId()===b.sourceEventData.conversation_id&&this.toggleNotificationsAction(!0);break;case"dataNotificationsDisabled":case"dataNotificationsEnableFailed":this.getConversationId()===b.sourceEventData.conversation_id&&this.toggleNotificationsAction(!1)}},this.triggerAction=function(a){this.trigger(a,{conversation_id:this.getConversationId(),is_group:this.isGroupConversation()})},this.updateUIOnToggle=function(a,b){this.toggleNotificationsAction(b.enable_notifications)},this.after("initialize",function(){this.on("uiToggleNotifications",this.updateUIOnToggle),this.on("uiEnableDMNotifications",this.toggleNotifications.bind(this,!0)),userInfo.getDecider("dm_granular_mute_controls")?this.on("uiDisableDMNotifications","uiShowDMMuteNotificationsConfirmation"):this.on("uiDisableDMNotifications",this.toggleNotifications.bind(this,!1)),this.on("click",{enableNotificationsSelector:"uiEnableDMNotifications",disableNotificationsSelector:"uiDisableDMNotifications",addParticipantsSelector:this.triggerAction.bind(this,"uiAddParticipants"),viewParticipantsSelector:this.triggerAction.bind(this,"uiViewParticipants"),editConversationNameSelector:this.triggerAction.bind(this,"uiEditConversationName"),deleteConversationSelector:this.triggerAction.bind(this,"uiShowDMDeleteConversationConfirmation"),reportConversationSelector:this.triggerAction.bind(this,"uiShowDMReportConversationConfirmation"),actionsContainerSelector:"uiCloseDropdowns"}),this.on("dataDMConversationResult dataNotificationsEnabled dataNotificationsDisabled dataNotificationsEnableFailed dataNotificationsDisableFailed",this.updateNotificationsState)})}var defineComponent=require("core/component"),userInfo=require("app/data/user_info"),ConversationActions=defineComponent(conversationActions);module.exports=ConversationActions
});
define("app/ui/dm/conversation/conversation_history",["module","require","exports","core/component","core/utils"],function(module, require, exports) {
function conversationHistory(){this.requestAnimationFrame=window.requestAnimationFrame.bind(window),this.attributes({conversationContentSelector:".DMConversation-content",pageBackRange:500,scrollContainerSelector:".DMConversation-scrollContainer",spinnerSelector:".DMConversation-spinner"}),this.checkForConversationHistory=function(){this.requestAnimationFrame(function(){var a=!this.$spinner.hasClass("u-hidden")&&this.$scrollContainer.prop("clientHeight")!==0&&(this.$content.prop("clientHeight")c&&(this.state.current=this.state.current+1),this.state.previousInFlight=c,this.state.isVisible=c>0},this.updateConversationId=function(a,b){this.state={isVisible:!1,total:0,conversationId:b.conversation_id,current:0,previousInFlight:0},this.trigger("uiDMConversationNeedsInFlightState")},this.after("updateCount",this.render),this.after("updateConversationId",this.render),this.after("initialize",function(){this.on(document,"dataDMMessagesInFlight",this.updateCount),this.on(document,"uiRenderConversationView",this.updateConversationId)})}var defineComponent=require("core/component"),template=require("template");module.exports=defineComponent(sendStateIndicator)
});
define("app/ui/dm/conversation/delete_conversation",["module","require","exports","core/component"],function(module, require, exports) {
function deleteConversation(){this.attributes({notice:".DMDeleteConversation",confirm:".DMDeleteConversation-confirm",cancel:".DMDeleteConversation-cancel",groupVariantClass:"DMDeleteConversation--group"}),this.showConfirmation=function(a,b){var c=b&&b.is_group;this.select("notice").toggleClass(this.attr.groupVariantClass,!!c).trigger("uiShowDMNotice")},this.hideConfirmation=function(){this.select("notice").trigger("uiDismissDMNotice")},this.state=function(a,b){return this._state=b||this._state||{},this._state},this.deleteConversation=function(){var a=this.state();this.trigger("uiDeleteConversation",{conversation_id:a.conversation_id}),this.hideConfirmation(),this.trigger("uiDMInboxWantsRefreshed")},this.after("initialize",function(){this.on("uiShowDMDeleteConversationConfirmation",this.state),this.on("uiShowDMDeleteConversationConfirmation",this.showConfirmation),this.on("click",{confirm:this.deleteConversation,cancel:this.hideConfirmation})})}var defineComponent=require("core/component"),DeleteConversation=defineComponent(deleteConversation);module.exports=DeleteConversation
});
define("app/ui/dm/conversation/delete_message",["module","require","exports","core/component"],function(module, require, exports) {
function deleteMessage(){this.attributes({notice:".DMDeleteMessage",confirm:".DMDeleteMessage-confirm",cancel:".DMDeleteMessage-cancel"}),this.showConfirmation=function(){this.select("notice").trigger("uiShowDMNotice")},this.hideConfirmation=function(){this.select("notice").trigger("uiDismissDMNotice")},this.state=function(a,b){return this._state=b||this._state||{},this._state},this.deleteMessage=function(){var a=this.state();this.trigger("uiDMDialogDeleteMessage",{id:a.messageId,conversation_id:a.conversationId}),this.hideConfirmation(),this.trigger("uiDMInboxWantsRefreshed")},this.after("initialize",function(){this.on("uiShowDMDeleteMessageConfirmation",this.state),this.on("uiShowDMDeleteMessageConfirmation",this.showConfirmation),this.on("click",{confirm:this.deleteMessage,cancel:this.hideConfirmation})})}var defineComponent=require("core/component"),DeleteMessage=defineComponent(deleteMessage);module.exports=DeleteMessage
});
define("app/ui/dm/conversation/emoji_bar",["module","require","exports","core/component"],function(module, require, exports) {
function emojiBar(){this.attributes({emojiSuggestionSelector:".EmojiBar-suggestion"}),this.suggest=function(a,b){var c=$(a.target).closest(this.attr.emojiSuggestionSelector).data("text");c&&this.trigger("uiEmojiSuggestion",{text:c})},this.after("initialize",function(){this.on("click",{emojiSuggestionSelector:this.suggest})})}var defineComponent=require("core/component");module.exports=defineComponent(emojiBar)
});
define("app/ui/b2c/feedback_panel",["module","require","exports","core/component","app/utils/b2c/with_iframe_events_proxy","app/utils/with_iframe_height_adjuster","core/i18n"],function(module, require, exports) {
function feedbackPanel(){this.attributes({feedbackDismissSelector:".DMFeedback-dismiss",feedbackSelector:".DMFeedback",feedbackPageFrameSelector:"iframe.B2CFeedback"}),this.showFeedback=function(a,b){this.$b2cFeedback.is(":visible")||this.$b2cFeedback.show();var c="/i/pages/feedback?cardUri="+encodeURIComponent(a)+"&lang="+b;this.$feedbackIframe.attr("src")!==c&&this.$feedbackIframe.attr("src",c),this.trigger("uiFeedbackPanelOpened")},this.dismissFeedback=function(){var a=this.$feedbackIframe.data("current-view");this.closeFeedback(),this.trigger("uiB2CFeedbackDismiss",{cardName:this.feedback.name,feedbackId:this.feedback.feedback_id,currentView:a})},this.closeFeedback=function(){this.$b2cFeedback.hide(),this.$feedbackIframe.attr("src",""),this.trigger("uiFeedbackPanelClosed")},this.handleFeedbackError=function(a,b){var c=b&&b.errorMessage;this.trigger(document,"uiShowError",{message:c}),this.trigger("dataDMError",{message:c})},this.handleFeedbackTweetBtnClick=function(a,b){this.closeFeedback(),this.trigger(document,"uiOpenTweetDialog",{title:_('\u0422\u0432\u0438\u0442\u043d\u0438\u0442\u0435 \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435'),canTweetDefaultText:!1,text:b&&b.prefilledText})},this.updateFeedbackPanel=function(a,b){var c=$("html").attr("lang")||"en";b&&b.feedback&&(this.feedback=b.feedback,this.showFeedback(this.feedback.card_uri,c))},this.handleFeedbackUpdateView=function(a,b){this.$feedbackIframe.data("current-view",b.view)},this.resizeIframe=function(a){this.fitIframeHeight(a,{iframeSelector:this.attr.feedbackPageFrameSelector,isQualified:function(a){return a.name&&a.name==="commerce_page"&&a.height}})},this.closeFeedbackPanelWithId=function(a,b){this.feedback&&b.dmId===this.feedback.dm_id&&this.closeFeedback()},this.after("initialize",function(){this.$b2cFeedback=this.select("feedbackSelector"),this.$feedbackIframe=this.select("feedbackPageFrameSelector"),this.on("uiB2CCloseFeedbackAnchor uiDMDialogClearActions",this.closeFeedback),this.on("uiB2CFeedbackPostError",this.handleFeedbackError),this.on("uiB2CTweetBtnClicked",this.handleFeedbackTweetBtnClick),this.on("uiB2CFeedbackUpdateView",this.handleFeedbackUpdateView),this.on("uiDMConversationUpdated",this.updateFeedbackPanel),this.on("uiDMMesageDeleted",this.closeFeedbackPanelWithId),this.on(window,"message",this.resizeIframe),this.on(window,"message",this.proxyIframeEvents),this.on("click",{feedbackDismissSelector:this.dismissFeedback})})}var defineComponent=require("core/component"),withIframeEventsProxy=require("app/utils/b2c/with_iframe_events_proxy"),withIframeHeightAdjuster=require("app/utils/with_iframe_height_adjuster"),_=require("core/i18n"),FeedbackPanel=defineComponent(feedbackPanel,withIframeEventsProxy,withIframeHeightAdjuster);module.exports=FeedbackPanel
});
define("app/ui/with_dynamic_stylesheet",["module","require","exports"],function(module, require, exports) {
function withDynamicStylesheet(){this.createStyleSheet=function(a){var b=document.createElement("style");return b.type="text/css",a&&(b.id=a),document.getElementsByTagName("head")[0].appendChild(b),b.sheet||new ShimStyleSheet},this.rules=function(a){return a.cssRules?a.cssRules:a.rules},this.insertCSSRule=function(a,b){return a.insertRule(b,this.rules(a).length)},this.removeCSSRule=function(a,b){a.deleteRule(b)}}module.exports=withDynamicStylesheet;var ShimStyleSheet=function(){function a(){this.cssRules=[]}return a.prototype.insertRule=function(a,b){return this.cssRules[b]={cssText:a},b},a.prototype.deleteRule=function(a){delete this.cssRules[a],this.cssRules=this.cssRules.filter(function(a){a!=null})},a}()
});
define("app/ui/dm/conversation/message_actions",["module","require","exports","core/component","app/ui/with_dynamic_stylesheet"],function(module, require, exports) {
function messageActions(){this.defaultAttrs({deleteSelector:".DMDeleteMessageAction",reportSelector:".DMReportMessageAction"}),this.hideMessage=function(a,b){if(b.report_as!=="not_spam"){this.hiddenMessages=this.hiddenMessages||{};var c=".DMConversation [data-message-id='"+b.id+"'] {display: none !important;}";this.hiddenMessages[b.id]=this.insertCSSRule(this.stylesheet,c)}},this.unhideMessage=function(a,b){this.hiddenMessages=this.hiddenMessages||{};var c=this.hiddenMessages[b.id];c!=null&&this.removeCSSRule(this.stylesheet,c)},this.messageAction=function(a,b){var c=$(b.target);this.trigger(a,{messageId:c.closest("[data-message-id]").attr("data-message-id"),conversationId:c.closest("[data-thread-id]").attr("data-thread-id")})},this.after("initialize",function(){this.stylesheet=this.createStyleSheet("hidden-dms"),this.on("uiDMDialogReportDM uiDMDialogDeleteMessage",this.hideMessage),this.on("dataDMDeleteFailed dataDMReportFailed",this.unhideMessage),this.on("click",{deleteSelector:this.messageAction.bind(this,"uiShowDMDeleteMessageConfirmation"),reportSelector:this.messageAction.bind(this,"uiShowDMReportMessageConfirmation")})})}var defineComponent=require("core/component"),withDynamicStylesheet=require("app/ui/with_dynamic_stylesheet"),MessageActions=defineComponent(messageActions,withDynamicStylesheet);module.exports=MessageActions
});
define("app/ui/dm/conversation/mute_notifications",["module","require","exports","core/component"],function(module, require, exports) {
function muteNotifications(){this.attributes({notice:".DMMuteNotifications",cancel:".DMMuteNotifications-cancel",muteConfirmation:".DMMuteNotifications-mute"}),this.showConfirmation=function(){this.select("notice").trigger("uiShowDMNotice")},this.hideConfirmation=function(){this.select("notice").trigger("uiDismissDMNotice")},this.muteNotifications=function(a){var b=$(a.target),c=b.data("mute-duration");this.trigger("uiToggleNotifications",{conversation_id:this.conversationId,enable_notifications:!1,mute_duration:c}),this.hideConfirmation()},this.updateCurrentConversation=function(a,b){this.conversationId=b.conversation_id},this.after("initialize",function(){this.on("uiShowDMMuteNotificationsConfirmation",this.showConfirmation),this.on(document,"uiRenderConversationView",this.updateCurrentConversation),this.on("click",{muteConfirmation:this.muteNotifications,cancel:this.hideConfirmation})})}var defineComponent=require("core/component"),MuteNotifications=defineComponent(muteNotifications);module.exports=MuteNotifications
});
define("app/ui/dm/conversation/report_conversation",["module","require","exports","core/component"],function(module, require, exports) {
function reportConversation(){this.attributes({notice:".DMReportConversation",abuseConfirmation:".DMReportConversation-abuse",spamConfirmation:".DMReportConversation-spam",cancel:".DMReportConversation-cancel",groupVariantClass:"DMReportConversation--group"}),this.showConfirmation=function(a,b){var c=b&&b.is_group;this.select("notice").toggleClass(this.attr.groupVariantClass,!!c).trigger("uiShowDMNotice")},this.hideConfirmation=function(){this.select("notice").trigger("uiDismissDMNotice")},this.state=function(a,b){return this._state=b||this._state||{},this._state},this.reportConversation=function(a){var b=this.state();this.trigger("uiReportConversation",{conversation_id:b.conversation_id,report_as:a}),this.hideConfirmation(),this.trigger("uiDMInboxWantsRefreshed")},this.after("initialize",function(){this.on("uiShowDMReportConversationConfirmation",this.state),this.on("uiShowDMReportConversationConfirmation",this.showConfirmation),this.on("click",{abuseConfirmation:this.reportConversation.bind(this,"abuse"),spamConfirmation:this.reportConversation.bind(this,"spam"),cancel:this.hideConfirmation})})}var defineComponent=require("core/component"),ReportConversation=defineComponent(reportConversation);module.exports=ReportConversation
});
define("app/ui/dm/conversation/report_message",["module","require","exports","core/component"],function(module, require, exports) {
function reportMessage(){this.attributes({notice:".DMReportMessage",abuseConfirmation:".DMReportMessage-abuse",spamConfirmation:".DMReportMessage-spam",cancel:".DMReportMessage-cancel"}),this.showConfirmation=function(){this.select("notice").trigger("uiShowDMNotice")},this.hideConfirmation=function(){this.select("notice").trigger("uiDismissDMNotice")},this.state=function(a,b){return this._state=b||this._state||{},this._state},this.reportMessage=function(a){var b=this.state();this.trigger("uiDMDialogReportDM",{id:b.messageId,conversation_id:b.conversationId,report_as:a}),this.hideConfirmation(),this.trigger("uiDMInboxWantsRefreshed")},this.after("initialize",function(){this.on("uiShowDMReportMessageConfirmation",this.state),this.on("uiShowDMReportMessageConfirmation",this.showConfirmation),this.on("click",{abuseConfirmation:this.reportMessage.bind(this,"abuse"),spamConfirmation:this.reportMessage.bind(this,"spam"),cancel:this.hideConfirmation})})}var defineComponent=require("core/component"),ReportMessage=defineComponent(reportMessage);module.exports=ReportMessage
});
define("app/ui/media/sensitive_media_tweets",["module","require","exports","core/component"],function(module, require, exports) {
function sensitiveMediaTweets(){this.defaultAttrs({mediaNotDisplayedSelector:".media-not-displayed",displayMediaSelector:".display-this-media",alwaysDisplaySelector:".always-display-media",appealNsfwMediaSelector:".appeal-nsfw-media",mediaContainerSelector:".js-media-container, .js-adaptive-media-container, .js-old-media-container",tweetSelector:".tweet",hiddenClass:"hidden"}),this.showMedia=function(a){a=a||this.$node,a.find(this.attr.mediaNotDisplayedSelector).hide(),a.find(this.attr.mediaContainerSelector).removeClass(this.attr.hiddenClass)},this.showLimitedMedia=function(a){a.stopImmediatePropagation();var b=$(a.target).closest(this.attr.tweetSelector);this.trigger("uiShowLimitedMedia"),this.showMedia(b)},this.updateMediaSettings=function(a){a.stopImmediatePropagation(),this.trigger("uiUpdateViewPossiblySensitive",{do_show:!0}),this.showMedia()},this.appealNsfwMedia=function(a){var b=$(a.target).closest(this.attr.mediaNotDisplayedSelector),c=b.find(this.attr.appealNsfwMediaSelector);if(!c.hasClass(this.attr.hiddenClass)){var d=b.closest(this.attr.tweetSelector);this.trigger("uiAppealNsfwMedia",{user_id:d.attr("data-user-id"),tweet_id:d.attr("data-tweet-id"),report_type:"dispute_media"}),b.find(this.attr.appealNsfwMediaSelector).hide()}},this.after("initialize",function(){this.on("click",{displayMediaSelector:this.showLimitedMedia,alwaysDisplaySelector:this.updateMediaSettings,appealNsfwMediaSelector:this.appealNsfwMedia})})}var defineComponent=require("core/component");module.exports=defineComponent(sensitiveMediaTweets)
});
define("app/ui/dm/conversation/suspicious_message",["module","require","exports","core/component"],function(module, require, exports) {
function suspiciousContent(){this.defaultAttrs({warningSelector:".suspicious-content-warning",messageSelector:".dm",conversationSelector:".js-dm-conversation",reportButtonsSelector:".suspicious-content-response",reportAsSpamSelector:".js-message-is-spam",reportAsSafeSelector:".js-message-is-safe"}),this.showMessage=function(a,b){a.preventDefault();var c=$(a.target),d=c.prev(this.attr.messageSelector);c.hide(),d.show()},this.reportMessage=function(a,b,c){var d=$(b.target),e=d.closest(this.attr.messageSelector).attr("data-message-id"),f=d.closest(this.attr.conversationSelector).attr("data-thread-id");this.trigger("uiDMDialogReportDM",{id:e,conversation_id:f,report_as:a}),this.select("reportButtonsSelector").hide(),this.trigger("uiDMInboxWantsRefreshed")},this.after("initialize",function(){this.on("uiRevealSuspiciousDM",this.showMessage),this.on("uiReportDMAsSpam",this.reportMessage.bind(this,"spam")),this.on("uiReportDMAsSafe",this.reportMessage.bind(this,"not_spam")),this.on("click",{warningSelector:"uiRevealSuspiciousDM",reportAsSpamSelector:"uiReportDMAsSpam",reportAsSafeSelector:"uiReportDMAsSafe"})})}var defineComponent=require("core/component"),SuspiciousContent=defineComponent(suspiciousContent);module.exports=SuspiciousContent
});
define("app/ui/with_tweet_click_handler",["module","require","exports","app/utils/caret","core/utils","app/utils/cookie","app/utils/scribe_item_types"],function(module, require, exports) {
var caret=require("app/utils/caret"),utils=require("core/utils"),cookie=require("app/utils/cookie"),scribeItemTypes=require("app/utils/scribe_item_types");module.exports=function(){this.defaultAttrs({jsMediaPreviewSelector:".js-media-preview",jsTweetSelector:".js-stream-tweet",jsLinkSelector:".js-link",jsPermalinkSelector:".js-permalink",jsDetailsLinkSelector:".js-details",jsAdaptivePhotoSelector:".js-adaptive-photo",quoteTweetSelector:".QuoteTweet-container",quoteTweetClass:"QuoteTweet-container",quoteTweetInnerSelector:".QuoteTweet-innerContainer",pushState:!0,expandoHandleSelector:".js-open-close-tweet span",dropdownSelector:".ProfileTweet-action .dropdown-menu",withheldTweetClass:"withheld-tweet",profileTweetActionButtonSelector:".js-actionButton",profileTweetActionCountSelector:".js-actionCount",jsTweetTextContainer:".js-tweet-text-container",jsExpandedTweetTextSelector:".js-expanded-tweet-text",jsTweetText:".js-tweet-text",newWindowClass:"js-new-window"}),this.shouldNavigateToPermalink=function(a){return this.attr.isMobile||this.isQuoteTweet(a)},this.isQuoteTweet=function(a){return a.hasClass(this.attr.quoteTweetClass)},this.handleMediaPreviewClick=function(a,b){var c=$(b.el),d=c.closest(this.attr.jsTweetSelector);this.shouldExpandWhenTargetIs($(a.target),d)&&(a.preventDefault(),a.stopPropagation(),this.handleClick(a,d,!0))},this.handleQuoteTweetClick=function(a){var b=a.closest("[data-tweet-id]").attr("data-tweet-id"),c=a.find(this.attr.quoteTweetInnerSelector).attr("data-item-id"),d=[{id:b,item_type:scribeItemTypes.tweet},{id:c,item_type:scribeItemTypes.quotedTweet}];this.trigger("uiQuoteTweetClick",{items:d})},this.handleTweetClick=function(a,b){var c=$(b.el);this.isQuoteTweet(c)&&this.handleQuoteTweetClick(c),this.shouldExpandWhenTargetIs($(a.target),c)&&(a.preventDefault(),a.stopPropagation(),this.handleClick(a,c,!1))},this.handleClick=function(a,b,c){var d=b.hasClass(this.attr.quoteTweetClass),e=b.find(this.attr.jsPermalinkSelector),f=d?e.attr("href"):b.data("permalink-path"),g=b.closest("[data-impression-id]"),h={impressionId:g.attr("data-impression-id"),disclosureType:g.attr("data-disclosure-type"),impressionCookie:g.attr("data-impression-cookie"),href:f};!c&&this.shouldNavigateToPermalink(b)&&this.setImpressionCookieOnProfileTweet(b),b.trigger("uiHasClickedTweet",utils.merge(h,{organicExpansion:!0})),this.modifierKey(a)||e.length&&(!!e.attr("target")||e.hasClass(this.attr.newWindowClass))?this.openNewTab(f):this.trigger("uiNavigate",h)},this.openNewTab=function(a){var b=window.open(a,"_blank");b.opener=null},this.setImpressionCookieOnProfileTweet=function(a){if(a.hasClass("profile-promoted-tweet")){var b=a.closest("[data-impression-cookie]").attr("data-impression-cookie");if(b){var c=new Date,d=1e4,e=new Date(c.getTime()+d);this.setCookie(b,e)}}},this.shouldExpandWhenTargetIs=function(a,b){return this.selectedText()||b.hasClass(this.attr.withheldTweetClass)?!1:this.targetIsWhitelistedToExpandTweet(a,b)||!this.targetIsBlacklistedToExpandTweet(a,b)},this.targetIsWhitelistedToExpandTweet=function(a,b){var c=[this.attr.expandoHandleSelector,this.attr.jsDetailsLinkSelector,this.attr.jsMediaPreviewSelector,this.attr.quoteTweetSelector];return a.closest(c.join(),b).length>0},this.targetIsBlacklistedToExpandTweet=function(a,b){var c=["a","button",this.attr.jsLinkSelector,this.attr.dropdownSelector,this.attr.jsAdaptivePhotoSelector];return a.closest(c.join(),b).length},this.selectedText=function(){return caret.getSelection()},this.modifierKey=function(a){return a.shiftKey||a.ctrlKey||a.metaKey||a.which>1},this.preventFocusOnClick=function(a){a.preventDefault()},this.setCookie=function(a,b){cookie("ic",a,{expires:b})},this.after("initialize",function(){this.on("click",{jsMediaPreviewSelector:this.handleMediaPreviewClick,quoteTweetSelector:this.handleTweetClick,jsTweetSelector:this.handleTweetClick}),this.on("uiShortcutEnter",{quoteTweetSelector:this.handleTweetClick}),this.on("mousedown",{profileTweetActionButtonSelector:this.preventFocusOnClick,profileTweetActionCountSelector:this.preventFocusOnClick,quoteTweetSelector:this.preventFocusOnClick})})}
});
define("app/ui/dm/conversation/tweet_attachment",["module","require","exports","core/component","app/ui/with_tweet_click_handler"],function(module, require, exports) {
function tweetAttachment(){this.defaultAttrs({sharedTweetSelector:".DirectMessage-tweet"}),this.openSharedTweet=function(a,b){this.trigger("uiDMDialogSharedTweetClick")},this.after("initialize",function(){this.on("click",{sharedTweetSelector:this.openSharedTweet})})}var defineComponent=require("core/component"),withTweetClickHandler=require("app/ui/with_tweet_click_handler"),TweetAttachment=defineComponent(tweetAttachment,withTweetClickHandler);module.exports=TweetAttachment
});
define("app/ui/b2c/dm_cta_quick_reply",["module","require","exports","core/component","app/data/b2c/quick_reply_type"],function(module, require, exports) {
function dmCtaQuickReply(){this.defaultAttrs({ctaQuickReplySelector:".DMCtaView",directMessageSelector:".DirectMessage",quickReplyJsonData:"quick-reply-json"}),this.getClosestQRJson=function(a){return a.closest(this.attr.directMessageSelector).data(this.attr.quickReplyJsonData)},this.getCtaEventDataFromQR=function(a){var b=a&&a.type&&a.type.name;switch(b){case QuickReplyType.LOCATION_TYPE:return{name:"uiLocationQRCtaClicked"}}},this.handleCtaClick=function(a,b){var c=this.getCtaEventDataFromQR(this.getClosestQRJson($(a.target)));c&&this.trigger(c.name,c.data)},this.after("initialize",function(){this.on("click",{ctaQuickReplySelector:this.handleCtaClick})})}var defineComponent=require("core/component"),QuickReplyType=require("app/data/b2c/quick_reply_type"),DmCtaQuickReply=defineComponent(dmCtaQuickReply);module.exports=DmCtaQuickReply
});
define("app/ui/dm/conversation/update_conversation_avatar",["module","require","exports","core/component","app/utils/file_selection_error_messages","app/ui/with_file_selection"],function(module, require, exports) {
function updateAvatar(){this.attributes({avatarSelector:".DMUpdateAvatar-avatar",popoverSelector:".DMPopover",popoverContentSelector:".DMPopover-content",viewAvatarSelector:".DMUpdateAvatar-view",removeAvatarSelector:".DMUpdateAvatar-remove",changeAvatarSelector:".DMUpdateAvatar-change",spinnerClass:"DMSpinner",fileDataSelector:"input.file-data",fileDataString:"media_data[]",emptyFileDataString:"media_data_empty",fileInputString:"media[]",emptyFileInputString:"media_empty",fileNameSelector:"input.file-name",fileNameString:"media_file_name",fileSelector:"input.file-input",gifSupport:!1,videoSupport:!1,shouldInterceptTab:!1}),this.resetAvatar=function(a,b){this.avatarHTML=undefined,this.fullSizeUrl=undefined,this.conversationId=undefined,this.customAvatar=!1,this.editAllowed=!1,this.isLoading=!1},this.updateAvatar=function(a,b){if(b&&b.html&&this.avatarHTML===b.html)return;this.avatarHTML=b.html,this.fullSizeUrl=b.full_size_url,this.conversationId=b.conversation_id,this.customAvatar=b.is_custom,this.editAllowed=b.is_oto===!1,this.isLoading=!1},this.showAvatar=function(){if(!this.fullSizeUrl)return;this.trigger("uiDMDialogMediaPreview",{imgUrl:this.fullSizeUrl})},this.removeAvatar=function(){this.isLoading=!0,this.trigger("uiDMRemoveConversationAvatar",{conversation_id:this.conversationId})},this.changeAvatar=function(){this.select("fileSelector").click()},this.handleFileSelected=function(a,b){a.preventDefault(),this.reset(),this.isLoading=!0;var c=b.fileId;this.beginSru(c),this.trigger("uiDMUpdateConversationAvatar",{conversation_id:this.conversationId,fileId:c})},this.updateFailed=function(){this.isLoading=!1},this.addFileError=function(a){var b=genericFileErrorMessage(a);b&&this.trigger("uiShowError",{message:b}),this.updateFailed()},this.toggleSpinner=function(a){this.$avatar.toggleClass(this.attr.spinnerClass,a)},this.disablePopover=function(){this.select("popoverSelector").trigger("uiDisableDMPopover")},this.enablePopover=function(){this.select("popoverSelector").trigger("uiEnableDMPopover")},this.render=function(){this.isLoading?(this.$avatar.empty(),this.toggleSpinner(!0),this.disablePopover()):(this.avatarHTML?this.$avatar.html(this.avatarHTML):this.$avatar.empty(),this.toggleSpinner(!1),this.editAllowed?this.enablePopover():this.disablePopover(),this.$node.attr("data-has-custom-avatar",this.customAvatar))},this.after("resetAvatar",this.render),this.after("updateAvatar",this.render),this.after("removeAvatar",this.render),this.after("handleFileSelected",this.render),this.after("updateFailed",this.render),this.after("initialize",function(){this.$avatar=this.select("avatarSelector"),this.on("uiDMResetConversationAvatar",this.resetAvatar),this.on("uiDMSetConversationAvatar",this.updateAvatar),this.on("uiFileSelected",this.handleFileSelected),this.on("dataDMUpdateConversationAvatarFailed dataDMRemoveConversationAvatarFailed",this.updateFailed),this.on("click",{viewAvatarSelector:this.showAvatar,changeAvatarSelector:this.changeAvatar,removeAvatarSelector:this.removeAvatar,popoverContentSelector:"uiCloseDropdowns"})})}var defineComponent=require("core/component"),genericFileErrorMessage=require("app/utils/file_selection_error_messages"),withFileSelection=require("app/ui/with_file_selection");module.exports=defineComponent(updateAvatar,withFileSelection)
});
define("app/ui/dm/conversation/update_conversation_name",["module","require","exports","core/i18n","core/component","lib/twitter-text","app/ui/input_polling","app/utils/keycode_map"],function(module, require, exports) {
function updateName(){this.attributes({maxCharacters:20,conversationIdSelector:"[data-conversation-id]",displayedNameSelector:".DMUpdateName-name",beginEditModeSelector:".DMUpdateName-name.edit-allowed",confirmButtonSelector:".DMUpdateName-confirm",inputGroupSelector:".DMUpdateName-form",spinnerSelector:".DMUpdateName-spinner",dmUpdateNameSelector:".DMUpdateName",displayedScreenNameSelector:".DMUpdateName-screenName",textSelector:".DMUpdateName-input",updateNameContainerSelector:".DMUpdateName-controls",isVerifiedClass:"is-verified",isRichHeaderClass:"is-richHeader",hiddenClass:"u-hidden",invalidInputClass:"is-invalid"}),this.getConversationId=function(){return this.select("conversationIdSelector").attr("data-conversation-id")},this.getCurrentName=function(){return this.select("displayedNameSelector").data("raw-name")},this.handleCommandInputs=function(a,b){switch(a.keyCode){case Keycode.ESC:a.stopPropagation(),this.hideEditMode();break;case Keycode.ENTER:a.stopPropagation(),this.requestUpdateConversationName();break;default:}},this.showEditMode=function(){this.select("displayedNameSelector").addClass(this.attr.hiddenClass),this.select("inputGroupSelector").removeClass(this.attr.hiddenClass),this.select("textSelector").focus().val(this.getCurrentName()),this.inEditMode=!0},this.hideEditMode=function(a,b){this.select("displayedNameSelector").removeClass(this.attr.hiddenClass),this.select("inputGroupSelector").addClass(this.attr.hiddenClass),this.inEditMode=!1},this.showSpinner=function(){this.select("textSelector").unbind("blur"),this.hideEditMode(),this.select("displayedNameSelector").addClass(this.attr.hiddenClass),this.select("spinnerSelector").removeClass(this.attr.hiddenClass)},this.hideSpinner=function(){this.on(this.attr.textSelector,"blur",this.hideEditMode),this.hideEditMode(),this.select("spinnerSelector").addClass(this.attr.hiddenClass),this.select("displayedNameSelector").removeClass(this.attr.hiddenClass)},this.requestUpdateConversationName=function(){if(!this.select("inputGroupSelector").hasClass(this.attr.invalidInputClass)){var a=this.select("textSelector").val();this.trigger("uiUpdateConversationName",{conversation_id:this.getConversationId(),name:a}),this.showSpinner()}},this.updateDisplayedName=function(a,b){this.select("displayedNameSelector").html(b.conversation.title.html),this.hideSpinner()},this.prepareUpdateNameUI=function(a,b){typeof b.is_oto=="undefined"||b.is_oto?(this.hideSpinner(),this.select("updateNameContainerSelector").addClass(this.attr.hiddenClass),this.select("displayedNameSelector").removeClass("edit-allowed js-tooltip").removeAttr("title")):this.inEditMode||(this.hideSpinner(),this.select("updateNameContainerSelector").removeClass(this.attr.hiddenClass),this.select("displayedNameSelector").attr("title",_('\u041d\u0430\u0436\u043c\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b')).addClass("edit-allowed js-tooltip"))},this.handleInputChange=function(a,b){var c=twitterText.getTweetLength(b.text)>this.attr.maxCharacters;this.select("inputGroupSelector").toggleClass(this.attr.invalidInputClass,c)},this.detectInputChange=function(){var a=this.select("textSelector").val();this.previousText!==a&&(this.trigger("uiTextChanged",{text:a}),this.previousText=a)},this.clearRichHeaderState=function(){this.$dmUpdateName.removeClass(this.attr.isRichHeaderClass),this.$dmUpdateName.removeClass(this.attr.isVerifiedClass)},this.setRichHeaderState=function(a,b){this.$dmUpdateName.addClass(this.attr.isRichHeaderClass),this.$dmUpdateName.toggleClass(this.attr.isVerifiedClass,b.is_verified),this.$displayedScreenName.text("@"+b.screen_name)},this.after("initialize",function(){this.$dmUpdateName=this.select("dmUpdateNameSelector"),this.$displayedScreenName=this.select("displayedScreenNameSelector"),this.on("click",{beginEditModeSelector:this.showEditMode}),this.on("mousedown",{confirmButtonSelector:this.requestUpdateConversationName}),this.on(this.attr.textSelector,"blur",this.hideEditMode),this.on(this.attr.textSelector,"keydown",this.handleCommandInputs),this.on("uiEditConversationName",this.showEditMode),this.on("uiUpdateConversationType",this.prepareUpdateNameUI),this.on("dataUpdateConversationNameSuccess",this.updateDisplayedName),this.on("dataUpdateConversationNameFailure",this.hideSpinner),this.on("uiTextChanged",this.handleInputChange),this.on("uiInputPoll",this.detectInputChange),this.on("uiClearRichHeaderState",this.clearRichHeaderState),this.on("uiSetRichHeaderState",this.setRichHeaderState),InputPolling.attachTo(this.select("textSelector"))})}var _=require("core/i18n"),defineComponent=require("core/component"),twitterText=require("lib/twitter-text"),InputPolling=require("app/ui/input_polling"),Keycode=require("app/utils/keycode_map"),UpdateName=defineComponent(updateName);module.exports=UpdateName
});
define("app/ui/dm/conversation/with_last_read_marker",["module","require","exports","lib/twitter_cldr","template"],function(module, require, exports) {
function lastReadMarker(){this.attributes({markerSelector:".DMConversation-lastReadMarker",markerTemplate:"dm/last_read_marker",messageIdAttr:"data-message-id",receivedMessagesSelector:".DirectMessage--received",scrollContainerSelector:".DMConversation-scrollContainer"}),this.removeMarker=function(){this.select("markerSelector").slideUp({duration:350})},this.applyMarker=function(a){var b=this.findLastReadNode(a),c=b.nextAll().filter(this.attr.receivedMessagesSelector),d=c.first(),e=!!d.length;if(!e)return;d.prev().removeClass("is-rapidFire");var f=c.length,g={unread_count:f};g["unread_count_"+TwitterCldr.PluralRules.rule_for(c.length)]=!0,d.before(template[this.attr.markerTemplate].render(g));var h=d.prop("offsetTop")-this.$scrollContainer.height()*.33;this.$scrollContainer.scrollTop(h)},this.findLastReadNode=function(a){return this.$node.find("["+this.attr.messageIdAttr+"="+a+"]")},this.after("initialize",function(){this.$scrollContainer=this.select("scrollContainerSelector")})}var TwitterCldr=require("lib/twitter_cldr"),template=require("template");module.exports=lastReadMarker
});
define("app/ui/live_video/with_live_video_breakpoint",["module","require","exports"],function(module, require, exports) {
module.exports=function(){this.matchMedia=function(a){return window.matchMedia&&window.matchMedia(a)},this.getBreakpoint=function(){var a=this.matchMedia("(min-width: 1271px)").matches;if(a)return"wide";var b=this.matchMedia("(min-height: 901px)").matches;return b?"narrow_tall":"narrow_short"}}
});
define("app/data/with_ad_cache_key",["module","require","exports"],function(module, require, exports) {
function withAdCacheKey(){this.adCacheKey=function(a){var b="t"+a.id;return a.promoted_id&&(b+="i"+a.promoted_id),b}}module.exports=withAdCacheKey
});
(function(a,b){typeof define=="function"&&define.amd?define(function(){return a.TwitterVideoPlayer=b()}):typeof module=="object"&&module.exports?module.exports=a.TwitterVideoPlayer=b():typeof provide=="function"?provide("bower_components/video-player/src/main/js/video_player",a.TwitterVideoPlayer=b()):a.TwitterVideoPlayer=b()})(this,function(){function f(a){if(a&&a.data&&a.data.params&&a.data.params[0]){var b=a.data.params[0],c=a.data.id;if(b&&b.context&&b.context==="TwitterVideoPlayer"){var d=b.playerId;delete b.playerId,delete b.context;var f=e[d];f&&f.processMessage(a.data.method,b,c)}}}function g(a,b,c){var d=Object.keys(c).filter(function(a){return c[a]!=null}).map(function(a){var b=c[a];return encodeURIComponent(a)+"="+encodeURIComponent(b)}).join("&");return d&&(d="?"+d),a+b+d}function h(b,c,h,i,j){var k=b.ownerDocument,l=k.defaultView;l.addEventListener("message",f),this.playerId=d++;var m={embed_source:"clientlib",player_id:this.playerId,rpc_init:1};this.scribeParams={},this.scribeParams.suppressScribing=i&&i.suppressScribing;if(!this.scribeParams.suppressScribing){if(!i.scribeContext)throw"video_player: Missing scribe context";if(!i.scribeContext.client)throw"video_player: Scribe context missing client property";this.scribeParams.client=i.scribeContext.client,this.scribeParams.page=i.scribeContext.page,this.scribeParams.section=i.scribeContext.section,this.scribeParams.component=i.scribeContext.component}this.scribeParams.debugScribe=i&&i.scribeContext&&i.scribeContext.debugScribing,this.scribeParams.scribeUrl=i&&i.scribeContext&&i.scribeContext.scribeUrl,this.promotedLogParams=i.promotedContext,this.adRequestCallback=i.adRequestCallback,i.languageCode&&(m.language_code=i.languageCode);var n=g(a,c,m);return this.videoIframe=document.createElement("iframe"),this.videoIframe.setAttribute("src",n),this.videoIframe.setAttribute("allowfullscreen",""),this.videoIframe.setAttribute("id",h),this.videoIframe.setAttribute("style","width: 100%; height: 100%; position: absolute; top: 0; left: 0;"),this.domElement=b,this.domElement.appendChild(this.videoIframe),e[this.playerId]=this,this.eventCallbacks={},this.emitEvent=function(a,b){var c=this.eventCallbacks[a];typeof c!="undefined"&&c.forEach(function(a){a.apply(this.playerInterface,[b])}.bind(this))},this.jsonRpc=function(a){var b=this.videoIframe.contentWindow;a.jsonrpc="2.0",b&&b.postMessage&&b.postMessage(JSON.stringify(a),"*")},this.jsonRpcCall=function(a,b){this.jsonRpc({method:a,params:b})},this.jsonRpcResult=function(a,b){this.jsonRpc({result:a,id:b})},this.processMessage=function(a,b,c){switch(a){case"requestPlayerConfig":this.jsonRpcResult({scribeParams:this.scribeParams,promotedLogParams:this.promotedLogParams,squareCorners:i.squareCorners,borderRadius:i.borderRadius,hideControls:i.hideControls,embedded:i.addTwitterBranding},c);break;case"videoPlayerPlay":this.emitEvent("play",b);break;case"videoPlayerPause":this.emitEvent("pause",b);break;case"videoPlayerMute":this.emitEvent("mute",b);break;case"videoPlayerUnmute":this.emitEvent("unmute",b);break;case"videoPlayerPlaybackComplete":this.emitEvent("playbackComplete",b);break;case"videoPlayerReady":this.emitEvent("ready",b);break;case"videoView":this.emitEvent("view",b);break;case"debugLoggingEvent":this.emitEvent("logged",b);break;case"requestDynamicAd":typeof this.adRequestCallback=="function"?this.jsonRpcResult(this.adRequestCallback(),c):this.jsonRpcResult({},c)}},this.playerInterface={on:function(a,b){return typeof this.eventCallbacks[a]=="undefined"&&(this.eventCallbacks[a]=[]),this.eventCallbacks[a].push(b),this.playerInterface}.bind(this),off:function(a,b){if(typeof b=="undefined")delete this.eventCallbacks[a];else{var c=this.eventCallbacks[a];if(typeof c!="undefined"){var d=c.indexOf(b);d>-1&&c.splice(d,1)}}return this.playerInterface}.bind(this),play:function(){return this.jsonRpcCall("play"),this.playerInterface}.bind(this),pause:function(){return this.jsonRpcCall("pause"),this.playerInterface}.bind(this),mute:function(){return this.jsonRpcCall("mute"),this.playerInterface}.bind(this),unmute:function(){return this.jsonRpcCall("unmute"),this.playerInterface}.bind(this),playPreview:function(){return this.jsonRpcCall("autoPlayPreview"),this.playerInterface}.bind(this),pausePreview:function(){return this.jsonRpcCall("autoPlayPreviewStop"),this.playerInterface}.bind(this),updatePosition:function(a){return this.jsonRpcCall("updatePosition",[a]),this.playerInterface}.bind(this),updateLayoutBreakpoint:function(a){return this.jsonRpcCall("updateLayoutBreakpoint",[a]),this.playerInterface}.bind(this),enterFullScreen:function(){return this.jsonRpcCall("enterFullScreen"),this.playerInterface}.bind(this),exitFullScreen:function(){return this.jsonRpcCall("exitFullScreen"),this.playerInterface}.bind(this),teardown:function(){this.eventCallbacks={},b.removeChild(this.videoIframe),this.videoIframe=undefined,delete e[this.playerId]}.bind(this)},this.playerInterface}var a="https://twitter.com",b=/^https?:\/\/([a-zA-Z0-9]+\.)*twitter.com(:\d+)?$/,c={suppressScribing:!1,squareCorners:!1,hideControls:!1,addTwitterBranding:!1},d=0,e={};return{setBaseUrl:function(c){b.test(c)?a=c:window.console.error("newBaseUrl "+c+" not allowed")},createPlayerForTweet:function(a,b,d){var e="/i/videos/tweet/"+b,f="player_tweet_"+b;return new h(a,e,f,d||c)},createPlayerForDm:function(a,b,d){var e="/i/videos/dm/"+b,f="player_dm_"+b;return new h(a,e,f,d||c)},createPlayerForLiveVideo:function(a,b,d){var e="/i/videos/live_video/"+b,f="player_live_video_"+b;return new h(a,e,f,d||c)},findPlayerForElement:function(a){for(var b in e)if(e.hasOwnProperty(b)){var c=e[b];if(c&&c.domElement===a)return c.playerInterface}return null}}})
define("app/ui/playable_media/playable_media",["module","require","exports","core/component","app/data/with_card_metadata","app/data/client_event","app/ui/live_video/with_live_video_breakpoint","app/data/with_ad_cache_key","bower_components/video-player/src/main/js/video_player"],function(module, require, exports) {
function PlayableMedia(){this.VideoPlayer=VideoPlayer,this.defaultAttrs({playerSelector:".PlayableMedia-player",autoplayOnHover:!1,playerLoadedClass:"playable-media-loaded",liveVideoContinuePlayingBehindModalsEnabled:!1}),this.autoplay=function(){this.player?this.player.playPreview():this.autoplayOnInit=!0},this.autoplayStop=function(){this.player?this.player.pausePreview():this.autoplayOnInit=!1},this.loadMedia=function(){this.$node.addClass(this.attr.playerLoadedClass);var a=this.select("playerSelector"),b;typeof this.tweetId!="undefined"&&(b=this.getDynamicVideoAd.bind(this));var c={scribeContext:this.getScribeContext(),promotedContext:this.getPromotedContext(),hideControls:a.hasClass("hide-controls"),adRequestCallback:b,borderRadius:this.getBorderRadius(a)},d=a.get(0),e=this.getPlayerConstructor(d);this.player=e(c).on("playbackComplete",this.trigger.bind(this,"uiPlayableMediaPlaybackComplete")).on("mute",this.trigger.bind(this,"uiPlayableMediaMute")).on("unmute",this.trigger.bind(this,"uiPlayableMediaUnmute")).on("play",this.trigger.bind(this,"uiPlayableMediaPlay")).on("pause",this.trigger.bind(this,"uiPlayableMediaPause")).on("ready",this.onPlayerReady.bind(this,a))},this.getBorderRadius=function(a){var b=parseInt(a.attr("data-border-top-left-radius")),c=parseInt(a.attr("data-border-top-right-radius")),d=parseInt(a.attr("data-border-bottom-left-radius")),e=parseInt(a.attr("data-border-bottom-right-radius"));return{topLeft:isNaN(b)?undefined:b,topRight:isNaN(c)?undefined:c,bottomLeft:isNaN(d)?undefined:d,bottomRight:isNaN(e)?undefined:e}},this.getPlayerConstructor=function(a){return typeof this.liveVideoId!="undefined"?this.VideoPlayer.createPlayerForLiveVideo.bind(this,a,this.liveVideoId):typeof this.dmId!="undefined"?this.VideoPlayer.createPlayerForDm.bind(this,a,this.dmId):this.VideoPlayer.createPlayerForTweet.bind(this,a,this.tweetId)},this.getPromotedContext=function(){if(this.impressionId)return{impressionId:this.impressionId,disclosureType:this.$node.closest("[data-disclosure-type]").attr("data-disclosure-type")}},this.getScribeContext=function(){var a;return typeof this.tweetId!="undefined"&&(a="tweet"),$.extend({client:"web"},clientEvent.scribeContext,{component:this.$node.closest("[data-component-context]").attr("data-component-context")||a})},this.onPlayerReady=function(a){this.playOnInit||a.hasClass("play-on-init")?(this.player.play(),this.muteOnInit&&this.player.mute()):(this.autoplayOnInit||this.$node.closest("[data-autoplaying-media=true]").length>0)&&this.player.playPreview(),this.trigger("uiPlayableMediaReady"),this.liveVideoId&&this.player.updateLayoutBreakpoint({breakpoint:this.getBreakpoint()})},this.pauseMedia=function(){this.player?this.player.pause():(this.autoplayOnInit=!1,this.playOnInit=!1)},this.playMedia=function(){this.player?this.player.play():(this.autoplayOnInit=!1,this.playOnInit=!0)},this.muteMedia=function(){this.muteOnInit=!0,this.player&&this.player.mute()},this.unmuteMedia=function(){this.muteOnInit=!1,this.player&&this.player.unmute()},this.getDynamicVideoAd=function(){var a=this.ad;return this.trigger("uiRefreshVideoAdCache",{tweet:{id:this.tweetId,promoted_id:this.impressionId},triggerAd:a}),a||{}},this.updateAd=function(a,b){var c=this.adCacheKey({id:this.tweetId,promoted_id:this.impressionId}),d=b[c];typeof d!="undefined"&&(this.ad=d)},this.resetCachedAd=function(){this.ad=undefined},this.removePlayer=function(){this.$node.removeClass(this.attr.playerLoadedClass),this.player&&(this.player.teardown(),this.player=undefined)},this.before("teardown",function(){this.removePlayer()}),this.teardownIfPresent=function(){this.$node.closest("body").length===0&&this.teardown()},this.updatePosition=function(a,b){this.player&&(b.tweetId===this.tweetId||b.tweetId===this.tweetNonce)&&this.player.updatePosition(b.positionData)},this.updateLayoutBreakpoint=function(a,b){this.liveVideoId&&this.player&&this.player.updateLayoutBreakpoint(b)},this.onPauseAllMedia=function(){(!this.liveVideoId||!this.attr.liveVideoContinuePlayingBehindModalsEnabled)&&this.pauseMedia()},this.exitFullScreen=function(){this.liveVideoId&&this.player.exitFullScreen()},this.after("initialize",function(){var a=this.$node.closest("[data-tweet-id]");this.tweetId=a.attr("data-tweet-id"),this.tweetNonce=a.attr("data-tweet-nonce"),this.dmId=this.$node.closest("[data-message-id]").attr("data-message-id"),this.liveVideoId=this.$node.closest("[data-live-video-id]").attr("data-live-video-id"),this.impressionId=this.$node.closest("[data-impression-id]").attr("data-impression-id"),this.attr.autoplayOnHover&&(this.on("mouseenter",this.autoplay),this.on("mouseleave",this.autoplayStop)),this.on("uiLoadPlayableMedia",this.loadMedia),this.on("uiUnloadPlayableMedia",this.removePlayer),this.on("uiUnmuteMedia",this.unmuteMedia),this.on("uiMuteMedia",this.muteMedia),this.on("uiPlayMedia",this.playMedia),this.on("uiPauseMedia",this.pauseMedia),this.on("uiAutoplayMedia",this.autoplay),this.on("uiStopAutoplayingMedia",this.autoplayStop),this.on(document,"uiPauseAllMedia",this.onPauseAllMedia),this.on(document,"dataVideoAdResponse",this.updateAd),this.on(document,"uiRefreshVideoAdCache",this.resetCachedAd),this.on(document,"uiPlayableMediaPositionChange",this.updatePosition),this.on(document,"uiWatchPlayableMedia uiOverlayClosed",this.teardownIfPresent),this.on(document,"uiLiveVideoBreakpointUpdate",this.updateLayoutBreakpoint),this.on(document,"uiLiveVideoExitFullScreen",this.exitFullScreen)})}var defineComponent=require("core/component"),withCardMetadata=require("app/data/with_card_metadata"),clientEvent=require("app/data/client_event"),withLiveVideoBreakpoint=require("app/ui/live_video/with_live_video_breakpoint"),withAdCacheKey=require("app/data/with_ad_cache_key"),VideoPlayer=require("bower_components/video-player/src/main/js/video_player");module.exports=defineComponent(PlayableMedia,withCardMetadata,withLiveVideoBreakpoint,withAdCacheKey)
});
define("app/ui/playable_media/playable_media_manager",["module","require","exports","core/component","app/utils/viewport_helpers","core/utils","app/ui/playable_media/playable_media"],function(module, require, exports) {
function PlayableMediaManager(){this.viewportHelpers=viewportHelpers,this.utils=utils,this.defaultAttrs({playableMediaContainerSelector:".PlayableMedia",playableMediaLoadThreshold:500,scrollThrottle:100,watchedClass:"watched",watchedSelector:".watched",watchDocumentScroll:!0,liveVideoContinuePlayingBehindModals:!1}),this.updateWatchedMedia=function(){this.$media=this.select("playableMediaContainerSelector");var a=this.$media.not(this.attr.watchedSelector);PlayableMedia.attachTo(a,{liveVideoContinuePlayingBehindModalsEnabled:this.attr.liveVideoContinuePlayingBehindModalsEnabled}),a.addClass(this.attr.watchedClass),this.throttledProcessWatchedMedia()},this.processWatchedMedia=function(){if(this.isInFullscreen())return;this.$media.each(function(a,b){var c=$(b),d=viewportHelpers.isWithinBounds(this.$container,c,this.attr.playableMediaLoadThreshold),e=c.hasClass("playable-media-loaded");!e&&d?c.trigger("uiLoadPlayableMedia"):e&&!d&&c.trigger("uiUnloadPlayableMedia")}.bind(this))},this.isInFullscreen=function(){return document.webkitFullscreenElement||document.msFullscreenElement||document.fullscreenElement||document.mozFullScreenElement},this.beforeTeardown=function(){this.$media.removeClass(this.attr.watchedClass)},this.before("teardown",this.beforeTeardown),this.after("initialize",function(){this.$container=$(window),this.throttledProcessWatchedMedia=utils.throttle(this.processWatchedMedia.bind(this),this.attr.scrollThrottle),this.on(document,"uiPageChanged uiWatchPlayableMedia",this.updateWatchedMedia),this.on(this.$container,"resize",this.throttledProcessWatchedMedia),this.attr.watchDocumentScroll?this.on(document,"scroll",this.throttledProcessWatchedMedia):this.on("scroll",this.throttledProcessWatchedMedia),this.updateWatchedMedia()})}var defineComponent=require("core/component"),viewportHelpers=require("app/utils/viewport_helpers"),utils=require("core/utils"),PlayableMedia=require("app/ui/playable_media/playable_media");module.exports=defineComponent(PlayableMediaManager)
});
/*!
* xdm.js – Nicolas Gallagher – MIT License
* easyXDM – Copyright(c) 2009-2011, Øyvind Sean Kinsey, oyvind@kinsey.no – MIT License
*/(function(a){function o(a){return Object.prototype.toString.call(a)==="[object Array]"}function p(a){return typeof a=="undefined"}function q(a){if(!a)throw new Error("url is undefined or empty");if(/^file/.test(a))throw new Error("The file:// protocol is not supported");var b=a.toLowerCase().match(i);if(b){var c=b[2],d=b[3],e=b[4]||"";if(c==="http:"&&e===":80"||c==="https:"&&e===":443")e="";return c+"//"+d+e}return a}function r(a){if(!a)throw new Error("url is undefined or empty");a=a.replace(k,"$1/");if(!a.match(/^(http||https):\/\//)){var b=a.substring(0,1)==="/"?"":location.pathname;b.substring(b.length-1)!=="/"&&(b=b.substring(0,b.lastIndexOf("/")+1)),a=location.protocol+"//"+location.host+b+a}while(j.test(a))a=a.replace(j,"");return a}function s(a,b,c){var d;for(var e in b)b.hasOwnProperty(e)&&(e in a?(d=b[e],typeof d=="object"?s(a[e],d,c):c||(a[e]=b[e])):a[e]=b[e]);return a}function t(a,b){typeof a=="string"&&(a=[a]);var c,d=a.length;while(d--){c=a[d],c=new RegExp(c.substr(0,1)==="^"?c:"^"+c.replace(/(\*)/g,".$1").replace(/\?/g,".")+"$");if(c.test(b))return!0}return!1}function u(a,b){if(!b)throw new Error("parameters is undefined or null");var c=a.indexOf("#"),d=[];for(var e in b)b.hasOwnProperty(e)&&d.push(e+"="+encodeURIComponent(b[e]));return a+(c===-1?"#":"&")+d.join("&")}function v(a){var b=f.cloneNode(!1);s(a.props,{frameBorder:0,allowTransparency:!0,scrolling:"no",width:"100%",src:u(a.remote,{xdm_e:q(location.href),xdm_c:a.channel,xdm_p:1}),name:e+a.channel+"_provider",style:{margin:0,padding:0,border:0}}),b.id=a.props.name,delete a.props.name;if(!a.container)throw new Error('xdm.Rpc() configuration object missing a DOM "container" property');return s(b,a.props),a.container.appendChild(b),a.onLoad&&l(b,"load",a.onLoad),a.html&&(b.contentWindow.document.open(),b.contentWindow.document.write(a.html),b.contentWindow.document.close()),a.iframe=b,b}function w(a){var b;a.isHost=a.isHost||p(n.xdm_p),a.props=a.props||{};if(!a.isHost){a.channel=n.xdm_c.replace(/["'<>\\]/g,""),a.remote=n.xdm_e.replace(/["'<>\\]/g,"");if(a.acl&&!t(a.acl,a.remote))throw new Error("Access denied for "+a.remote)}else a.remote=r(a.remote),a.channel=a.channel||"default"+g++;return b=[new c.stack.PostMessageTransport(a)],b.push(new c.stack.QueueBehavior(!0)),b}function x(a){var b,c,d=a.length,e={incoming:function(a,b){this.up.incoming(a,b)},outgoing:function(a,b){this.down.outgoing(a,b)},callback:function(a){this.up.callback(a)},init:function(){this.down.init()},destroy:function(){this.down.destroy()}};for(c=0;c0&&arguments[g-1]instanceof Function?(g>1&&arguments[g-2]instanceof Function?(h={success:arguments[g-2],error:arguments[g-1]},i.params=c.call(arguments,0,g-2)):(h={success:arguments[g-1]},i.params=c.call(arguments,0,g-1)),e[""+ ++d]=h,i.id=d):i.params=c.call(arguments,0),a.namedParams&&i.params.length===1&&(i.params=i.params[0]),f(i)}}function i(a,b,c,d){if(!c){b&&f({id:b,error:{code:-32601,message:"Procedure not found."}});return}var e,g;b?(e=function(a){e=h,f({id:b,result:a})},g=function(a,c){g=h;var d={id:b,error:{code:-32099,message:a}};c&&(d.error.data=c),f(d)}):e=g=h,o(d)||(d=[d]);try{var i=c.method.apply(c.scope,d.concat([e,g]));p(i)||e(i)}catch(j){g(j.message)}}var c,d=0,e={};return c={incoming:function(a,c){var d=JSON.parse(a),g;d.method?b.handle?b.handle(d,f):i(d.method,d.id,b.local[d.method],d.params):(g=e[d.id],d.error&&g.error?g.error(d.error):g.success&&g.success(d.result),delete e[d.id])},init:function(){if(b.remote)for(var d in b.remote)b.remote.hasOwnProperty(d)&&(a[d]=g(b.remote[d],d));c.down.init()},destroy:function(){for(var d in b.remote)b.remote.hasOwnProperty(d)&&a.hasOwnProperty(d)&&delete a[d];c.down.destroy()}},c},typeof exports=="object"?module.exports=c:typeof provide=="function"?provide("bower_components/xdm.js/xdm",c):typeof define=="function"&&define.amd?define(function(){return c}):a.xdm=c})(window)
define("app/ui/with_dynamic_video_ads",["module","require","exports","core/compose","app/data/with_ad_cache_key"],function(module, require, exports) {
function withDynamicVideoAds(){compose.mixin(this,[withAdCacheKey]),this.getDynamicVideoAd=function(a){var b=this.adCacheKey({id:a.id,promoted_id:a.promoted_id}),c=this.ads[b];return this.trigger("uiRefreshVideoAdCache",{tweet:a,triggerAd:c}),c||{}},this.updateCachedAds=function(a,b){$.extend(this.ads,b)},this.clearAdCache=function(){this.ads={}},this.after("initialize",function(){this.ads={},this.on(document,"dataVideoAdResponse",this.updateCachedAds),this.on(document,"uiRefreshVideoAdCache",this.clearAdCache)})}var compose=require("core/compose"),withAdCacheKey=require("app/data/with_ad_cache_key");module.exports=withDynamicVideoAds
});
define("app/ui/with_card",["module","require","exports","core/compose","core/utils","app/data/user_info","app/data/with_card_metadata","bower_components/xdm.js/xdm","app/ui/with_interaction_data","app/ui/with_dynamic_video_ads","app/utils/params","app/data/client_event"],function(module, require, exports) {
var compose=require("core/compose"),utils=require("core/utils"),userInfo=require("app/data/user_info"),withCardMetadata=require("app/data/with_card_metadata"),xdm=require("bower_components/xdm.js/xdm"),withInteractionData=require("app/ui/with_interaction_data"),withDynamicVideoAds=require("app/ui/with_dynamic_video_ads"),params=require("app/utils/params"),clientEvent=require("app/data/client_event");module.exports=function(){compose.mixin(this,[withCardMetadata,withInteractionData,withDynamicVideoAds]),this.defaultAttrs({cardWrapperClass:".js-macaw-cards-iframe-container",tweetIdData:"tweet-id",tweetNonceIdData:"tweet-nonce",itemIdData:"item-id",dmIdData:"message-id",advertiserIdData:"advertiser-id",itemType:"tweet",fullCardIframeUrl:"data-full-card-iframe-url",srcAttr:"data-src",cardUrl:"data-card-url",publisherId:"data-publisher-id",creatorId:"data-creator-id",srcDataAttr:"src",cardUrlDataAttr:"card-url",publisherIdDataAttr:"publisher-id",creatorIdDataAttr:"creator-id",cardName:"data-card-name",card2TypeAttr:"card2-type",macawCardsUserStyles:"macaw-cards-user-styles"}),this.DEFAULT_SCRIBE_ELEMENT="platform_card",this.DEFAULT_SCRIBE_COMPONENT="tweet",this.DEFAULT_SCRIBE_ACTION="undefined",this.CARDS_REQUIRING_USER_DEFINED_STYLES=["2586390716:message_me"],this.createCard=function(b){var c,d=this._getCardWrapper(b),e=this._getUniqueIdForCard(b),f=this._getTweetId(b),g=this._getAdvertiserId(b),h,i,j=b.closest("[data-card-component]").attr("data-card-component"),k={element:this.DEFAULT_SCRIBE_ELEMENT,component:j||this.DEFAULT_SCRIBE_COMPONENT},l=utils.merge(clientEvent.scribeContext,{component:k.component}),m={impressionId:b.data("impression-id"),disclosureType:b.data("disclosure-type")};if(d&&d.length&&d[0].childNodes.length<2&&(!this.channels[e]||d.context&&d.context.clientHeight===0)){h=d.data("src"),$.inArray(this._getCard2Type(b),this.CARDS_REQUIRING_USER_DEFINED_STYLES)>=0&&(h=this._addUserColorToUrl(b,h)),this._isDMCardWithoutText(b)&&(h=this._addNoTextFlagToUrl(h)),h=this._addHeightToUrl(d,h),h=this._addScribeContextToUrl(l,h),c=new xdm.Rpc({remote:h,container:d[0],props:{height:"0",style:{display:"block"}},onReady:function(){b.trigger("uiCardLoaded")}},{local:i=this.localMethods={localMethodNames:function(){return{callMethodByName:!0,cancelFollowUser:!0,favoriteStatus:!0,followAdvertiser:!0,followUser:!0,logPromotedInfo:!0,logPromotedContentEvent:!0,openBuyNowDialog:!0,openLeadGenConfirmDialog:!0,openAuthWebView:!0,openLink:!0,openLinkNoScribe:!0,openMessageMeDialog:!0,openProfile:!0,requestDynamicAd:!0,requestPlayerConfig:!0,resizeCard:!0,retweetStatus:!0,scribe:!0,shareStatus:!0,statusComposeTweet:!0,unblockUser:!0,unfollowAdvertiser:!0,unfollowUser:!0,videoView:!0,subscribeToEvent:!0,unsubscribeFromEvent:!0}},callMethodByName:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return i[a].method.apply(this,b)}.bind(this),openBuyNowDialog:function(a){this.trigger("MacawCardOpenBuyNowDialog",{buyNowTweetId:a.tweetId,impressionId:a.impressionId,disclosureType:this._getDisclosureType(a.earned)})}.bind(this),openAuthWebView:function(a){this.trigger("uiOpenAuthWebViewDialog",{impressionId:a.impressionId,webviewUrl:a.webviewUrl,webviewTitle:a.webviewTitle,tweetId:a.tweetId})}.bind(this),openLeadGenConfirmDialog:function(a){a=utils.merge(a,m,{tweetId:b.data(this.attr.tweetIdData),cardUrl:d.attr(this.attr.cardUrl),fullCardIframeUrl:d.attr(this.attr.fullCardIframeUrl),publisherId:d.attr(this.attr.publisherId),creatorId:d.attr(this.attr.creatorId)}),this.trigger(document,"uiOpenLeadGenConfirmDialog",a)}.bind(this),openLink:function(a){var b=m;a.hasOwnProperty("cardEvent")&&(b.cardEvent=a.cardEvent),this.trigger("uiCardUrlClick",b),this.scribeCardInteraction("open_link",this._getCardDataWithScribeContext(d,k))}.bind(this),openLinkNoScribe:function(a){var b=m;a.hasOwnProperty("cardEvent")&&(b.cardEvent=a.cardEvent),a.skipEventUiCardUrlClick||this.trigger("uiCardUrlClick",b)}.bind(this),openMessageMeDialog:function(a){this.trigger("uiComposeNewDMWithOptions",{tweetId:a.tweetId,recipientId:a.recipientId,defaultComposerText:a.defaultComposerText,welcomeMessageId:a.welcomeMessageId,messageMeCardData:{cardName:d.attr(this.attr.cardName),cardUri:d.attr(this.attr.cardUrl),userId:userInfo.user.id}})}.bind(this),openProfile:function(a){a=utils.merge({userId:a.userId,userScreenName:a.userScreenName,scribeContext:k},this.getCardDataFromContainer(d),m),this.trigger("uiShowProfileNewWindow",a),this.trigger("uiNavigate",{href:"/"+a.userScreenName})}.bind(this),requestDynamicAd:function(){var a=this.getCard2Item(this._getCardDataWithScribeContext(d,k));return this.getDynamicVideoAd(a)}.bind(this),requestPlayerConfig:function(){return{autoPlayPreview:b.find('[data-autoplaying-media="true"]').length>0,autoPlayPreviewPreroll:userInfo.getDecider("autoplayPreviewPreroll"),useVmapVariants:userInfo.getDecider("useVmapVariants")}},resizeCard:function(a){c.iframe.height=parseInt(a.height,10),d.removeClass("initial-card-height")},statusComposeTweet:function(a){a=utils.merge(a,{defaultText:a.tweetText,canTweetDefaultText:!0,disclosureType:this._getDisclosureType(a.earned)}),$(document).trigger("uiOpenTweetDialog",a)}.bind(this),retweetStatus:function(a){this._triggerTweetAction(b,"uiOpenRetweetDialog",{id:a.tweetId||f,tweetId:a.tweetId||f})}.bind(this),favoriteStatus:function(a){this._triggerTweetAction(b,"uiDidFavoriteTweet",{id:a.tweetId||f})}.bind(this),shareStatus:function(a){this._triggerTweetAction(b,"uiNeedsShareViaEmailDialog",{id:a.tweetId||f})}.bind(this),followAdvertiser:function(a){g&&this._triggerTweetAction(b,"uiFollowAction",{userId:g})}.bind(this),unfollowAdvertiser:function(a){g&&this._triggerTweetAction(b,"uiFollowAction",{userId:g})}.bind(this),scribe:function(a){var b=this.DEFAULT_SCRIBE_ELEMENT,c=this.DEFAULT_SCRIBE_ACTION,e;a.hasOwnProperty("customScribe")&&(a.customScribe.hasOwnProperty("element")&&(b=a.customScribe.element),a.customScribe.hasOwnProperty("action")&&(c=a.customScribe.action),a.customScribe.hasOwnProperty("itemData")&&(e=a.customScribe.itemData),this.scribeCardInteraction(c,this._getCardDataWithScribeContext(d,k),b,e))}.bind(this),logPromotedInfo:function(a){this.trigger(document,"uiMacawCardClicked",{event:a.event,impressionId:a.impressionId,earned:a.earned,sync:a.sync})}.bind(this),logPromotedContentEvent:function(a){this._triggerTweetAction(b,"uiPlayableMediaEvent",$.extend(this.interactionData(b,a),a))}.bind(this),followUser:function(a){a.userId&&this._triggerTweetAction(b,"uiFollowAction",{userId:a.userId})}.bind(this),unfollowUser:function(a){a.userId&&this._triggerTweetAction(b,"uiUnfollowAction",{userId:a.userId})}.bind(this),unblockUser:function(a){a.userId&&this._triggerTweetAction(b,"uiUnblockAction",{userId:a.userId})}.bind(this),cancelFollowUser:function(a){a.userId&&this._triggerTweetAction(b,"uiCancelFollowRequestAction",{userId:a.userId})}.bind(this),subscribeToEvent:function(a){a&&a.subscribeTo&&(e in this.activeSubscriptions?this.activeSubscriptions[e].push(a.subscribeTo):this.activeSubscriptions[e]=[a.subscribeTo],this._addSubscription(e,a.subscribeTo))}.bind(this),unsubscribeFromEvent:function(a){a&&a.unsubscribeFrom&&this._removeSubscription(e,a.unsubscribeFrom)}.bind(this)},remote:{localMethodNames:{},callVideoPlayerMethod:{},transmitEvent:{}}}),$(c.iframe).attr("allowfullscreen",""),this.channels[e]=c;var n=b.data(this.attr.dmIdData);if(!!n&&b.is(":visible")){var o=this.getCard2Item(this.getCardDataFromContainer(d));this.trigger("uiNewDMCardLoaded",{cardItem:o})}}return m},this.destroyCard=function(b){var c=this._getUniqueIdForCard(b);if(this.channels[c]){this.channels[c].destroy(),delete this.channels[c];var d=this.activeSubscriptions[c];delete this.activeSubscriptions[c];for(var e in d)this._subscriptionExistsFor(event)||this.off(document,e)}},this.destroyAllCards=function(){var b=this.channels;Object.keys(this.channels).forEach(function(a){b[a].destroy()}),this.channels={}},this._getCardWrapper=function(b){return b.find(this.attr.cardWrapperClass)},this._getTweetId=function(b){return b.data(this.attr.tweetIdData)},this._getUniqueIdForCard=function(b){return b.data(this.attr.tweetNonceIdData)||b.data(this.attr.tweetIdData)||b.data(this.attr.dmIdData)},this._getAdvertiserId=function(b){return b.data(this.attr.advertiserIdData)},this._getUserColor=function(b){var c=$(" ").css("display","none").appendTo(b),d=c.css("color");return c.remove(),d},this._getCard2Type=function(b){return b.data(this.attr.card2TypeAttr)},this._addUserColorToUrl=function(b,c){var d=this._getUserColor(b);return d?params.addToUrl(c,{user_color:d}):c},this._addScribeContextToUrl=function(b,c){return b?params.addToUrl(c,{scribe_context:JSON.stringify(b)}):c},this._isDMCardWithoutText=function(b){return b.hasClass("DirectMessage")&&b.data("no-text")},this._addNoTextFlagToUrl=function(b){return params.addToUrl(b,{dm_no_text:!0})},this._addHeightToUrl=function(b,c){var d=b.height();return d?params.addToUrl(c,{card_height:d}):c},this._getCardDataWithScribeContext=function(b,c){return utils.merge(this.getCardDataFromContainer(b),{scribeContext:c})},this._getDisclosureType=function(a){return a===!0?"earned":"_"},this._triggerTweetAction=function(b,c,d){b.trigger(c,d)},this._addSubscription=function(a,b){this.on(document,b,function(c,d){var e=this.channels[a];e&&this.activeSubscriptions[a]&&this.activeSubscriptions[a].indexOf(b)>-1&&e.transmitEvent(b,{type:c.type,timestamp:c.timeStamp,data:c.data},d)}.bind(this))},this._removeSubscription=function(a,b){var c=this.activeSubscriptions[a];if(this.channels[a]&&Array.isArray(c)){var d=c.indexOf(b);d>-1&&(c.splice(d,1),c.length>0?this.activeSubscriptions[a]=c:delete this.activeSubscriptions[a],this._subscriptionExistsFor(b)||this.off(document,b))}},this._getAllSubscriptions=function(){return Object.keys(this.activeSubscriptions).map(function(a){return this.activeSubscriptions[a]},this).filter(function(a){return!!a})},this._subscriptionExistsFor=function(a){return this._getAllSubscriptions().map(function(a){return a.subscribedTo}).some(function(b){return b.subscribedTo.indexOf(a)>-1})},this.autoplayMedia=function(a){var b=this._getUniqueIdForCard($(a.target).closest(".tweet[data-tweet-id]")),c=this.channels[b];c&&c.callVideoPlayerMethod("autoPlayPreview")},this.loadVideoCards=function(a,b){b&&b.tweets&&b.tweets.forEach(function(a){var b=this.$node.find(".tweet[data-tweet-id="+a.tweetId+"]");b.find('[data-card-name=__entity_video][data-has-autoplayable-media="true"]:empty').length&&this.createCard(b)}.bind(this))},this.stopAutoplayingMedia=function(a,b){var c=this._getUniqueIdForCard($(a.target).closest(".tweet[data-tweet-id]")),d=this.channels[c];d&&d.callVideoPlayerMethod("autoPlayPreviewStop")},this.pauseMedia=function(a){var b=this._getUniqueIdForCard($(a.target).closest(".tweet[data-tweet-id]")),c=this.channels[b];c&&(c.callVideoPlayerMethod("pause"),c.callVideoPlayerMethod("autoPlayPreviewStop"))},this.pauseAllMedia=function(a,b){var c=this.channels;Object.keys(c).forEach(function(a){c[a].callVideoPlayerMethod("pause"),c[a].callVideoPlayerMethod("autoPlayPreviewStop")})},this.updatePosition=function(a,b){var c=b&&b.tweetId&&this.channels[b.tweetId];c&&c.callVideoPlayerMethod("updatePosition",b.positionData)},this.after("initialize",function(){this.channels={},this.activeSubscriptions={},this.before("teardown",this.destroyAllCards),this.on(document,"uiAutoplayMedia",this.autoplayMedia),this.on(document,"uiStopAutoplayingMedia",this.stopAutoplayingMedia),this.on(document,"uiPauseAllMedia",this.pauseAllMedia),this.on(document,"uiPauseMedia",this.pauseMedia),this.on(document,"uiPlayableMediaPositionChange",this.updatePosition),this.on(document,"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems uiHasInjectedRangeTimelineItems",this.loadVideoCards)})}
});
define("app/data/cards/static_cards_types",["module","require","exports"],function(module, require, exports) {
var data=["2586390716:authenticated_web_view","2586390716:buy_now","3260518932:moment","3691233323:periscope_broadcast","app","direct_store_link_app","poll2choice_image","poll3choice_image","poll4choice_image","poll2choice_text_only","poll3choice_text_only","poll4choice_text_only","promo_website","summary","summary_large_image"];module.exports=data
});
define("app/ui/dynamic_card_watcher",["module","require","exports","core/component","app/ui/with_card","app/utils/viewport_helpers","core/utils","app/data/cards/static_cards_types","app/data/user_info"],function(module, require, exports) {
function dynamicCardWatcher(){this.viewportHelpers=viewportHelpers,this.staticCardsTypes=staticCardsTypes,this.defaultAttrs({containerSelector:"body",cardContainerSelector:".tweet",scrollThrottle:100,viewportThreshold:800,fullscreenResetHeight:100,iframeContainerSelector:".js-macaw-cards-iframe-container",unloadedCardsSelector:'.js-macaw-cards-iframe-container[data-watched!="true"]',unloadedCardsFilter:".cards-forward .js-macaw-cards-iframe-container"}),this.shouldUnloadCard=function(a){var b=this.staticCardsTypes.indexOf(a.data("card-name"))!==-1,c=b&&this.shouldNotUnloadStaticCards;return!c},this.watchUnloadedCards=function(){var a=this.$container.find(this.attr.unloadedCardsFilter).filter(function(){return this.children.length===0});a.attr("data-watched",!0),this.watchedCards=this.watchedCards.concat(a.toArray()),this.throttledProcessWatchedCards()},this.processWatchedCards=function(){if(this.isInFullscreen())return;var a,b=0;while(b0&&(h+=d[a])}),{prepend:g,append:h}},this.updateConversationHTML=function(a,b,c){var d=this.generateConversationHTML(a,b,c),e=this.$container[0].scrollHeight-this.$container.scrollTop();this.$content.prepend(d.prepend);var f=this.$container[0].scrollHeight-e;this.$container.scrollTop(f),this.$content.append(d.append),this.updateRapidFire(c),this.addAnimation(c),this.updateScrollPosition(a,c),this.updateQR(c)},this.updateRapidFire=function(a){if(!a)return;var b=this.attr.messageClass,c=this.$content.find('[data-message-id="'+a+'"]').nextAll().addBack();c.each(function(a,c){var d=$(this),e=d.next(),f=d.hasClass(b);if(f&&e.hasClass(b)){var g=d.find("[data-user-id]").attr("data-user-id"),h=d.find("[data-time]").attr("data-time"),i=d.find("[data-custom-profile-id]").attr("data-custom-profile-id"),j=e.find("[data-user-id]").attr("data-user-id"),k=e.find("[data-time]").attr("data-time"),l=e.find("[data-custom-profile-id]").attr("data-custom-profile-id");d.css("height"),g===j&&k-h<60&&i===l&&!d.hasClass("DirectMessage--emoji")&&!e.hasClass("DirectMessage--emoji")?d.addClass("is-rapidFire"):d.removeClass("is-rapidFire")}else f&&!e.hasClass(b)&&d.removeClass("is-rapidFire")})},this.addAnimation=function(a){this.$content.find('[data-message-id="'+a+'"]').nextAll(this.attr.emojiOnlyMessageSelector).addClass("is-animating")},this.requestNextPage=function(){this.trigger("uiNeedsDMConversation",{conversation_id:this.$content.attr("data-thread-id"),max_entry_id:this.$content.children().first().attr("data-message-id")})},this.hideNewMessagesPill=function(){this.$newMessagesPill.addClass("is-hidden")},this.showNewMessagesPill=function(){this.$newMessagesPill.removeClass("is-hidden"),setTimeout(this.hideNewMessagesPill.bind(this),3500)},this.showSpinner=function(){this.$spinner.removeClass("u-hidden")},this.hideSpinner=function(){this.$spinner.addClass("u-hidden")},this.isMessageVisible=function(a){return a.position().top0;c&&this.$avatarsContainerSelector.append(b);var d=this.select("avatarSelector").not(".is-hidden").not(this.attr.overflowAvatarSelector);d.css("visibility","");var e=this.attr.maxNumAvatars-d.length;if(e>0){var f=this.select("overflowAvatarSelector").slice(0,e);f.removeClass(this.attr.overflowAvatarClass),c&&f.last().css("visibility","hidden")}},this.addAvatar=function(a){var b=this.profileImages[a];if(!b)return;var c=$(template[this.attr.avatarTemplate].render({image_count:1,images:[{src:b}],overflow:this.activeAvatarList().length>=this.attr.maxNumAvatars},template)),d=!this.activeAvatarList().length;d&&this.$avatarsContainerSelector.empty(),this.$avatarsContainerSelector.append(c),this.activeAvatars[a]={timer:this.setRemoveTimeout(a),node:c},this.updateOverflow(),this.$container.hasClass("u-hidden")&&this.show()},this.setRemoveTimeout=function(a){return setTimeout(this.removeAvatar.bind(this,a,!0),this.attr.avatarDisplayDuration)},this.refreshTimer=function(a){var b=this.activeAvatars[a];if(!b)return;clearTimeout(b.timer),b.timer=this.setRemoveTimeout(a)},this.isEventForCurrentConvo=function(a,b){return this.conversationId&&this.conversationId===b.conversation_id},this.removeAvatar=function(a,b){var c=this.activeAvatars[a];if(!c)return;clearTimeout(c.timer);var d=this.activeAvatarList().length===1;!d&&c.node.addClass("is-hidden"),delete this.activeAvatars[a],this.updateOverflow(),d&&this.hide(b)},this.activeAvatarList=function(){return Object.keys(this.activeAvatars)},this.handleUserUpdate=function(a,b){if(b.should_request_inbox||b.is_empty)return;var c=(b.conversations||[]).filter(function(a){return a.conversation_id===this.conversationId}.bind(this))[0];if(!c||c.is_empty)return;this.avatarsToClear.forEach(function(a){this.removeAvatar(a,!1)}.bind(this)),this.avatarsToClear=[]},this.handleConversationUpdate=function(a,b){b.conversation_id!==this.conversationId&&(this.reset(),this.conversationId=b.conversation_id);var c=b.participants||[];this.profileImages=c.reduce(function(a,b){return a[b.id]=b.profile_image_url,a},{})},this.handleUpdateEvent=function(a,b){b.user_id&&this.avatarsToClear.push(b.user_id)},this.handleTypingEvent=function(a,b){var c=b.user_id;if(userInfo.user.id===c)return;var d=this.activeAvatars[c];d?this.refreshTimer(c):this.addAvatar(c)},this.after("addAvatar",function(){this.trigger("uiDMTypingIndicatorAvatarAdded",{num_avatars:this.activeAvatarList().length})}),this.after("refreshTimer",function(){this.trigger("uiDMTypingIndicatorAvatarRefreshed",{num_avatars:this.activeAvatarList().length})}),this.after("initialize",function(){this.activeAvatars={},this.profileImages={},this.avatarsToClear=[],this.$container=this.select("containerSelector"),this.$avatarsContainerSelector=this.select("avatarsContainerSelector"),this.$messageBubble=this.select("messageBubbleSelector"),this.on(document,"dataDMUserUpdates",this.handleUserUpdate),this.on(document,"uiDMConversationUpdated",this.handleConversationUpdate),this.on(document,"dataDMTyping",guard(this.handleTypingEvent,this.isEventForCurrentConvo)),this.on(document,"dataDMUpdate",guard(this.handleUpdateEvent,this.isEventForCurrentConvo))})}var defineComponent=require("core/component"),template=require("template"),userInfo=require("app/data/user_info"),guard=require("app/utils/guard");module.exports=defineComponent(typingIndicator)
});
define("app/ui/dm/conversation/manager",["module","require","exports","core/component","app/utils/with_no_teardown_child_components","app/ui/dm/add_participants/activity","app/ui/dm/conversation/activity","app/ui/dm/view_participants/activity","app/ui/dm/conversation/typing_indicator"],function(module, require, exports) {
function conversationManager(){this.attributes({conversation:".DMConversationContainer",groupAvatars:!1,maxCharacters:1e4}),this.openConversation=function(a,b){var c=a.type==="uiRenderNewConversationView"?"uiOpenNewConversationView":"uiOpenConversationView";this.select("conversation").trigger(c,b)},this.after("initialize",function(){this.attachChild(AddParticipantsActivity,this.attr.conversation),this.attachChild(ViewParticipantsActivity,this.attr.conversation),this.attachChild(ConversationActivity,this.attr.conversation,{groupAvatars:this.attr.groupAvatars,maxCharacters:this.attr.maxCharacters}),this.attachChild(TypingIndicator,this.attr.conversation),this.on("uiRenderConversationView uiRenderNewConversationView",this.openConversation)})}var defineComponent=require("core/component"),withNoTeardownChildComponents=require("app/utils/with_no_teardown_child_components"),AddParticipantsActivity=require("app/ui/dm/add_participants/activity"),ConversationActivity=require("app/ui/dm/conversation/activity"),ViewParticipantsActivity=require("app/ui/dm/view_participants/activity"),TypingIndicator=require("app/ui/dm/conversation/typing_indicator");module.exports=defineComponent(conversationManager,withNoTeardownChildComponents)
});
define("app/data/dm/conversation",["module","require","exports","core/component","app/data/dm/utils","app/data/with_data"],function(module, require, exports) {
function conversation(){this.defaultAttrs({noShowError:!0}),this.conversation=function(a,b){b=b||{},this.get({url:"/messages/with/conversation",data:{id:b.conversation_id,max_entry_id:b.max_entry_id},eventData:b,success:triggerFn(a.target,"dataDMConversationResult"),error:chain(triggerFn(a.target,"dataDMInvalidConversation",b),triggerFn(a.target,"dataDMError"))})},this.after("initialize",function(){this.on("uiNeedsDMConversation",this.conversation)})}var defineComponent=require("core/component"),utils=require("app/data/dm/utils"),withData=require("app/data/with_data"),triggerFn=utils.triggerFn,chain=utils.chain;module.exports=defineComponent(conversation,withData)
});
define("app/data/dm/add_welcome_message",["module","require","exports","core/component","app/data/dm/utils","app/data/with_data"],function(module, require, exports) {
function addWelcomeMessage(){this.defaultAttrs({noShowError:!0}),this.addWelcomeMessage=function(a,b){b=b||{};if(b.has_tweet_attachment||b.is_oto===!1)return;var c={};typeof b.welcome_message_id!="undefined"&&(c.welcome_message_id=b.welcome_message_id),this.post({url:"/messages/add_welcome_message_to_conversation/"+b.conversation_id,data:c,eventData:b,success:triggerFn(a.target,"dataDMConversationResult")})},this.after("initialize",function(){this.on("uiRenderConversationView",this.addWelcomeMessage)})}var defineComponent=require("core/component"),utils=require("app/data/dm/utils"),withData=require("app/data/with_data"),triggerFn=utils.triggerFn;module.exports=defineComponent(addWelcomeMessage,withData)
});
define("app/data/dm/with_dm_cursor",["module","require","exports"],function(module, require, exports) {
function withDmCursor(){this.storeDmCursor=function(a,b){b&&b.cursor&&(this.dmCursor=b.cursor,this.trigger("dataDMCursorUpdated",{cursor:this.dmCursor}))},this.storeDmCursorFromUpdates=function(a,b){b&&b.inbox_updates&&b.inbox_updates.cursor&&(this.dmCursor=b.inbox_updates.cursor,this.trigger("dataDMCursorUpdated",{cursor:this.dmCursor}))},this.after("initialize",function(){this.on(document,"dataDMCursor",this.storeDmCursor),this.on(document,"dataDMUserUpdates",this.storeDmCursorFromUpdates)})}module.exports=withDmCursor
});
define("app/data/dm/delete_conversation",["module","require","exports","core/component","app/data/with_data","app/data/dm/with_dm_cursor","app/data/dm/utils"],function(module, require, exports) {
function deleteConversation(){this.defaultAttrs({noShowError:!0}),this.deleteConversation=function(a,b){b=b||{};var c=chain(triggerFn(a.target,"dataConversationDeleted",{conversation_id:b.conversation_id}),triggerFn(a.target,"dataDMUserUpdates")),d=chain(triggerFn(a.target,"dataConversationDeleteFailed",{conversation_id:b.conversation_id}),triggerFn(a.target,"dataDMError"));this.destroy({url:"/messages/with/conversation",data:{id:b.conversation_id,cursor:this.dmCursor},eventData:b,success:c,error:d})},this.after("initialize",function(){this.on("uiDeleteConversation",this.deleteConversation)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),withDmCursor=require("app/data/dm/with_dm_cursor"),utils=require("app/data/dm/utils"),triggerFn=utils.triggerFn,chain=utils.chain,DeleteConversation=defineComponent(deleteConversation,withData,withDmCursor);module.exports=DeleteConversation
});
define("app/data/dm/delete_message",["module","require","exports","core/component","app/data/dm/utils","app/data/with_data","app/data/dm/with_dm_cursor"],function(module, require, exports) {
function deleteMessage(){this.defaultAttrs({noShowError:!0}),this.deleteMessage=function(a,b){b=b||{},this.post({url:"/i/direct_messages/destroy",eventData:b,data:{id:b.id,conversation_id:b.conversation_id,cursor:this.dmCursor},success:triggerFn(a.target,["dataDMDeleteSuccess","dataDMUserUpdates"]),error:chain(triggerFn(a.target,"dataDMDeleteFailed",b),triggerFn(a.target,"dataDMError"))})},this.after("initialize",function(){this.on("uiDMDialogDeleteMessage",this.deleteMessage)})}var defineComponent=require("core/component"),utils=require("app/data/dm/utils"),withData=require("app/data/with_data"),withDmCursor=require("app/data/dm/with_dm_cursor"),triggerFn=utils.triggerFn,chain=utils.chain;module.exports=defineComponent(deleteMessage,withData,withDmCursor)
});
define("app/data/dm/dm_live_pipeline_handler",["module","require","exports","core/component"],function(module, require, exports) {
function livePipelineHandler(){this.attributes({darkTraffic:!1}),this.processDMTypingEvent=function(a){!this.attr.darkTraffic&&this.trigger("dataDMTyping",a)},this.processDMUpdate=function(a){!this.attr.darkTraffic&&this.trigger("dataDMUpdate",a)},this.processLPMessage=function(a,b){b.payload.dm_typing?this.processDMTypingEvent(b.payload.dm_typing):b.payload.dm_update&&this.processDMUpdate(b.payload.dm_update)},this.updateSubscriptions=function(a,b){if(!b||!a)return;var c=a==="subscribe"?"dataLPSubscribe":"dataLPUnsubscribe";this.trigger(c,{consumer_id:this.consumerId,topic:this.getTopicsForConversation(b)})},this.handleConversationUpdate=function(a,b){b.conversation_id!==this.conversationId&&this.updateSubscriptions("unsubscribe",this.conversationId),this.updateSubscriptions("subscribe",b.conversation_id),this.conversationId=b.conversation_id},this.handleConversationViewChange=function(a){var b=a.type==="uiDMConversationActivityHidden"?"unsubscribe":"subscribe";this.updateSubscriptions(b,this.conversationId)},this.getTopicsForConversation=function(a){return["/dm_typing/"+a,"/dm_update/"+a]},this.after("initialize",function(){this.consumerId=parseInt(Math.random()*Number.MAX_SAFE_INTEGER,10),this.on("dataLPMessage",this.processLPMessage),this.on("uiDMConversationUpdated",this.handleConversationUpdate),this.on("uiDMConversationActivityHidden uiDMConversationActivityVisible",this.handleConversationViewChange)})}var defineComponent=require("core/component");module.exports=defineComponent(livePipelineHandler)
});
define("app/data/dm/report_conversation",["module","require","exports","core/component","app/data/with_data","app/data/dm/with_dm_cursor","app/data/dm/utils"],function(module, require, exports) {
function reportConversation(){this.defaultAttrs({noShowError:!0}),this.reportConversation=function(a,b){b=b||{};var c=chain(triggerFn(a.target,"dataDMUserUpdates"),triggerFn(a.target,"dataConversationReported",{conversation_id:b.conversation_id})),d=chain(triggerFn(a.target,"dataDMError"),triggerFn(a.target,"dataConversationReportFailed",{conversation_id:b.conversation_id}));this.post({url:"/i/direct_messages/report_conversation",data:{conversation_id:b.conversation_id,report_as:b.report_as,cursor:this.dmCursor},success:c,error:d})},this.after("initialize",function(){this.on("uiReportConversation",this.reportConversation)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),withDmCursor=require("app/data/dm/with_dm_cursor"),utils=require("app/data/dm/utils"),triggerFn=utils.triggerFn,chain=utils.chain,ReportConversation=defineComponent(reportConversation,withData,withDmCursor);module.exports=ReportConversation
});
define("app/data/dm/report_message",["module","require","exports","core/component","app/data/dm/utils","app/data/with_data"],function(module, require, exports) {
function reportMessage(){this.defaultAttrs({noShowError:!0}),this.reportMessage=function(a,b){b=b||{},this.post({url:"/i/direct_messages/report",data:{id:b.id,conversation_id:b.conversation_id,report_as:b.report_as},eventData:b,success:triggerFn(a.target,["dataDMReportSuccess","dataDMConversationResult"]),error:chain(triggerFn(a.target,"dataDMReportFailed",b),triggerFn(a.target,"dataDMError"))})},this.after("initialize",function(){this.on("uiDMDialogReportDM",this.reportMessage)})}var defineComponent=require("core/component"),utils=require("app/data/dm/utils"),withData=require("app/data/with_data"),triggerFn=utils.triggerFn,chain=utils.chain;module.exports=defineComponent(reportMessage,withData)
});
define("app/utils/promise_queue",["module","require","exports"],function(module, require, exports) {
module.exports=function(){function d(){if(c!=="running"&&b.length>0){var a=b.shift();c="running";var e=function(a){return c="idle",d(),a},f=a(),g=f.onCompletePromise;f.queuedPromise().then(e,e).then(g.resolve,g.reject)}}var b=[],c="idle";return{enqueue:function(a){var c=$.Deferred(),e=function(){return{queuedPromise:a,onCompletePromise:c}};return b.push(e),d(),c},numPending:function(){return b.length},numInProgress:function(){return c==="running"?1:0},length:function(){return this.numPending()+this.numInProgress()}}}
});
define("app/data/dm/send_message",["module","require","exports","core/component","core/utils","app/data/dm/utils","app/data/with_data","app/data/with_media_sru_finalize","app/utils/promise_queue"],function(module, require, exports) {
function sendMessage(){this.defaultAttrs({noShowError:!0}),this.sendImage=function(a,b){var c=b.media_data||{},d=function(a){return this.trigger("dataMediaSruComplete",c),utils.merge(b,{media_id:a})}.bind(this),e=triggerFn(a.target,"dataDMError",function(a){return this.trigger("dataMediaSruCancel",c),utils.merge(b,{message:a.message})}.bind(this));return c.uploadId?this.mediaSruFinalize(c).then(d,e):$.Deferred().resolve(b)},this.sendMessage=function(a,b){var c=function(c,d){d&&d.retry&&a.type!=="dataDMDialogSendMessageRetry"?setTimeout(function(){this.trigger(c,"dataDMDialogSendMessageRetry",b)}.bind(this),d.delay):this.trigger(c,"dataDMSendSuccess",d)};return this.post({url:"/i/direct_messages/new",data:b,eventData:b,success:c.bind(this,a.target),error:chain(triggerFn(a.target,"dataDMSendFailed",b),triggerFn(a.target,"dataDMError"))})},this.getConversationQueue=function(a){if(!a)return;return this.conversationQueues[a]=this.conversationQueues[a]||promiseQueue(),this.conversationQueues[a]},this.updateInFlight=function(){var a=Object.keys(this.conversationQueues).reduce(function(a,b){return a[b]=this.conversationQueues[b].length(),a}.bind(this),{});this.trigger("dataDMMessagesInFlight",a)},this.enqueueMessage=function(a,b){this.getConversationQueue(a).enqueue(b).always(this.updateInFlight.bind(this)),this.updateInFlight()},this.handleSend=function(a,b){var c=function(){return this.sendImage(a,b).then(this.sendMessage.bind(this,a))}.bind(this),d=b.conversation_id;d?this.enqueueMessage(d,c):c()},this.after("initialize",function(){this.on("uiDMSendMessage dataDMDialogSendMessageRetry",this.handleSend),this.conversationQueues={},this.on("uiDMConversationNeedsInFlightState",this.updateInFlight)})}var defineComponent=require("core/component"),utils=require("core/utils"),dmUtils=require("app/data/dm/utils"),withData=require("app/data/with_data"),withMediaSruFinalize=require("app/data/with_media_sru_finalize"),promiseQueue=require("app/utils/promise_queue"),chain=dmUtils.chain,triggerFn=dmUtils.triggerFn;module.exports=defineComponent(sendMessage,withData,withMediaSruFinalize)
});
define("app/data/dm/suspicious_message_scribe",["module","require","exports","core/component","app/data/with_scribe"],function(module, require, exports) {
function suspiciousContentScribe(){this.after("initialize",function(){this.scribeOnEvent("uiRevealSuspiciousDM",{component:"rtf_message",action:"open"}),this.scribeOnEvent("uiReportDMAsSpam",{component:"rtf_message",action:"report_as_spam"}),this.scribeOnEvent("uiReportDMAsSafe",{component:"rtf_message",action:"report_as_ok"})})}var defineComponent=require("core/component"),withScribe=require("app/data/with_scribe"),SuspiciousContentScribe=defineComponent(suspiciousContentScribe,withScribe);module.exports=SuspiciousContentScribe
});
define("app/data/dm/toggle_notifications",["module","require","exports","core/component","app/data/with_data","app/data/dm/utils"],function(module, require, exports) {
function toggleNotifications(){this.defaultAttrs({noShowError:!0}),this.toggleNotifications=function(a,b){b=b||{};var c=chain(triggerFn(a.target,"dataDMConversationResult"),triggerFn(a.target,b.enable_notifications?"dataNotificationsEnabled":"dataNotificationsDisabled")),d=triggerFn(a.target,b.enable_notifications?"dataNotificationsEnableFailed":"dataNotificationsDisableFailed");this.post({url:"/i/direct_messages/notifications",data:{id:b.conversation_id,enable_notifications:b.enable_notifications,mute_duration:b.mute_duration},eventData:b,success:c,error:d})},this.after("initialize",function(){this.on("uiToggleNotifications",this.toggleNotifications)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),utils=require("app/data/dm/utils"),triggerFn=utils.triggerFn,chain=utils.chain,ToggleNotifications=defineComponent(toggleNotifications,withData);module.exports=ToggleNotifications
});
define("app/data/dm/tweet_attachment",["module","require","exports","core/component","app/data/with_scribe"],function(module, require, exports) {
function tweetAttachmentScribe(){this.after("initialize",function(){this.scribeOnEvent("uiDMDialogSharedTweetClick",{element:"shared_tweet_dm",action:"click"})})}var defineComponent=require("core/component"),withScribe=require("app/data/with_scribe"),TweetAttachmentScribe=defineComponent(tweetAttachmentScribe,withScribe);module.exports=TweetAttachmentScribe
});
define("app/data/dm/update_conversation_avatar",["module","require","exports","core/component","app/utils/shared_objects","app/data/dm/utils","app/data/with_data","app/data/with_media_sru_finalize"],function(module, require, exports) {
function updateAvatar(){this.defaultAttrs({noShowError:!0}),this.update=function(a,b){b=b||{};var c=a.target,d=sharedObjects.get(b.fileId);if(!d)return;this.mediaSruFinalize(d).then(function(a){this.post({url:"/i/direct_messages/update_avatar",data:{conversation_id:b.conversation_id,media_id:a},success:triggerFn(c,"dataDMUpdateConversationAvatarSuccess"),error:triggerFn(c,"dataDMUpdateConversationAvatarFailed")})}.bind(this))},this.remove=function(a,b){b=b||{},this.post({url:"/i/direct_messages/update_avatar",data:{conversation_id:b.conversation_id},success:triggerFn(a.target,"dataDMRemoveConversationAvatarSuccess"),error:triggerFn(a.target,"dataDMRemoveConversationAvatarFailed")})},this.after("initialize",function(){this.on("uiDMUpdateConversationAvatar",this.update),this.on("uiDMRemoveConversationAvatar",this.remove)})}var defineComponent=require("core/component"),sharedObjects=require("app/utils/shared_objects"),utils=require("app/data/dm/utils"),withData=require("app/data/with_data"),withMediaSruFinalize=require("app/data/with_media_sru_finalize"),triggerFn=utils.triggerFn;module.exports=defineComponent(updateAvatar,withData,withMediaSruFinalize)
});
define("app/data/dm/update_conversation_name",["module","require","exports","core/component","app/data/with_data","app/data/dm/utils"],function(module, require, exports) {
function updateName(){this.defaultAttrs({noShowError:!0}),this.updateName=function(a,b){b=b||{},this.post({url:"/i/direct_messages/update_name",data:{id:b.conversation_id,name:b.name},success:triggerFn(a.target,["dataDMConversationResult","dataUpdateConversationNameSuccess"]),error:triggerFn(a.target,"dataUpdateConversationNameFailure")})},this.after("initialize",function(){this.on("uiUpdateConversationName",this.updateName)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),utils=require("app/data/dm/utils"),triggerFn=utils.triggerFn;module.exports=defineComponent(updateName,withData)
});
define("app/ui/dm/inbox/notifications_permission_request",["module","require","exports","core/component","app/data/with_scribe","core/utils","app/utils/storage/core"],function(module, require, exports) {
function dmNotificationsPermissionRequest(){this.defaultAttrs({acceptSelector:".js-prompt-accept",dismissSelector:".js-prompt-later",daysToWaitOnDismiss:30,useNativePush:!1}),this.shouldDisplayRequest=function(){var a="Notification"in window;if(!a)return!1;var b=Notification.permission==="default",c=this.storage.getItem("last_dismissed_timestamp")||0,d=this.now()-c>this.attr.daysToWaitOnDismiss*24*60*60*1e3;return b&&d},this.now=function(){return Date.now()},this.handleAccept=function(){this.trigger("uiABImpression",{experiment:"web_native_push_notifications_4335"}),this.attr.useNativePush&&this.pushSupported?this.trigger("uiPushSubscriptionChangeRequested",{subscribe:!0}):this.trigger("uiRequestNativeNotificationPermission"),this.trigger("uiDismissDMNotice"),this.scribeAction("success")},this.handleDismiss=function(){this.storage.setItem("last_dismissed_timestamp",this.now()),this.trigger("uiDismissDMNotice"),this.scribeAction("dismiss")},this.scribeAction=function(a){this.scribe({component:"dm_conversation_list_dialog",element:"native_notifications_permission_request",action:a})},this.showNotice=function(){this.trigger("uiShowDMNotice")},this.updatePushSupport=function(a,b){b.supported&&(this.pushSupported=!0),b.subscribed&&this.trigger("uiDismissDMNotice")},this.after("initialize",function(){this.pushSupported=!1,this.storage=new Storage("dm_notifications");if(!this.shouldDisplayRequest())return;this.on("click",{acceptSelector:this.handleAccept,dismissSelector:this.handleDismiss}),this.on(document,"dataPushSubscriptionState",this.updatePushSupport),this.trigger("uiWantsPushSubscriptionState"),this.on(document,"uiSwiftLoaded",utils.once(this.showNotice).bind(this))})}var defineComponent=require("core/component"),withScribe=require("app/data/with_scribe"),utils=require("core/utils"),Storage=require("app/utils/storage/core"),DMNotificationsPermissionRequest=defineComponent(dmNotificationsPermissionRequest,withScribe);module.exports=DMNotificationsPermissionRequest
});
define("app/ui/dm/inbox/activity",["module","require","exports","app/utils/string","core/component","core/utils","app/utils/with_no_teardown_child_components","app/ui/dm/inbox/notifications_permission_request"],function(module, require, exports) {
function dmInbox(){this.attributes({inboxSelector:".DMInbox-content",inboxItemSelector:".DMInboxItem",conversationListSelector:".DMInbox-conversations",eventData:{scribeContext:{component:"dm_conversation_list_dialog"}},markAllReadSelector:".mark-all-read",noMessagesSelector:".dm-no-messages",spinnerSelector:".DMInbox-spinner",loadNextPageRange:150,notifications:!1,usePushNotifications:!1}),this.removeStaleInboxItems=function(a,b){var c=(b||[]).map(function(a){return this.generateInboxItemWithIdSelector(a)},this).join(", ");a.find(c).parent("li").remove()},this.sortInboxClone=function(a){var b=a.children().get();b.sort(function(a,b){var c=$(a).children().first().attr("data-sort-event-id"),d=$(b).children().first().attr("data-sort-event-id");return-1*StringUtils.compare(c,d)});var c=(b||[]).reduce(function(a,b){return a+b.outerHTML},"");a.html(c)},this.getDeletedConversationIDs=function(a){var b=(a||[]).filter(function(a){return a.type==="conversation_delete"}).map(function(a){return a.conversation_id});return b},this.applyUserUpdates=function(a,b){if(b.should_request_inbox)this.trigger("uiNeedsDMConversationList");else if(!b.is_empty){var c=b.inbox_updates,d=b.update_events,e=this.select("conversationListSelector").clone(),f=c&&c.updated_conversation_ids,g=this.getDeletedConversationIDs(d),h=(f||[]).concat(g);this.removeStaleInboxItems(e,h),e.prepend(c&&c.html),this.sortInboxClone(e),this.select("conversationListSelector").replaceWith(e),this.$node.data({markAllReadId:b.mark_all_read_id,maxEntryId:b.max_entry_id})}},this.applyInboxResult=function(a,b){var c=this.$node.data(),d=b.sourceEventData;if(!d||!d.max_entry_id)this.select("conversationListSelector").html(b.html||""),this.trigger("dataDMCursor",{cursor:b.cursor}),this.$node.removeData(),this.$node.data({markAllReadId:b.mark_all_read_id,minEntryId:b.min_entry_id,maxEntryId:b.max_entry_id,hasMore:b.has_more});else if(this.isNextPage(c.minEntryId,b.max_entry_id)){var e=this.select("conversationListSelector").clone();this.removeStaleInboxItems(e,b.threads),e.append(b.html),this.select("conversationListSelector").replaceWith(e),this.$node.data({minEntryId:b.min_entry_id,hasMore:b.has_more})}this.trigger("uiResetDMPoll")},this.isNextPage=function(a,b){return!a||!b?!1:StringUtils.compare(a,b)>=0},this.updateSpinner=function(){this.select("spinnerSelector").toggleClass("u-hidden",!this.$node.data("hasMore"))},this.handleInboxScroll=function(a,b){var c=$(a.currentTarget);c[0].scrollHeight-c.scrollTop()-this.attr.loadNextPageRange<=c.outerHeight()&&this.requestNextPageThrottled()},this.requestNextPage=function(){var a=this.$node.data().hasMore;(typeof a=="undefined"||a)&&this.trigger("uiNeedsDMConversationList",{max_entry_id:this.$node.data("minEntryId")})},this.requestNextPageThrottled=utils.throttle(this.requestNextPage,1e3),this.markAllMessages=function(){this.trigger("dataMarkDMsAsRead",{last_message_id:this.$node.data("markAllReadId")||-1}),this.trigger("uiDMDialogMarkMessage"),this.select("inboxItemSelector").removeClass("is-unread"),this.trigger("uiReadStateChanged",{msgCount:0})},this.generateInboxItemWithIdSelector=function(a){return this.attr.inboxItemSelector+'[data-thread-id="'+a+'"]'},this.markConversationRead=function(a,b){b.recipient_id&&this.$node.find(this.generateInboxItemWithIdSelector(b.recipient_id)+".is-unread").removeClass("is-unread")},this.markConversationUnread=function(a,b){b.sourceEventData&&b.sourceEventData.recipient_id&&this.$node.find(this.generateInboxItemWithIdSelector(b.sourceEventData.recipient_id)).addClass("is-unread")},this.inboxNeedsRefresh=function(a,b){this.$node.addClass("needs-refresh")},this.removeConversation=function(a,b){this.$node.find(this.generateInboxItemWithIdSelector(b.conversation_id)).parent("li").remove(),this.trigger("uiRenderConversationListView")},this.initiateKnownConversation=function(a,b){if(a){var c=$(a.target);if(this.isProfileLink(c))return;if(c.hasClass("DMInboxItem-media"))return}a&&a.preventDefault();var d=$(b.el),e=d.attr("data-thread-id"),f=new RegExp("^([1-9][0-9]*)-([1-9][0-9]*)$","g");this.trigger("uiRenderConversationView",{conversation_id:e,is_oto:f.test(e),name:d.find(".fullname").html(),most_recent_event_id:d.attr("data-last-message-id")})},this.isProfileLink=function(a){return!!a.closest("a.js-user-profile-link").length},this.setEmptyState=function(a,b){switch(a.type){case"dataDMConversationEmptyState":this.$node.toggleClass("is-empty",!0),this.$node.data("hasMore",!1);break;case"dataDMConversationListResult":this.$node.toggleClass("is-empty",!1);break;case"dataDMUserUpdates":b&&b.conversations&&b.conversations.length&&this.$node.toggleClass("is-empty",!1)}},this.after("setEmptyState",this.updateSpinner),this.after("applyInboxResult",this.updateSpinner),this.after("initialize",function(){this.attr.notifications&&this.attachChild(DMNotificationsPermissionRequest,this.$node.find(".DMNotificationsPermissionRequest"),{useNativePush:this.attr.usePushNotifications}),this.on(document,"dataDMConversationListResult",this.applyInboxResult),this.on(document,"dataDMUserUpdates",this.applyUserUpdates),this.on(document,"uiDMInboxWantsRefreshed",this.inboxNeedsRefresh),this.on(this.select("inboxSelector"),"scroll",this.handleInboxScroll),this.on(document,"uiDeleteConversation uiReportConversation",this.removeConversation),this.on(document,"dataConversationDeleteFailed dataConversationReportFailed","uiNeedsDMConversationList"),this.on(document,"dataDMConversationEmptyState dataDMConversationListResult dataDMUserUpdates",this.setEmptyState),this.on(document,"dataMarkDMsAsRead",this.markConversationRead),this.on(document,"dataDMReadError",this.markConversationUnread),this.on(document,"uiCloseDMConversation","uiRenderConversationListView"),this.on("click",{inboxItemSelector:this.initiateKnownConversation,markAllReadSelector:this.markAllMessages})})}var StringUtils=require("app/utils/string"),defineComponent=require("core/component"),utils=require("core/utils"),withNoTeardownChildComponents=require("app/utils/with_no_teardown_child_components"),DMNotificationsPermissionRequest=require("app/ui/dm/inbox/notifications_permission_request"),DMInbox=defineComponent(dmInbox,withNoTeardownChildComponents);module.exports=DMInbox
});
define("app/data/dm/inbox",["module","require","exports","core/component","app/data/dm/utils","app/data/with_data"],function(module, require, exports) {
function inbox(){this.defaultAttrs({noShowError:!0}),this.inbox=function(a,b){b=b||{},this.get({url:"/messages",data:{min_entry_id:b.min_entry_id,max_entry_id:b.max_entry_id},eventData:b,success:triggerFn(a.target,function(a){return a.is_empty_state?"dataDMConversationEmptyState":"dataDMConversationListResult"}),error:triggerFn(a.target,"dataDMError")})},this.after("initialize",function(){this.on("uiNeedsDMConversationList",this.inbox)})}var defineComponent=require("core/component"),utils=require("app/data/dm/utils"),withData=require("app/data/with_data"),triggerFn=utils.triggerFn;module.exports=defineComponent(inbox,withData)
});
define("app/data/dm/view_participants",["module","require","exports","core/component","app/data/with_data","app/data/dm/utils"],function(module, require, exports) {
function viewParticipants(){this.defaultAttrs({noShowError:!0}),this.viewParticipants=function(a,b){b=b||{},this.get({url:"/i/direct_messages/participants",data:{conversation_id:b.conversation_id},eventData:b,success:triggerFn(a.target,"dataConversationParticipantsResult"),error:triggerFn(a.target,"dataDMError")})},this.after("initialize",function(){this.on("uiNeedsConversationParticipants",this.viewParticipants)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),utils=require("app/data/dm/utils"),triggerFn=utils.triggerFn;module.exports=defineComponent(viewParticipants,withData)
});
define("app/ui/dm/dm_notice",["module","require","exports","core/component"],function(module, require, exports) {
function dmNotice(){this.attributes({notice:".DMNotice",dismiss:".DMNotice-dismiss, .DMNotice-cancel",needsExplicitDismiss:".DMNotice--explicitDismiss"}),this.findNotice=function(a){return this.select("notice").filter(a)},this.show=function(a,b){this.dismissAll(!0);var c=b&&b.notice?this.findNotice(b.notice):$(a.target).closest(this.attr.notice);c.slideDown()},this.dismiss=function(a,b){var c=b&&b.notice?this.findNotice(b.notice):$(a.target).closest(this.attr.notice);c.slideUp()},this.dismissAll=function(a){var b=this.select("notice").not(this.attr.needsExplicitDismiss);a?b.slideUp():b.hide()},this.after("initialize",function(){this.on("uiShowDMNotice",this.show),this.on("uiDismissDMNotice",this.dismiss),this.on(document,"uiDismissAllDMNotices",this.dismissAll.bind(this,!1)),this.on("click",{dismiss:"uiDismissDMNotice"})})}var defineComponent=require("core/component");module.exports=defineComponent(dmNotice)
});
define("app/ui/dm/notifications",["module","require","exports","core/component","app/utils/string","app/utils/storage/core"],function(module, require, exports) {
function notifications(){this.attributes({conversationContentSelector:".DMConversation-content",notificationDisplayDuration:7e3,mostRecentNotifiedMessageKey:"most_recent_notified_message_id",rollingTagPrefix:"twitterDM",maxSimultaneousNotifications:2,notificationType:"direct_message"}),this.handleUserUpdates=function(a,b){b&&b.notifications&&b.notifications.length&&!this.hasPushSubscription&&this.processNotifications(b.notifications)},this.handleDMPush=function(a,b){this.processNotifications([b])},this.processNotifications=function(a){var b=this.$conversationContainer.attr("data-thread-id"),c=this.isPageFocused()&&this.$conversationContainer.is(":visible"),d=this.storage.getItem(this.attr.mostRecentNotifiedMessageKey)||0,e=a.length?a[a.length-1].id:0;this.storage.setItem(this.attr.mostRecentNotifiedMessageKey,StringUtils.max(e,d));var f=a.filter(function(a){var e=StringUtils.compare(d,a.id)>=0,f=c&&a.conversation_id.toString()===b;return!e&&!f});f.forEach(function(a){this.trigger("uiDisplayNativeNotification",{title:a.title,body:a.body,icon:a.icon,tag:this.getRollingTag(),type:this.attr.notificationType,click:{eventName:"uiDMNotificationClicked",eventData:{conversation_id:a.conversation_id}},displayDuration:this.attr.notificationDisplayDuration})},this)},this.dmNotificationClicked=function(a,b){window.focus(),this.trigger("uiNeedsDMDialog",{conversation_id:b.conversation_id})},this.isPageFocused=function(){return document.hasFocus()},this.getRollingTag=function(){return this.lastTagNumber=this.lastTagNumber||0,this.lastTagNumber=this.lastTagNumber>=this.attr.maxSimultaneousNotifications?1:this.lastTagNumber+1,this.attr.rollingTagPrefix+this.lastTagNumber},this.updatePushSupport=function(a,b){this.hasPushSubscription=!!b.subscribed},this.after("initialize",function(){this.$conversationContainer=this.select("conversationContentSelector"),this.hasPushSubscription=!1,this.on(document,"dataPushSubscriptionState",this.updatePushSupport),this.trigger("uiWantsPushSubscriptionState"),this.on(document,"dataDMUserUpdates",this.handleUserUpdates),this.on(document,"uiDMNotificationClicked",this.dmNotificationClicked),this.on(document,"dataDMPushReceived",this.handleDMPush),this.on(document,"dataDMPushReceived","uiDMRequestUserUpdates"),this.storage=new Storage("dm_notifications")})}var defineComponent=require("core/component"),StringUtils=require("app/utils/string"),Storage=require("app/utils/storage/core"),DMNotifications=defineComponent(notifications);module.exports=DMNotifications
});
define("app/ui/dm/conversation/dm_native_playable_media_manager",["module","require","exports","core/component","app/utils/viewport_helpers","core/utils"],function(module, require, exports) {
function dmNativePlayableMediaManager(){this.attributes({scrollContainerSelector:".DMConversation-scrollContainer",videoSelector:".DirectMessage-media video, .dm-media-gallery-overlay video",autoplayVideoSelector:"video[data-autoplay=true]",mediaContainerSelector:".Media",autoPlayThreshold:150}),this.rAF=window.requestAnimationFrame.bind(window),this.getBoundingClientRect=function(a){return a.getBoundingClientRect()},this.handleScroll=function(){this.rAF(function(){var a=this.getBoundingClientRect(this.$scrollContainer[0]),b=this.$autoplayVideos.filter(function(b,c){var d=this.getBoundingClientRect(c);return viewportHelpers.isPartiallyContainedInViewport({topThreshold:-1*this.attr.autoPlayThreshold,bottomThreshold:this.attr.autoPlayThreshold,fractionInViewport:.01,containerRect:a,elementRect:d})}.bind(this));this.$currentlyPlaying.not(b).each(function(){this.pause()}),b.not(this.$currentlyPlaying).each(function(){this.play()}),this.$currentlyPlaying=b}.bind(this))},this.updateMediaList=function(){this.$videos=this.select("videoSelector"),this.$videos.off("pause play playing ended").on("pause play playing ended",this.updatePlayingState.bind(this)),this.$autoplayVideos=this.$videos.filter(this.attr.autoplayVideoSelector)},this.togglePlayback=function(a){var b=$(a.target).closest(this.attr.mediaContainerSelector).find("video")[0];b&&(b.paused?b.play():b.pause())},this.updatePlayingState=function(a){$(a.target).closest(this.attr.mediaContainerSelector).toggleClass("is-playing",!a.target.paused)},this.handleViewChange=function(a,b){(a.type==="uiDMDialogClosed"||b.activity!=="conversation")&&this.$videos.each(function(){this.pause()})},this.after("initialize",function(){this.$videos=$(),this.$autoplayVideos=$(),this.$scrollContainer=this.select("scrollContainerSelector"),this.$currentlyPlaying=$(),this.on("uiDMConversationUpdated uiSwiftLoaded",this.updateMediaList),this.select("scrollContainerSelector").scroll(utils.throttle(this.handleScroll.bind(this),500)),this.on("click",{videoSelector:this.togglePlayback}),this.on("uiDMDialogClosed uiDMActivityOpened",this.handleViewChange)})}var defineComponent=require("core/component"),viewportHelpers=require("app/utils/viewport_helpers"),utils=require("core/utils");module.exports=defineComponent(dmNativePlayableMediaManager)
});
define("app/ui/dm/dm_popover",["module","require","exports","core/component","app/utils/dropdown_close_events"],function(module, require, exports) {
function popover(){this.attributes({popover:".DMPopover",popoverButton:".DMPopover-button",enabledPopoverButton:".DMPopover-button:not(:disabled)",popoverContent:".DMPopover-content",openClass:"is-open",openSelector:".is-open",focusOnOpen:".js-focus-on-open"}),this.getClosestOpenPopover=function(a){return this.getClosestPopover(a).filter(this.attr.openSelector)},this.getClosestPopover=function(a){return $(a).closest(this.attr.popover)},this.toggle=function(a){var b=this.getClosestPopover(a.target);b.hasClass(this.attr.openClass)?this.close(b):(this.closeAll(),b.addClass(this.attr.openClass).find(this.attr.focusOnOpen).focus())},this.closeAll=function(a){this.select("popover").removeClass(this.attr.openClass)},this.close=function(a){a.removeClass(this.attr.openClass).find(this.attr.enabledPopoverButton).focus()},this.disable=function(a){this.getClosestPopover(a.target).find(this.attr.popoverButton).attr("disabled","disabled")},this.enable=function(a){this.getClosestPopover(a.target).find(this.attr.popoverButton).removeAttr("disabled")},this.handleEscape=function(a){var b=this.getClosestOpenPopover(a.target);b.length&&(a.stopImmediatePropagation(),this.close(b))},this.handleBlur=function(a){var b=this.getClosestOpenPopover(a.target);b.length||this.closeAll()},this.after("initialize",function(){this.on(dropdownCloseEvents.GLOBAL_FORCE_CLOSE_EVENTS,this.closeAll),this.on(dropdownCloseEvents.GLOBAL_REQUEST_CLOSE_EVENTS,this.closeAll),this.on("uiShortcutEsc",this.handleEscape),this.on("click",this.handleBlur),this.on("click",{enabledPopoverButton:this.toggle}),this.on("uiDisableDMPopover",this.disable),this.on("uiEnableDMPopover",this.enable)})}var defineComponent=require("core/component"),dropdownCloseEvents=require("app/utils/dropdown_close_events");module.exports=defineComponent(popover)
});
define("app/ui/dm/direct_message_compose_with_intent",["module","require","exports","core/component"],function(module, require, exports) {
function directMessageComposeWithIntent(){this.composeNewDMWithTweet=function(a,b){this.trigger("uiOpenNewDM",{has_tweet_attachment:!0}),this.trigger("uiComposeWithTweet",b)},this.composeNewDMWithOptions=function(a,b){b.tweetId&&this.trigger("uiComposeWithTweet",{id:b.tweetId}),this.trigger("uiNeedsDMDialog",{id:b.recipientId,default_composer_text:b.defaultComposerText,welcome_message_id:b.welcomeMessageId,has_tweet_attachment:b.tweetId!==undefined,retain_tweet_attachment:b.tweetId!==undefined}),b.messageMeCardData&&this.trigger("uiAddMessageMeCardData",b.messageMeCardData)},this.after("initialize",function(){this.on("uiComposeNewDMWithTweet",this.composeNewDMWithTweet),this.on(window,"uiComposeNewDMWithOptions",this.composeNewDMWithOptions)})}var defineComponent=require("core/component"),DirectMessageComposeWithIntent=defineComponent(directMessageComposeWithIntent);module.exports=DirectMessageComposeWithIntent
});
define("app/ui/with_item_actions",["module","require","exports","core/compose","core/utils","app/data/with_card_metadata","app/ui/with_interaction_data"],function(module, require, exports) {
function withItemActions(){compose.mixin(this,[withInteractionData,withCardMetadata]),this.defaultAttrs({pageContainer:"#doc",nestedContainerSelector:".js-stream-item .in-reply-to",showWithScreenNameSelector:".twitter-atreply",showWithIdSelector:".show-popup-with-id, .js-user-profile-link",searchtagSelector:".twitter-hashtag, .twitter-cashtag",cashtagSelector:".twitter-cashtag",geoPivotSelector:".js-geo-pivot-link",itemLinkSelector:".twitter-timeline-link,.js-adaptive-photo",mediaForwardSelector:".js-adaptive-photo",cardExternalLinkSelector:".js-card2-external-link",viewMoreItemSelector:".view-more-container",inSnapbackExperiment:!1,snapbackSkipProfilePopup:!1,dismissedTweetSelector:".js-dismissed-tweet",dismissedTweetClass:"js-dismissed-tweet",dismissibleContainerSelector:".dismissible-container",threadedConversationTweetSelector:".ThreadedConversation-tweet"}),this.showProfilePopupWithScreenName=function(a,b){var c=$(a.target).closest(this.attr.showWithScreenNameSelector).text();c[0]==="@"&&(c=c.substring(1));var d={screenName:c},e=this.getCardDataFromContainer($(a.target));b=utils.merge(this.interactionData(a,d),e),this.showProfile(a,b)},this.showProfilePopupWithId=function(a,b){var c=this.getCardDataFromContainer($(a.target));b=utils.merge(this.interactionDataWithCard(a),c),this.showProfile(a,b)},this.showProfile=function(a,b){a.type==="mouseover"?(a.preventDefault(),a.stopImmediatePropagation(),this.trigger(a.target,"uiShowProfileHover",b)):(b.user_id=$(a.target).closest(".twitter-atreply").attr("data-mentioned-user-id")||b.userId,this.trigger(a.target,"uiShowProfileNewWindow",b))},this.hideHover=function(a,b){var c=this.getCardDataFromContainer($(a.target));b=utils.merge(this.interactionData(a),c),this.trigger("uiHideProfileHover",b)},this.searchtagClick=function(a,b){var c=$(a.target),d=c.closest(this.attr.searchtagSelector),e=d.is(this.attr.cashtagSelector)?"uiCashtagClick":"uiHashtagClick",f={query:d.text()};this.trigger(e,this.interactionData(a,f))},this.isCardUrl=function(a){var b=/^(https?:\/\/)?cards(-staging|-beta)?.twitter.com/;return b.test(a)},this.geoPivotClick=function(a,b){var c={placeId:$(b.el).data("place-id")};this.trigger("uiGeoPivotClick",this.interactionData(a,c))},this.itemLinkClick=function(a,b){var c=$(a.target),d=c.closest(this.attr.itemLinkSelector),e=d.closest(".tweet").data("permalink-path"),f=!!c.parents(".permalink").length,g,h=d.is(this.attr.mediaForwardSelector)?e:"",i=utils.merge({url:d.attr("data-expanded-url")||d.attr("href")||h,tcoUrl:d.attr("href")||h,text:d.text()},this.getCardDataFromContainer(c));if((i.cardName==="promotion"||i.cardType==="promotions")&&this.isCardUrl(i.url)&&!f){a.preventDefault(),g=d.parents(".stream-item");var j=g.find(".tweet").data("permalink-path");j&&$(document).trigger("uiNavigate",utils.merge(b,{href:j}))}this.trigger("uiItemLinkClick",this.interactionData(a,i))},this.cardLinkClick=function(a,b,c){var d=this.getCardDataFromContainer($(b.target));this.trigger(a,this.interactionDataWithCard(b,d))},this.getUserIdFromElement=function(a){return a.length?a.data("user-id"):null},this.itemSelected=function(a,b){var c=this.getCardDataFromContainer($(a.target));b.organicExpansion&&this.trigger("uiItemSelected",utils.merge(this.interactionData(a),c))},this.isNested=function(){return this.$node.closest(this.attr.nestedContainerSelector).length},this.modifierKey=function(a){if(a.shiftKey||a.ctrlKey||a.metaKey||a.which>1)return!0},this.removeTweetsFromUser=function(a,b){var c=this.$node.find("[data-user-id="+b.userId+"].js-stream-tweet"),d=this;$.each(c,function(a,b){var c=$(b),e=c.attr("data-tweet-id"),f=c.closest(this.attr.threadedConversationTweetSelector);f.length||(f=c.parent()),d.removeEngagementsOnTweet(e),f.remove()}.bind(this)),this.trigger("uiRemovedSomeTweets")},this.navigateToViewMoreURL=function(a){var b=$(a.target),c;b.find(this.attr.viewMoreItemSelector).length&&(c=b.find(".view-more-link"),this.trigger(c,"uiNavigate",{href:c.attr("href")}))},this.removeEngagementsOnTweet=function(a){var b=this.$node.find("[data-item-id="+a+"]");b.remove()},this.dismissTweet=function(a,b){var c=$(a.target),d=c.closest(this.attr.tweetContainerSelector),e=d.closest(this.attr.dismissibleContainerSelector);d.addClass(this.attr.dismissedTweetClass).fadeOut(200,function(){d.remove(),e&&e.remove()}),this.trigger("uiTweetDismissed",b)},this.removeAllDismissedTweets=function(){this.select("dismissedTweetSelector").stop().remove()},this.after("initialize",function(){this.isNested()||(this.on("click",{showWithScreenNameSelector:this.showProfilePopupWithScreenName,showWithIdSelector:this.showProfilePopupWithId,searchtagSelector:this.searchtagClick,geoPivotSelector:this.geoPivotClick,itemLinkSelector:this.itemLinkClick,cardExternalLinkSelector:this.cardLinkClick.bind(this,"uiCardExternalLinkClick")}),this.on("uiItemLinkClick",{itemLinkSelector:this.itemLinkClick}),this.on("mouseover",{showWithScreenNameSelector:this.showProfilePopupWithScreenName,showWithIdSelector:this.showProfilePopupWithId}),this.on("mouseout",{showWithScreenNameSelector:this.hideHover,showWithIdSelector:this.hideHover}),this.on("uiHasClickedTweet",this.itemSelected),this.on("uiRemoveTweetsFromUser",this.removeTweetsFromUser),this.on("uiShortcutEnter",this.navigateToViewMoreURL),this.on("uiDismissTweet",this.dismissTweet),this.on(document,"uiBeforePageChanged",this.removeAllDismissedTweets))})}var compose=require("core/compose"),utils=require("core/utils"),withCardMetadata=require("app/data/with_card_metadata"),withInteractionData=require("app/ui/with_interaction_data");module.exports=withItemActions
});
define("app/ui/with_timestamp_updating",["module","require","exports","core/i18n","lib/twitter_cldr"],function(module, require, exports) {
function withTimestampUpdating(){this.defaultAttrs({timestampSelector:".tweet-timestamp",relativeTimestampSelector:".js-relative-timestamp",relativeTimestampClass:"js-relative-timestamp"}),this.currentTimeSecs=function(){return new Date/1e3},this.updateAccessibleShortTimestamp=function(a,b){var c=this.currentTimeSecs(),d=Math.floor(c-b);if(d<3)return;var e=TimespanFormatter.format(b-c),f=a.closest(this.attr.timestampSelector),g=f.find(".u-hiddenVisually");g.length||(f.find(this.attr.relativeTimestampSelector).removeAttr("data-aria-label-part").attr("aria-hidden","true"),g=$(HIDDEN_TIMESTAMP),f.append(g)),g.text(e)},this.updateTimestamps=function(){this.select("relativeTimestampSelector").each(function(a,b){var c=$(b),d=c.data("time"),e=this.formatTimestamp(d);e.relative||c.removeClass(this.attr.relativeTimestampClass),c.text(e.text),this.updateAccessibleShortTimestamp(c,d)}.bind(this))},this.formatTimestamp=function(a){var b=this.currentTimeSecs(),c=Math.floor(b-a),d;return c<3?d=NOW_TEXT:(d=TimespanFormatter.format(c,{direction:"none",type:this.timespanType}),this.localizedDigits&&(d=d.replace(/\d/g,function(a){return this.localizedDigits.charAt(a.charCodeAt(0)-"0".charCodeAt(0))}.bind(this)))),{text:d,relative:!0}},this.after("initialize",function(){var a=$("html").attr("lang");this.timespanType=a==="en"||a==="en-gb"?"abbreviated":"short",this.localizedDigits={ar:"٠١٢٣٤٥٦٧٨٩",fa:"۰۱۲۳۴۵۶۷۸۹"}[a],this.on(document,"uiWantsToRefreshTimestamps uiPageChanged",this.updateTimestamps)})}var _=require("core/i18n"),TwitterCldr=require("lib/twitter_cldr"),TimespanFormatter=new TwitterCldr.TimespanFormatter,NOW_TEXT=_('\u0441\u0435\u0439\u0447\u0430\u0441'),HIDDEN_TIMESTAMP=' ';module.exports=withTimestampUpdating
});
define("app/ui/compose/with_tweetbox_initialization",["module","require","exports","core/utils"],function(module, require, exports) {
var utils=require("core/utils");module.exports=function(){this.defaultAttrs({tweetFormSelector:".tweet-form"}),this.initTweetbox=function(a){var b=this.select("tweetFormSelector"),c=this.attr.preexpandTweetbox||!1;this.trigger(b,"uiInitTweetbox",utils.merge({draftTweetId:this.attr.draftTweetId,condensable:!c,preexpandTweetbox:c,suppressSuccessMessage:this.attr.suppressSuccessMessage},{eventData:this.attr.eventData},a))}}
});
define("app/ui/user_actions_dropdown",["module","require","exports","core/component","app/ui/with_dropdownmenu"],function(module, require, exports) {
function userActionsDropdown(){this.defaultAttrs({dropdownThresholdSelector:".dropdown-threshold"}),this.scrollIntoView=function(){var a=this.$node.closest(this.attr.dropdownThresholdSelector),b,c;a.length&&(b=this.$node.find(this.attr.dropDownSelector),c=b.offset().top+b.outerHeight()-(a.offset().top+a.height()),c>0&&a.animate({scrollTop:a.scrollTop()+c}))},this.after("initialize",function(){this.on("uiDropdownOpened",this.scrollIntoView),this.on(document,"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems uiHasInjectedRangeTimelineItems",this.applyARIAAttrs)})}var defineComponent=require("core/component"),withDropdownMenu=require("app/ui/with_dropdownmenu"),UserActionsDropdown=defineComponent(withDropdownMenu,userActionsDropdown);module.exports=UserActionsDropdown
});
define("app/ui/with_tweet_actions_helper",["module","require","exports","core/utils"],function(module, require, exports) {
function withTweetActionsHelper(){this.preventDefault=function(a,b,c){a.preventDefault()},this.composeHandler=function(){var a=arguments,b={};return function(c,d){for(var e=0,f=a.length;ej&&(n=Math.ceil(n*(j/m)),m=j,a.width(n).height(m)),n>k&&(n=k,m=Math.ceil(n/o),a.width(n).height(m));var p=b.find(".GalleryNav").hasClass("enabled");if(!p||n>this.galW)this.galW=n,b.width(this.galW);m+g>this.galH?(this.galH=m+g,b.css("min-height",this.galH),a.css("margin-top",0)):f?b.css("min-height",0):(a.css("margin-top",(this.galH-g-m)/2),a.css("margin-bottom",(this.galH-g-m)/2))}}}();module.exports=imageResizer
});
define("app/ui/dm/direct_message_media_preview",["module","require","exports","core/component","app/ui/with_dialog","app/ui/with_scrollbar_width","app/utils/image/image_resizer"],function(module, require, exports) {
function directMessageMediaPreview(){this.defaultAttrs({dmImagePreviewSelector:".dm-media-preview",dmPreviewSelector:".dm-media"}),this.loadImage=function(a,b){var c=$(' '),d=this.select("dmImagePreviewSelector");d.empty(),c.on("load",function(a){d.empty().append(c),c.attr({"data-height":c[0].height,"data-width":c[0].width}),imageResizer.resizeMedia(c,this.select("dmPreviewSelector")),this.position();var e=parseFloat(c.css("margin-top"));e&&c.css("margin-bottom",e),this.trigger("uiDMMediaLoaded",{url:c.attr("src"),id:b})}.bind(this)),c.on("error",function(a){this.trigger("uiDMMediaFailed",{url:c.attr("src"),id:b})}.bind(this)),c.attr("src",a)},this.openDialog=function(a,b){this.calculateScrollbarWidth(),imageResizer.resetMinSize(this.select("dmPreviewSelector")),this.loadImage(b.imgUrl,b.dmId),this.open()},this.renderConversation=function(a,b){this.trigger("uiDMDialogMediaPreviewClosed")},this.after("initialize",function(){this.on(document,"uiDMDialogMediaPreview",this.openDialog),this.on("uiDialogCloseRequested",this.renderConversation)})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog"),withScrollbarWidth=require("app/ui/with_scrollbar_width"),imageResizer=require("app/utils/image/image_resizer");module.exports=defineComponent(directMessageMediaPreview,withDialog,withScrollbarWidth)
});
define("app/data/dm/direct_messages_scribe",["module","require","exports","core/component","app/utils/media_file_types","app/data/with_scribe","app/utils/scribe_item_types"],function(module, require, exports) {
function directMessagesScribe(){this.scribeSendDM=function(a,b){var c=b.conversation_id?"dm_existing_conversation_dialog":"dm_new_conversation_dialog",d=this.buildScribeData(b);this.scribe({component:c,action:"send_dm"},b,d),b.tweet_id&&this.scribe({component:c,action:"send_tweet_dm"},{conversation_id:b.conversation_id||b.recipient_ids,status_id:b.tweet_id},d);if(b.media_data&&b.media_data.fileType===fileTypes.GIF){var e=!!b.media_data.foundMediaInfo;this.scribe({component:c,element:e?"remote":"local",action:"send_gif_dm"})}},this.buildScribeData=function(a){var b={};if(a.message_me_scribe_data){if(a.message_me_scribe_data.userId){var c={item_type:scribeItemTypes.user,id:a.message_me_scribe_data.userId};b.items=[c]}a.message_me_scribe_data.cardName&&(b.context=a.message_me_scribe_data.cardName),a.message_me_scribe_data.cardUri&&(b.message=a.message_me_scribe_data.cardUri)}return b},this.scribeCardInDmImpression=function(a,b){var c=b&&{items:[b.cardItem]};this.scribe({component:"dm_existing_conversation_dialog",element:"platform_card",action:"show"},c)},this.scribeTypingIndicator=function(a,b){var c=a.type==="uiDMTypingIndicatorAvatarAdded"?"impression":"refresh";this.scribe({component:"dm_existing_conversation_dialog",element:"typing_indicator",action:c},b)},this.muteDurationScribeAction={0:"mute_dm_thread_forever",1:"mute_dm_thread_1h",2:"mute_dm_thread_8h",3:"mute_dm_thread_1w"},this.scribeNotificationsMute=function(a,b){var c=this.muteDurationScribeAction[b.mute_duration];b.enable_notifications===!1&&c&&this.scribe({component:"dm_existing_conversation_dialog",action:c})},this.after("initialize",function(){this.scribeOnEvent("uiComposeNewDMWithTweet","share_via_dm"),this.scribeOnEvent("uiDMDialogOpenedNewConversation","open"),this.scribeOnEvent("uiDMDialogOpenedConversation","open"),this.scribeOnEvent("uiDMDialogOpenedConversationList","open"),this.scribeOnEvent("uiDMDialogDeleteMessage",{component:"dm_existing_conversation_dialog",action:"delete_dm"}),this.scribeOnEvent("uiDMDialogMarkSpam",{component:"dm_existing_conversation_dialog",action:"report_as_spam"}),this.scribeOnEvent("uiDMDialogMarkMessage",{element:"mark_all_as_read",action:"click"}),this.scribeOnEvent("uiDMMediaLoaded","media_preview"),this.scribeOnEvent("uiDMMediaFailed","media_preview"),this.scribeOnEvent("dataDMTypingPublished",{component:"dm_existing_conversation_dialog",action:"publish_typing"}),this.on("uiDMSendMessage",this.scribeSendDM),this.on("uiNewDMCardLoaded",this.scribeCardInDmImpression),this.on("uiDMTypingIndicatorAvatarAdded uiDMTypingIndicatorAvatarRefreshed",this.scribeTypingIndicator),this.on("uiToggleNotifications",this.scribeNotificationsMute)})}var defineComponent=require("core/component"),fileTypes=require("app/utils/media_file_types"),withScribe=require("app/data/with_scribe"),scribeItemTypes=require("app/utils/scribe_item_types"),DirectMessagesScribe=defineComponent(directMessagesScribe,withScribe);module.exports=DirectMessagesScribe
});
define("app/data/dm/mark_as_read",["module","require","exports","core/component","app/data/with_data","app/data/dm/utils"],function(module, require, exports) {
function markAsRead(){this.defaultAttrs({noShowError:!0}),this.markDMsAsRead=function(a,b){b=b||{},b.retry=b.retry||b.retry===undefined;var c=$.noop,d=$.noop;b.from_notification?c=triggerFn(a.target,function(a){return"msgCount"in a?"uiReadStateChanged":null}):(c=function(b){b.text!=="success"?d.call(this,b):this.trigger(a.target,"dataDMReadSuccess",b)},d=function(c){b.retry?(b.retry=!1,this.trigger(a.target,"dataMarkDMsAsRead",b)):this.trigger(a.target,"dataDMReadError",c)}),this.post({url:"/i/messages/mark_read",data:{last_message_id:b.last_message_id,recipient_id:b.recipient_id,recipient_name:b.recipient_name,get_count:b.from_notification},eventData:b,success:c.bind(this),error:d.bind(this)})},this.after("initialize",function(){this.on("dataMarkDMsAsRead",this.markDMsAsRead)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),utils=require("app/data/dm/utils"),triggerFn=utils.triggerFn;module.exports=defineComponent(markAsRead,withData)
});
define("app/data/dm/open_dm_dialog",["module","require","exports","core/component"],function(module, require, exports) {
function openDMDialog(){this.attributes({open:!1,text:"",welcomeMessageId:undefined,conversation:{id:null},compose:{id:null,screenName:null,name:null,avatar:null}}),this.openDMDialog=function(a,b){this.attr.open&&((this.attr.conversation||{}).id?this.openConversation():this.openCompose())},this.openConversation=function(){var a=this.attr.conversation||{};this.trigger("uiNeedsDMDialog",{conversation_id:a.id,default_composer_text:this.attr.text,fromInitData:!0})},this.openCompose=function(){var a=this.attr.compose||{};this.trigger("uiNeedsDMDialog",{id:a.id,screen_name:a.screenName,name:a.name,profile_image_url_https:a.avatar,default_composer_text:this.attr.text,welcome_message_id:this.attr.welcomeMessageId,fromInitData:!0})},this.after("initialize",function(){this.on("uiSwiftLoaded uiPopStateNavigate",this.openDMDialog)})}var defineComponent=require("core/component");module.exports=defineComponent(openDMDialog)
});
define("app/data/dm/unread_count",["module","require","exports","core/component"],function(module, require, exports) {
function unreadCount(){var a=0;this.triggerUnreadCount=function(b,c){c=c||{},a=c.msgCount,a>0?this.trigger(b.target,"dataUserHasUnreadDMsWithCount",{msgCount:a}):this.trigger(b.target,"dataUserHasNoUnreadDMsWithCount")},this.dispatchUnreadNotification=function(a,b){var c=b&&b.d||{};c.status==="ok"&&c.response!=null&&this.triggerUnreadCount(a,{msgCount:c.response})},this.checkForEnvelope=function(b,c){c&&c.section==="profile"&&this.triggerUnreadCount(b,{msgCount:a})},this.after("initialize",function(){this.on("uiReadStateChanged",this.triggerUnreadCount),this.on("dataNotificationsReceived",this.dispatchUnreadNotification),this.on("uiPageChanged",this.checkForEnvelope)})}var defineComponent=require("core/component");module.exports=defineComponent(unreadCount)
});
define("app/data/b2c/feedback_client",["module","require","exports","core/component","app/data/with_data"],function(module, require, exports) {
function feedbackClient(){this.dismiss=function(a,b){this.post({url:["/i/feedback/dismiss/",b.feedbackId,".json"].join(""),success:"dataB2CFeedbackDismissed",error:"dataB2CFeedbackDismissedFailed"}),this.trigger("uiDMHideError")},this.after("initialize",function(){this.on(document,"uiB2CFeedbackDismiss",this.dismiss)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),FeedbackClient=defineComponent(feedbackClient,withData);module.exports=FeedbackClient
});
define("app/data/b2c/feedback_scribe_constants",["module","require","exports"],function(module, require, exports) {
var feedbackNpsCardName="2586390716:feedback_nps",feedbackCsatCardName="2586390716:feedback_csat",feedbackNpsScribeComponentName="nps_feedback_survey",feedbackCsatScribeComponentName="csat_feedback_survey",feedbackScribeConstants={feedbackNpsCardName:feedbackNpsCardName,feedbackCsatCardName:feedbackCsatCardName,feedbackNpsScribeComponentName:feedbackNpsScribeComponentName,feedbackCsatScribeComponentName:feedbackCsatScribeComponentName};module.exports=feedbackScribeConstants
});
define("app/data/b2c/feedback_scribe",["module","require","exports","core/component","app/data/with_scribe","app/data/with_card_metadata","app/utils/scribe_item_types","app/data/b2c/feedback_scribe_constants"],function(module, require, exports) {
function feedbackScribe(){this.getFeedbackItem=function(a){return{id:a,item_type:itemTypes.feedbackRequest}},this.scribeFeedbackDismiss=function(a,b){b&&this.scribe({component:this.getFeedbackComponent[b.cardName],element:b.currentView,action:"dismiss"},{items:[this.getFeedbackItem(b.feedbackId)]})},this.after("initialize",function(){this.getFeedbackComponent={},this.getFeedbackComponent[FeedbackScribeConstants.feedbackNpsCardName]=FeedbackScribeConstants.feedbackNpsScribeComponentName,this.getFeedbackComponent[FeedbackScribeConstants.feedbackCsatCardName]=FeedbackScribeConstants.feedbackCsatScribeComponentName,this.on(document,"uiB2CFeedbackDismiss",this.scribeFeedbackDismiss)})}var defineComponent=require("core/component"),withScribe=require("app/data/with_scribe"),withCardMetadata=require("app/data/with_card_metadata"),itemTypes=require("app/utils/scribe_item_types"),FeedbackScribeConstants=require("app/data/b2c/feedback_scribe_constants");module.exports=defineComponent(feedbackScribe,withScribe,withCardMetadata)
});
define("app/boot/dm/direct_messages",["module","require","exports","app/data/dm/add_participants","app/data/dm/card_prefetcher","app/ui/dm/compose/activity","app/data/dm/publish_typing","app/ui/dm/conversation/manager","app/data/dm/conversation","app/data/dm/add_welcome_message","app/data/dm/delete_conversation","app/data/dm/delete_message","app/data/dm/dm_live_pipeline_handler","app/data/dm/report_conversation","app/data/dm/report_message","app/data/dm/send_message","app/data/dm/suspicious_message_scribe","app/data/dm/toggle_notifications","app/data/dm/tweet_attachment","app/data/dm/update_conversation_avatar","app/data/dm/update_conversation_name","app/ui/dm/inbox/activity","app/data/dm/inbox","app/data/dm/view_participants","app/data/dm/dm_info","app/ui/dm/dm_notice","app/ui/dm/notifications","app/ui/dm/conversation/dm_native_playable_media_manager","app/ui/dm/dm_popover","app/ui/dm/direct_message_compose_with_intent","app/ui/dm/direct_message_dialog","app/ui/dm/direct_message_link_handler","app/ui/dm/direct_message_media_preview","app/data/dm/direct_messages_scribe","app/data/dm/mark_as_read","app/data/dm/open_dm_dialog","app/data/dm/unread_count","app/data/b2c/feedback_client","app/data/b2c/feedback_scribe"],function(module, require, exports) {
function initialize(a){var b="#dm_dialog";DirectMessageScribe.attachTo(document,a),DirectMessageComposeWithIntent.attachTo(document),DirectMessageDialog.attachTo(b,a,{timestampSelector:".time"}),DirectMessageLinkHandler.attachTo(document,a),DirectMessageMediaPreview.attachTo(".dm-media-container"),UnreadCountData.attachTo(document),MarkAsReadData.attachTo(document),AddParticipantsData.attachTo(document),ConversationData.attachTo(document),InboxData.attachTo(document),ViewParticipantsData.attachTo(document),DMInfo.get("welcome_message_add_to_conversation_enabled")&&AddWelcomeMessageData.attachTo(document),DMInfo.get("live_pipeline_subscribe")&&LivePipelineHandler.attachTo(document,{darkTraffic:!DMInfo.get("typing_indicators_ui")}),InboxActivity.attachTo(".DMInbox",{notifications:DMInfo.get("notifications"),usePushNotifications:DMInfo.get("usePushForNotifications")}),ComposeActivity.attachTo(".DMCompose",{maxParticipants:DMInfo.get("participant_max")||a.dm_participant_max||50,currentUserId:a.userId}),ConversationManager.attachTo(b),DMInfo.get("notifications")&&DMNotifications.attachTo(document,{conversationSelector:".DMConversation-content"}),DeleteConversationData.attachTo(document),ReportConversationData.attachTo(document),ToggleNotificationsData.attachTo(document),UpdateConversationAvatarData.attachTo(document),UpdateConversationNameData.attachTo(document),DeleteMessageData.attachTo(document),ReportMessageData.attachTo(document),SuspiciousMessageScribe.attachTo(document),TweetAttachmentData.attachTo(document),SendMessageData.attachTo(document),DMInfo.get("typing_indicators_publish")&&PublishTyping.attachTo(document),DMNotice.attachTo(document),DMPopover.attachTo(document),DMInfo.get("twitter_video_player")||DMNativePlayableMediaManager.attachTo(document);var c=a.dm_options||{};OpenDMDialog.attachTo(document,{open:c.show_dm_dialog,text:c.default_composer_text,welcomeMessageId:c.welcome_message_id,conversation:{id:c.conversation_id},compose:{id:c.recipient_id,screenName:c.recipient,name:c.recipient_name,avatar:c.recipient_avatar}}),FeedbackClient.attachTo(document),FeedbackScribe.attachTo(document),DMInfo.get("card_prefetch")&&CardPrefetcher.attachTo(".DMComposer",{cardPrefetchInterval:DMInfo.get("card_prefetch_interval_in_seconds")})}var AddParticipantsData=require("app/data/dm/add_participants"),CardPrefetcher=require("app/data/dm/card_prefetcher"),ComposeActivity=require("app/ui/dm/compose/activity"),PublishTyping=require("app/data/dm/publish_typing"),ConversationManager=require("app/ui/dm/conversation/manager"),ConversationData=require("app/data/dm/conversation"),AddWelcomeMessageData=require("app/data/dm/add_welcome_message"),DeleteConversationData=require("app/data/dm/delete_conversation"),DeleteMessageData=require("app/data/dm/delete_message"),LivePipelineHandler=require("app/data/dm/dm_live_pipeline_handler"),ReportConversationData=require("app/data/dm/report_conversation"),ReportMessageData=require("app/data/dm/report_message"),SendMessageData=require("app/data/dm/send_message"),SuspiciousMessageScribe=require("app/data/dm/suspicious_message_scribe"),ToggleNotificationsData=require("app/data/dm/toggle_notifications"),TweetAttachmentData=require("app/data/dm/tweet_attachment"),UpdateConversationAvatarData=require("app/data/dm/update_conversation_avatar"),UpdateConversationNameData=require("app/data/dm/update_conversation_name"),InboxActivity=require("app/ui/dm/inbox/activity"),InboxData=require("app/data/dm/inbox"),ViewParticipantsData=require("app/data/dm/view_participants"),DMInfo=require("app/data/dm/dm_info"),DMNotice=require("app/ui/dm/dm_notice"),DMNotifications=require("app/ui/dm/notifications"),DMNativePlayableMediaManager=require("app/ui/dm/conversation/dm_native_playable_media_manager"),DMPopover=require("app/ui/dm/dm_popover"),DirectMessageComposeWithIntent=require("app/ui/dm/direct_message_compose_with_intent"),DirectMessageDialog=require("app/ui/dm/direct_message_dialog"),DirectMessageLinkHandler=require("app/ui/dm/direct_message_link_handler"),DirectMessageMediaPreview=require("app/ui/dm/direct_message_media_preview"),DirectMessageScribe=require("app/data/dm/direct_messages_scribe"),MarkAsReadData=require("app/data/dm/mark_as_read"),OpenDMDialog=require("app/data/dm/open_dm_dialog"),UnreadCountData=require("app/data/dm/unread_count"),FeedbackClient=require("app/data/b2c/feedback_client"),FeedbackScribe=require("app/data/b2c/feedback_scribe"),hasDialog=!!$("#dm_dialog").length;module.exports=hasDialog?initialize:$.noop
});
define("app/data/dm/dm_background_poller",["module","require","exports","core/clock","core/component"],function(module, require, exports) {
function dmBackgroundPoller(){this.attributes({burstDuration:5,burstPollInterval:3e3,dmToastType:"direct_message",maxPollInterval:6e4,noTeardown:!0}),this.possiblyStartBurstPolling=function(a,b){if(b.should_request_inbox||b.is_empty)return;clearTimeout(this.stopTimeout),this.timer.resume(),this.stopTimeout=setTimeout(this.timer.pause.bind(this.timer),this.attr.burstDuration)},this.after("initialize",function(){this.timer=clock.setIntervalEvent("uiDMRequestUserUpdates",this.attr.burstPollInterval,{},this.attr.noTeardown),this.timer.pause(),clock.setIntervalEvent("uiDMRequestUserUpdates",this.attr.maxPollInterval,{},this.attr.noTeardown),this.on("uiSwiftLoaded","uiDMRequestUserUpdates"),this.on("dataDMUserUpdates",this.possiblyStartBurstPolling)})}var clock=require("core/clock"),defineComponent=require("core/component"),DMBackgroundPoller=defineComponent(dmBackgroundPoller);module.exports=DMBackgroundPoller
});
define("app/data/dm/dm_foreground_poller",["module","require","exports","core/clock","core/component"],function(module, require, exports) {
function dmForegroundPoller(){this.attributes({dmDialogSelector:"#dm_dialog",pollingInterval:3e3,noTeardown:!0}),this.pollIfForeground=function(){this.isDocumentVisible()&&this.isDialogVisible()&&this.trigger("uiDMRequestUserUpdates")},this.isDialogVisible=function(){return this.$dmDialog.is(":visible")},this.isDocumentVisible=function(){return document.visibilityState==="visible"},this.after("initialize",function(){this.$dmDialog=this.select("dmDialogSelector"),this.timer=clock.setIntervalEvent("uiDMForegroundPoll",this.attr.pollingInterval,{},!0),this.on("uiDMForegroundPoll",this.pollIfForeground)})}var clock=require("core/clock"),defineComponent=require("core/component"),DMForegroundPoller=defineComponent(dmForegroundPoller);module.exports=DMForegroundPoller
});
define("app/data/dm/dm_poll",["module","require","exports","app/data/dm/dm_background_poller","app/data/dm/dm_info","app/data/dm/dm_foreground_poller","core/component","app/data/notifications","core/utils","app/data/with_auth_token","app/data/with_data","app/data/dm/with_dm_cursor","app/utils/with_no_teardown_child_components"],function(module, require, exports) {
function dmPoll(){this.defaultAttrs({noShowError:!0,dmDialogSelector:"#dm_dialog",throttleInterval:3e3,foregroundPollInterval:3e3,burstPollInterval:3e3,burstPollDuration:3e5,maxPollInterval:6e4}),this.dispatch=function(a){a&&(notifications.updateNotificationState(a.note),this.trigger("dataNotificationsReceived",a.note))},this.makeToastRequest=function(a,b,c){this.get({url:"/i/toast_poll",data:c,eventData:b,success:this.dispatch.bind(this),headers:{"X-Twitter-Polling":!0},returnNotificationData:!0})},this.requestUserUpdates=function(){this.get({url:"/i/direct_messages/user_updates",data:{cursor:this.dmCursor},success:"dataDMUserUpdates"})},this.requestConversationList=function(a,b){var c={};notifications.addDMData(c),this.makeToastRequest(a,b,c)},this.attachBackgroundPoller=utils.once(function(){this.attachChild(DMBackgroundPoller,document,{burstPollInterval:this.attr.burstPollInterval,burstDuration:this.attr.burstPollDuration,maxPollInterval:this.attr.maxPollInterval})}),this.after("initialize",function(){this.attachChild(DMForegroundPoller,document,{dmDialogSelector:this.attr.dmDialogSelector,pollingInterval:this.attr.foregroundPollInterval}),DMInfo.get("notifications")&&"Notification"in window&&Notification.permission==="granted"&&this.attachBackgroundPoller(),this.on("uiNativeNotificationPermissionGranted",this.attachBackgroundPoller),this.on("uiDMPoll",this.requestConversationList),this.on("uiDMRequestUserUpdates",utils.throttle(this.requestUserUpdates,this.attr.throttleInterval)),this.on("dataDMUpdate",this.requestUserUpdates)})}var DMBackgroundPoller=require("app/data/dm/dm_background_poller"),DMInfo=require("app/data/dm/dm_info"),DMForegroundPoller=require("app/data/dm/dm_foreground_poller"),defineComponent=require("core/component"),notifications=require("app/data/notifications"),utils=require("core/utils"),withAuthToken=require("app/data/with_auth_token"),withData=require("app/data/with_data"),withDmCursor=require("app/data/dm/with_dm_cursor"),withNoTeardownChildComponents=require("app/utils/with_no_teardown_child_components"),DMPoll=defineComponent(dmPoll,withData,withAuthToken,withDmCursor,withNoTeardownChildComponents);module.exports=DMPoll
});
define("app/ui/with_drag_events",["module","require","exports","app/utils/drag_drop_helper"],function(module, require, exports) {
function withDragEvents(){this.defaultAttrs({fileTypeRegExp:!1}),this.childHover=function(a){$.contains(this.$node.get(0),a.target)&&(a.stopImmediatePropagation(),this.inChild=a.type==="dragenter")},this.hover=function(a){a.preventDefault();if(this.inChild)return!1;var b=this.prepareData(a);this.trigger(a.type==="dragenter"?"uiDragEnter":"uiDragLeave",b)},this.finish=function(a){a.stopImmediatePropagation(),this.inChild=!1,this.trigger("uiDragLeave")},this.preventDefault=function(a){return a.preventDefault(),!1},this.detectDragEnd=function(a){this.detectingEnd||(this.detectingEnd=!0,$(document.body).one("mousemove",this.dragEnd.bind(this)))},this.dragEnd=function(){this.detectingEnd=!1,this.trigger("uiDragEnd")},this.outOfBounds=function(a){var b=a.originalEvent.pageX,c=a.originalEvent.pageY,d=document.body.clientWidth,e=document.body.clientHeight;(b<=0||c<=0||c>=e||b>=d)&&this.dragEnd()},this.prepareData=function(a){var b=(a.originalEvent||a).dataTransfer,c={};c.types=Array.prototype.slice.call(b.types,0);var d=b.items||b.files;if(!d)c.items=null;else{c.items=[];for(var e=0;e0&&setTimeout(function(){this.trigger("dataVideoAdResponse",this.amplifyTweets)}.bind(this),0),this.fetchAds(this.tweetRefreshCache,b.triggerAd)},this.after("initialize",function(){this.tweetRefreshCache=[],this.amplifyTweets={},this.requestsInFlight={},this.on(document,"uiRefreshVideoAdCache",this.refreshCache),this.on(document,"dataGotMoreTimelineItems",this.timelineAdFetch),this.initialAdFetch()})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),withScribe=require("app/data/with_scribe"),withAdCacheKey=require("app/data/with_ad_cache_key"),DynamicVideoAdFetcher=defineComponent(dynamicVideoAdFetcher,withData,withScribe,withAdCacheKey);module.exports=DynamicVideoAdFetcher
});
define("app/ui/banners/email_banner",["module","require","exports","core/component"],function(module, require, exports) {
function emailBanner(){this.defaultAttrs({emailSettingsLinkSelector:".email-settings-link",phoneSettingsLinkSelector:".phone-settings-link",resendConfirmationEmailLinkSelector:".resend-confirmation-email-link",resetBounceLinkSelector:".reset-bounce-link"}),this.emailSettingsLink=function(){this.trigger("uiClickEmailSettingsLink")},this.phoneSettingsLink=function(){this.trigger("uiClickPhoneSettingsLink")},this.resendConfirmationEmail=function(a,b){this.trigger("uiResendConfirmationEmail",{unsuspend:$(a.target).hasClass("unsuspend-confirmation")})},this.resetBounceLink=function(){this.trigger("uiResetBounceLink")},this.after("initialize",function(){this.on("click",{emailSettingsLinkSelector:this.emailSettingsLink,phoneSettingsLinkSelector:this.phoneSettingsLink,resendConfirmationEmailLinkSelector:this.resendConfirmationEmail,resetBounceLinkSelector:this.resetBounceLink})})}var defineComponent=require("core/component");module.exports=defineComponent(emailBanner)
});
define("app/data/email_banner",["module","require","exports","core/component","app/data/with_data","core/i18n"],function(module, require, exports) {
function emailBannerData(){this.resendConfirmationEmail=function(a,b){var c=function(a){this.trigger("uiShowMessage",{message:a.messageForFlash})},d=function(){this.trigger("uiShowMessage",{message:_('\u041e\u0439! \u041f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430.')})};this.post({url:"/account/resend_confirmation_email",eventData:null,data:b&&b.unsuspend?{unsuspend:!0}:{},success:c.bind(this),error:d.bind(this)})},this.resetBounceScore=function(){var a=function(){this.trigger("uiShowMessage",{message:_('\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f.')})},b=function(){this.trigger("uiShowMessage",{message:_('\u041e\u0439! \u041f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u043d\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0443\u044e \u043f\u043e\u0447\u0442\u0443 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430.')})};this.post({url:"/bouncers/reset",eventData:null,data:null,success:a.bind(this),error:b.bind(this)})},this.after("initialize",function(){this.on("uiResendConfirmationEmail",this.resendConfirmationEmail),this.on("uiResetBounceLink",this.resetBounceScore)})}var defineComponent=require("core/component"),withData=require("app/data/with_data"),_=require("core/i18n");module.exports=defineComponent(emailBannerData,withData)
});
define("app/data/email_banner_scribe",["module","require","exports","core/component","app/data/with_scribe"],function(module, require, exports) {
function emailBannerScribe(){this.scribeEmailSettingsClick=function(a,b){this.scribe({page:"self_unsuspend",section:"banner",component:"email_verification",element:"settings",action:"click"})},this.scribePhoneSettingsClick=function(a,b){this.scribe({page:"self_unsuspend",section:"banner",component:"phone_verification",action:"click"})},this.scribeResendConfirmationEmailClick=function(a,b){this.scribe({page:"self_unsuspend",section:"banner",component:"email_verification",element:"resend_confirmation_email",action:"click"})},this.after("initialize",function(){this.on("uiClickEmailSettingsLink",this.scribeEmailSettingsClick),this.on("uiClickPhoneSettingsLink",this.scribePhoneSettingsClick),this.on("uiResendConfirmationEmail",this.scribeResendConfirmationEmailClick)})}var defineComponent=require("core/component"),withScribe=require("app/data/with_scribe");module.exports=defineComponent(emailBannerScribe,withScribe)
});
define("app/data/embed_scribe",["module","require","exports","core/component","app/data/with_scribe","app/data/with_interaction_data_scribe","core/utils"],function(module, require, exports) {
function embedScribe(){this.scribeOpen=function(a,b){this.scribeEmbedAction("open",b)},this.scribeOembedError=function(a,b){this.scribeEmbedAction("request_failed",b)},this.scribeEmbedCopy=function(a,b){this.scribeEmbedAction("copy",b)},this.scribeEmbedError=function(a,b){this.scribeEmbedAction("embed_request_failed")},this.scribeEmbedAction=function(a,b){this.scribeInteraction(a,utils.merge(b,{scribeContext:{component:"embed_tweet_dialog"}}))},this.after("initialize",function(){this.on("uiEmbedRequestFailed",this.scribeEmbedError),this.on("uiNeedsEmbedTweetDialog uiNeedsEmbedVideoDialog",this.scribeOpen),this.on("uiOembedError",this.scribeOembedError),this.on("uiUserCopiedEmbedCode",this.scribeEmbedCopy)})}var defineComponent=require("core/component"),withScribe=require("app/data/with_scribe"),withInteractionScribe=require("app/data/with_interaction_data_scribe"),utils=require("core/utils");module.exports=defineComponent(embedScribe,withScribe,withInteractionScribe)
});
define("app/data/with_widgets",["module","require","exports"],function(module, require, exports) {
function withWidgets(){this.widgetsAreLoaded=function(){return!!this.widgets&&!!this.widgets.init},this.getWidgets=function(){window.twttr||this.asyncWidgetsLoader(),this.widgets=window.twttr,window.twttr.ready(this._widgetsReady.bind(this))},this._widgetsReady=function(_){this.widgetsReady&&this.widgetsReady()},this.asyncWidgetsLoader=function(){window.twttr=function(a,b,c){var d=a.getElementsByTagName(b)[0];if(a.getElementById(c))return;var e=a.createElement(b);e.id=c,e.src="//platform.twitter.com/widgets.js",d.parentNode.insertBefore(e,d);var f={_e:[],ready:function(a){f._e.push(a)}};return window.twttr||f}(document,"script","twitter-wjs")}}module.exports=withWidgets
});
define("app/ui/dialogs/embed_tweet",["module","require","exports","core/component","app/ui/with_dialog","app/data/with_card_metadata","app/data/with_widgets"],function(module, require, exports) {
function embedTweetDialog(){this.defaultAttrs({dialogSelector:"#embed-tweet-dialog",dialogContentSelector:"#embed-tweet-dialog .modal-content",previewContainerSelector:".embed-preview",embedFrameSelector:".embed-preview iframe",visibleEmbedFrameSelector:".embed-preview iframe:visible",embedCodeDestinationSelector:".embed-destination",triggerSelector:".js-embed-tweet",overlaySelector:".embed-overlay",spinnerOverlaySelector:".embed-overlay-spinner",errorOverlaySelector:".embed-overlay-error",tryAgainSelector:".embed-overlay-error .retry-embed",includeParentTweetContainerSelector:".embed-include-parent-tweet",includeParentTweetSelector:".include-parent-tweet",includeCardContainerSelector:".embed-include-card",includeCardSelector:".include-card",embedTweetTitleSelector:".embed-tweet-title",embedVideoTitleSelector:".embed-video-title",embedTweetInstructionsSelector:".embed-tweet-instructions",embedVideoInstructionsSelector:".embed-video-instructions",embedWidth:"469px",top:"90px"}),this.cacheKeyForOptions=function(a){return JSON.stringify(a.data)+a.tweetId},this.cacheKeyChanged=function(a){var b=this.cacheKeyForOptions(a);return b!==this.cacheKeyForOptions(this.getOptions())},this.didReceiveEmbedCode=function(a,b){if(this.cacheKeyChanged(b.options))return;this.select("overlaySelector").hide(),this.$embedCodeDestination.val(b.data.html),this.trigger(this.$dialog,"uiDialogContentChanged"),this.selectEmbedCode()},this.retryEmbedCode=function(a,b){if(this.cacheKeyChanged(b))return;this.select("overlaySelector").hide(),this.select("spinnerOverlaySelector").show(),this.trigger("uiOembedError",this.tweetData)},this.failedToReceiveEmbedCode=function(a,b){if(this.cacheKeyChanged(b))return;this.select("overlaySelector").hide(),this.select("embedCodeDestinationSelector").hide(),this.select("errorOverlaySelector").show(),this.clearOembed(),this.trigger(this.$dialog,"uiDialogContentChanged")},this.updateEmbedCode=function(){this.select("embedCodeDestinationSelector").show(),this.select("overlaySelector").hide(),this.trigger("uiNeedsOembed",this.getOptions()),this.trigger(this.$dialog,"uiDialogContentChanged")},this.requestTweetEmbed=function(){if(!this.widgetsAreLoaded())return;var a=this.getOptions(),b=this.cacheKeyForOptions(a);if(this.cachedTweetEmbeds[b]){this.displayCachedTweetEmbed(b);return}this.clearTweetEmbed(),this.widgetType==="tweet"?this.widgets.widgets.createTweet(this.tweetId(),this.select("previewContainerSelector")[0],this.receivedTweetEmbed.bind(this,b),{width:this.attr.embedWidth,conversation:a.data.hide_thread?"none":"all",cards:a.data.hide_media?"hidden":"shown",lang:a.data.lang}):this.widgetType==="video"&&this.widgets.widgets.createVideo(this.tweetId(),this.select("previewContainerSelector")[0],this.receivedTweetEmbed.bind(this,b),{width:this.attr.embedWidth,status:"shown"})},this.clearTweetEmbed=function(){var a=this.select("visibleEmbedFrameSelector");this.stopPlayer(),a.hide()},this.clearOembed=function(){this.$embedCodeDestination.val("")},this.tearDown=function(){this.stopPlayer(),this.clearTweetEmbed(),this.clearOembed()},this.stopPlayer=function(){var a=this.select("embedFrameSelector");a.each(function(a,b){var c=$(b.contentWindow.document),d=c.find("div.media iframe")[0],e;if(!d||!d.src||d.src===document.location.href)return;e=d.src,d.setAttribute("src",""),d.setAttribute("src",e)})},this.displayCachedTweetEmbed=function(a){this.clearTweetEmbed(),$(this.cachedTweetEmbeds[a]).show()},this.receivedTweetEmbed=function(a,b){b?this.cachedTweetEmbeds[a]=b:this.trigger("uiEmbedRequestFailed")},this.embedCodeCopied=function(){this.trigger("uiUserCopiedEmbedCode")},this.includeParentTweet=function(){return this.$includeParentTweet.prop("checked")},this.showCard=function(){return this.$includeCard.prop("checked")},this.getOptions=function(){var a={lang:this.lang};return this.widgetType==="tweet"?(a.hide_thread=!this.includeParentTweet(),a.hide_media=!this.showCard()):this.widgetType==="video"&&(a.widget_type="video"),{data:a,retry:!0,tweetId:this.tweetId(),screenName:this.screenName()}},this.selectEmbedCode=function(){this.$embedCode.select()},this.setUpDialog=function(a,b){this.position(),this.eventData=a,this.tweetData=b,this.toggleIncludeParent(),this.toggleShowCard(),this.toggleTitle(),this.toggleInstructions(),this.resetIncludeParent(),this.resetShowCard(),this.updateEmbedCode(),this.requestTweetEmbed(),this.open(),this.fixPosition(),this.widgetsAreLoaded()||this.getWidgets()},this.setUpDialogForTweet=function(){this.widgetType="tweet",this.setUpDialog.apply(this,arguments)},this.setUpDialogForVideo=function(){this.widgetType="video",this.setUpDialog.apply(this,arguments)},this.fixPosition=function(){this.$dialog.css({position:"relative",top:this.attr.top})},this.resetIncludeParent=function(){var a=this.cacheKeyForOptions(this.getOptions());if(this.cachedTweetEmbeds[a])return;this.$includeParentTweet.prop("checked",!0)},this.resetShowCard=function(){var a=this.cacheKeyForOptions(this.getOptions());if(this.cachedTweetEmbeds[a])return;this.$includeCard.prop("checked",!0)},this.toggleIncludeParent=function(){this.$includeParentCheckboxContainer.toggle(this.widgetType==="tweet"&&!!this.tweetHasParent())},this.toggleShowCard=function(){this.$includeCardCheckboxContainer.toggle(this.widgetType==="tweet"&&!!this.hasCard())},this.toggleTitle=function(){this.$embedTweetTitle.toggle(this.widgetType==="tweet"),this.$embedVideoTitle.toggle(this.widgetType==="video")},this.toggleInstructions=function(){this.$embedTweetInstructions.toggle(this.widgetType==="tweet"),this.$embedVideoInstructions.toggle(this.widgetType==="video")},this.tweetId=function(){return this.tweetData.tweetId},this.tweetHasParent=function(){return this.tweetData.hasParentTweet},this.hasCard=function(){return this.getCardDataFromContainer($(this.eventData.target)).hasCard},this.screenName=function(){return this.tweetData.screenName},this.widgetsReady=function(){this.$dialogContainer&&this.isOpen()&&this.requestTweetEmbed()},this.onOptionChange=function(){this.trigger("uiNeedsOembed",this.getOptions()),this.requestTweetEmbed()},this.restoreFocusToTweet=function(a){$(a.target).is(this.$dialog)&&this.activeEl&&this.trigger($(this.activeEl).closest(".tweet"),"uiShouldAddFocusStyle")},this.after("initialize",function(){this.$includeParentTweet=this.select("includeParentTweetSelector"),this.$embedCodeDestination=this.select("embedCodeDestinationSelector"),this.$includeParentCheckboxContainer=this.select("includeParentTweetContainerSelector"),this.$includeCard=this.select("includeCardSelector"),this.$includeCardCheckboxContainer=this.select("includeCardContainerSelector"),this.$embedCode=this.select("embedCodeDestinationSelector"),this.$embedTweetTitle=this.select("embedTweetTitleSelector"),this.$embedVideoTitle=this.select("embedVideoTitleSelector"),this.$embedTweetInstructions=this.select("embedTweetInstructionsSelector"),this.$embedVideoInstructions=this.select("embedVideoInstructionsSelector"),this.on(document,"uiNeedsEmbedTweetDialog",this.setUpDialogForTweet),this.on(document,"uiNeedsEmbedVideoDialog",this.setUpDialogForVideo),this.on("uiDialogCloseRequested",this.tearDown),this.on(document,"uiBeforePageChanged",this.tearDown),this.on(document,"uiDialogRestorePreviousFocus",this.restoreFocusToTweet),this.on(document,"dataOembedSuccess",this.didReceiveEmbedCode),this.on(document,"dataOembedError",this.failedToReceiveEmbedCode),this.on(document,"dataOembedRetry",this.retryEmbedCode),this.on(this.$embedCodeDestination,"copy cut",this.embedCodeCopied),this.on(this.$embedCode,"click",this.selectEmbedCode),this.on("click",{tryAgainSelector:this.updateEmbedCode}),this.on("change",{includeParentTweetSelector:this.onOptionChange,includeCardSelector:this.onOptionChange}),this.widgetType="tweet",this.lang=document.documentElement.getAttribute("lang"),this.cachedTweetEmbeds={}})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog"),withCardMetadata=require("app/data/with_card_metadata"),withWidgets=require("app/data/with_widgets"),EmbedTweetDialog=defineComponent(embedTweetDialog,withDialog,withCardMetadata,withWidgets);module.exports=EmbedTweetDialog
});
define("app/data/feedback/feedback",["module","require","exports","core/component","app/utils/cookie","app/data/with_data"],function(module, require, exports) {
function feedbackData(){this.defaultAttrs({feedbackCookie:"debug_data",data:{}}),this.getFeedbackData=function(a,b){this.trigger("dataFeedback",this.attr.data)},this.toggleFeedbackCookie=function(a,b){var c=b.enabled?!0:null;cookie(this.attr.feedbackCookie,c),this.refreshPage(),this.checkDebugEnabled()},this.refreshPage=function(){document.location.reload(!0)},this.checkDebugEnabled=function(){this.trigger("dataDebugFeedbackChanged",{enabled:!!cookie(this.attr.feedbackCookie)})},this.addFeedbackData=function(a,b){var c=this.attr.data;for(var d in b)c[d]?c[d]=[].concat.apply(c[d],b[d]):c[d]=b[d]},this.logNavigation=function(a,b){this.addFeedbackData(a,{pushState:[{data:{href:b.href,module:b.module,title:b.title}}]}),b.init_data&&b.init_data.debugData&&this.addFeedbackData(a,b.init_data.debugData.data||{})},this.after("initialize",function(){this.data=this.attr.data||{},this.on("uiNeedsFeedbackData",this.getFeedbackData),this.on("uiToggleDebugFeedback",this.toggleFeedbackCookie),this.on("dataSetDebugData",this.addFeedbackData),this.on("uiPageChanged",this.logNavigation),this.checkDebugEnabled()})}var defineComponent=require("core/component"),cookie=require("app/utils/cookie"),withData=require("app/data/with_data");module.exports=defineComponent(feedbackData,withData)
});
define("app/ui/feedback/feedback_dialog",["module","require","exports","core/component","app/ui/with_dialog"],function(module, require, exports) {
function feedbackDialog(){this.defaultAttrs({pastedContentSelector:".feedback-json-output",debugKeySelectorSelector:"select[name=debug-key]",debugDataText:"",dialogToggleSelector:".feedback-dialog .feedback-data-toggle"}),this.toggleDebugEnabled=function(a,b){this.trigger("uiToggleDebugFeedback",{enabled:$(b.el).is(".off")})},this.prepareDialog=function(a,b){this.trigger("uiNeedsFeedbackData")},this.openDialog=function(a,b){this.debugData=b,this.refreshAvailableDataKeys(),this.open()},this.refreshAvailableDataKeys=function(){var a=this.select("debugKeySelectorSelector");a.empty(),Object.keys(this.debugData).forEach(function(b){var c=$(""+b+" ");a.append(c)}),this.refreshDebugJSON()},this.refreshDebugJSON=function(a){var b=this.select("debugKeySelectorSelector").val();if(!b||!this.debugData[b])return;var c=this.debugData[b].map(function(a){return a.data});this.select("pastedContentSelector").html(JSON.stringify(c,undefined,2))},this.after("initialize",function(){this.on(document,"dataFeedback",this.openDialog),this.on(document,"uiPrepareFeedbackDialog",this.prepareDialog),this.on("change",{debugKeySelectorSelector:this.refreshDebugJSON}),this.on("click",{dialogToggleSelector:this.toggleDebugEnabled})})}var defineComponent=require("core/component"),withDialog=require("app/ui/with_dialog");module.exports=defineComponent(feedbackDialog,withDialog)
});
define("app/utils/image/image_loader",["module","require","exports","app/utils/array","app/utils/promises"],function(module, require, exports) {
var ArrayUtils=require("app/utils/array"),Promise=require("app/utils/promises"),imageLoader={load:function(a,b,c){function f(a){e=!0,d.unbind("load"),c()}var d=$(" "),e=!1;d.on("load",function(a){!e&&a.type!=="error"&&b(d)}),d.on("error",f),d.on("abort",f),d.attr("src",a)},loadMultiple:function(a){var b=ArrayUtils.unique(a);return Promise.collect($.map(b,function(a){var b=$.Deferred(),c=$(" ").on("load",function(a){b.resolve({width:c[0].width,height:c[0].height})}).on("error",function(){b.reject()}).attr("src",a);return b})).then(function(a){var c={};return a.forEach(function(a,d){c[b[d]]=a}),c})}};module.exports=imageLoader
});
define("app/ui/with_tweet_translation",["module","require","exports","core/compose","app/ui/with_interaction_data","core/i18n"],function(module, require, exports) {
function withTweetTranslation(){compose.mixin(this,[withInteractionData]),this.defaultAttrs({tweetSelector:"div.tweet",tweetTranslationSelector:".tweet-translation",tweetTranslationTextSelector:".tweet-translation-text",translateTweetSelector:".js-translate-tweet",needsTranslationClass:"needs-translation",translateLabelSelector:".translate-label",permalinkContainerSelector:".permalink-tweet-container",permalinkClass:".permalink-tweet",languageSelector:".tweet-language",galleryTranslateButtonSelector:".Gallery .GalleryTweet .tweet .translate-button",translationFeedbackButtonSelector:".js-translation-feedback-button",translationsLoadingSelector:".tweet-translation-loading"}),this.translateTweet=function(a){var b=this.tweetFromEvent(a);if(b.find(this.attr.tweetTranslationSelector).hasClass(this.attr.needsTranslationClass)){var c=this.interactionData(b);c.dest=b.find(this.attr.tweetTranslationSelector).data("destLang"),b.find(this.attr.translationsLoadingSelector).show(),this.trigger(b,"uiNeedsTweetTranslation",c)}},this.showTranslationFeedbackDialog=function(a){var b=this.tweetFromEvent(a),c=b.find(this.attr.tweetTranslationSelector);this.trigger(b,"uiNeedsTranslationFeedbackDialog",{tweetId:b.data("tweetId"),translation:c.data("translationText"),sourceLang:c.data("sourceLang"),destLang:c.data("destLang")})},this.tweetFromEvent=function(a){return $(a.target).closest(this.attr.tweetSelector)},this.showTweetTranslation=function(a,b){this.select("translationsLoadingSelector").hide();if(b.item_html){var c=this.findTweetById($(a.target),b.id_str),d=c.find(this.attr.tweetTranslationSelector);if(!b.translated_lang){c.find(this.attr.translateTweetSelector).hide();return}d.find(this.attr.languageSelector).html(b.translated_lang),d.data({translationText:b.text,sourceLang:b.source_lang}).removeClass(this.attr.needsTranslationClass).find(this.attr.tweetTranslationTextSelector).html(b.item_html),c.find(this.attr.translateTweetSelector).toArray().forEach(function(a){var b=$(a);b.is(this.attr.galleryTranslateButtonSelector)&&b.hide()},this)}},this.findTweetById=function(a,b){var c=this.tweetSelectorById(b);return a.is(c)?a:a.find(c)},this.tweetSelectorById=function(a){return this.attr.tweetSelector+"[data-tweet-id="+a.replace(/\D/g,"")+"]"},this.showError=function(a,b){this.select("translationsLoadingSelector").hide(),this.trigger("uiShowMessage",{message:_('\u041d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0442\u0432\u0438\u0442. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043f\u043e\u0437\u0436\u0435.')})},this.after("initialize",function(){this.on("dataTweetTranslationSuccess",this.showTweetTranslation),this.on("dataTweetTranslationError",this.showError),this.on("click",{translationFeedbackButtonSelector:this.showTranslationFeedbackDialog,translateTweetSelector:this.translateTweet})})}var compose=require("core/compose"),withInteractionData=require("app/ui/with_interaction_data"),_=require("core/i18n");module.exports=withTweetTranslation
});
define("app/ui/gallery/with_stickers",["module","require","exports","app/utils/browser","app/utils/file","app/utils/image/image_loader","app/utils/promises","template","app/data/user_info","core/utils"],function(module, require, exports) {
var browser=require("app/utils/browser"),file=require("app/utils/file"),imageLoader=require("app/utils/image/image_loader"),Promise=require("app/utils/promises"),template=require("template"),userInfo=require("app/data/user_info"),utils=require("core/utils"),ANIMATION_INITIAL_DELAY=500;module.exports=function(){this.defaultAttrs({stickerSelector:".StickersMediaImage-stickerImage",stickerLinkSelector:".StickersMediaImage-stickerLink",stickerMediaImageSelector:".StickersMediaImage",hitTestingEnabledClass:"is-hitTesting"}),this.animateSticker=function(a){var b=$(a.target),c="stickerAnimation-"+b.data("animationRefIndex"),d=b.data("currentAnimationPattern");d=d==="a"?"b":"a",b.data("currentAnimationPattern",d),c=c+"-"+d,b.css("-webkit-animation-name",c),b.css("animation-name",c)},this.transformSticker=function(a,b){return"matrix("+a.matrix.join(",")+")scale("+b+")"},this.generateStickerDataArray=function(a){var b=this.select("imageSelector").width();this.stickerData=a.map(function(a,c){var d=b*a.aspectRatio;return utils.merge({width:b,height:d,halfWidth:b/2,halfHeight:d/2,animationRefIndex:c,matrix:[a.transformA,a.transformB,a.transformC,a.transformD,a.transformTx*b,a.transformTy*d]},a)},this)},this.generateTemplateVariables=function(a,b,c,d){var e=Math.ceil((b.width()-c.width())/2);return{image:a.src,width:a.width,height:a.height,bgWidth:c.width(),bgHeight:c.height(),blackBarWidth:e,stickers:this.stickerData.map(function(a){return utils.merge(a,{link:d?"/i/stickers/"+a.id:"",transform:this.transformSticker(a,1)})},this)}},this.renderMainImageAndStickerPlaceholders=function(a,b){this.generateStickerDataArray(b);var c=userInfo.getDeciderValue("stickersInteractivity"),d=this.generateTemplateVariables(a,this.select("galleryMediaSelector"),this.select("imageSelector"),c),e=template["gallery/stickers/stickers_media_image"].render(d,template);this.$current.attr("loaded",!0),this.stickersFirstVisibleTime=Date.now(),this.select("galleryMediaSelector").html(e),this.$stickersContainer=this.select("stickerMediaImageSelector"),userInfo.getDeciderValue("stickersInteractivityDuringLoading")||this.enableHitTesting()},this.detectedBrowser=function(){return browser($.browser).name},this.isNotFirefoxOrIE=function(){var a=this.detectedBrowser();return a!=="mozilla"&&a!=="msie"},this.isValidBrowserForSVG=function(){return document.implementation&&!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1")?!1:this.isNotFirefoxOrIE()},this.hypot=function(a,b){return Math.sqrt(a*a+b*b)},this.getBiggestRasterSticker=function(a){var b=a.images.raster;return b[b.length-1].url},this.findBestsizedRasterSticker=function(a){var b=!1,c=a.width*this.hypot(a.matrix[0],a.matrix[2]),d=a.height*this.hypot(a.matrix[1],a.matrix[3]),e=a.images.raster;for(var f=0;fc&&e[f].h>d){b=e[f].url;break}return b?b:this.getBiggestRasterSticker(a)},this.determineStickerUrl=function(a){return this.isValidBrowserForSVG()&&a.images.vector?a.images.vector.url:this.findBestsizedRasterSticker(a)},this.loadStickersAsBlobUrls=function(a,b,c){this.renderMainImageAndStickerPlaceholders(a,b);var d=this.stickerData.map(function(a){return a.url=this.determineStickerUrl(a),a.url}.bind(this)),e=this.$stickersContainer.width(),f=this.$stickersContainer.height();if(c!==this.currentStickerKey)return;file.createMapOfBlobUrls(d).then(function(a){if(c!==this.currentStickerKey)return;this.urlToBlobUrlMap=a,Promise.collect(this.stickerData.map(function(a){return this.generateHitTestPixels(a,e,f,c)},this)).then(function(){this.beginHitTesting()}.bind(this))}.bind(this))},this.loadMainImageAndStickers=function(a,b,c){imageLoader.load(a,function(a){var d=a[0];this.loadStickersAsBlobUrls(d,b,c)}.bind(this))},this.replaceMediaWithImageAndStickers=function(a){var b=this.getLargeMediaUrl(this.$current),c=b+JSON.stringify(a);this.currentStickerKey!==c&&(this.currentStickerKey=c,this.loadMainImageAndStickers(b,a,c))},this.resetStickers=function(){this.lastHitIndex=-1,this.$stickersContainer=null,this.isHitTesting=!1,this.stickerData=[],this.currentStickerKey=null,this.urlToBlobUrlMap&&file.revokeMapOfBlobUrls(this.urlToBlobUrlMap),this.urlToBlobUrlMap=null},this.generateHitTestPixels=function(a,b,c,d){var e=$.Deferred(),f=document.createElement("canvas");f.width=b,f.height=c;var g=new Image;g.onload=function(){var d=f.getContext("2d");d.transform.apply(d,a.matrix),d.drawImage(g,-a.halfWidth,-a.halfHeight,a.width,a.height),a.hitTestPixels=d.getImageData(0,0,b,c),e.resolve(a)},g.onerror=function(){e.reject};var h=this.getBlobUrlForSticker(a);return d!==this.currentStickerKey?e.reject():h?(g.src=this.urlToBlobUrlMap[a.url],e.promise()):e.reject()},this.enableHitTesting=function(){this.select("gallerySelector").addClass(this.attr.hitTestingEnabledClass),this.isHitTesting=!0},this.getBlobUrlForSticker=function(a){return this.urlToBlobUrlMap&&this.urlToBlobUrlMap[a.url]},this.replaceTempImagesWithRealImages=function(){var a=this.select("stickerSelector");a.each(function(a,b){var c=this.stickerData[a],d=this.getBlobUrlForSticker(c);d&&$(b).css("background-image","url("+d+")")}.bind(this))},this.beginHitTesting=function(){this.enableHitTesting(),this.replaceTempImagesWithRealImages();var a=this.select("stickerSelector"),b=Math.max(0,ANIMATION_INITIAL_DELAY-(Date.now()-this.stickersFirstVisibleTime));setTimeout(function(){a.trigger("uiAnimateSticker")},b)},this.getStickerHitIndex=function(a){if(!this.$stickersContainer)return-1;var b=this.$stickersContainer[0].getBoundingClientRect(),c=b.bottom-b.top,d=b.right-b.left;if(!d||!c)return-1;var e=this.$stickersContainer.offset(),f=(a.pageX-e.left)/d,g=(a.pageY-e.top)/c;return f<0||f>=1||g<0||g>=1?-1:this.stickerData.reduce(function(a,b,c){var d=b.hitTestPixels;return d&&d.data[4*(Math.floor(f*d.width)+Math.floor(g*d.height)*d.width)+3]?c:a},-1)},this.animateIfHitTestChanged=function(a){if(this.isHitTesting){var b=this.getStickerHitIndex(a);b!==this.lastHitIndex&&(this.lastHitIndex=b,this.select("stickerLinkSelector").css("cursor",b>=0?"pointer":"default"),b>=0&&this.select("stickerSelector").eq(b).trigger("uiAnimateSticker"))}},this.navigateIfHitTestSucceeds=function(a){if(this.isHitTesting){var b=this.getStickerHitIndex(a);b>=0&&this.select("stickerSelector").eq(b).trigger("click")}},this.preventWhenHitTesting=function(a){this.isHitTesting&&a.originalEvent&&(a.stopPropagation(),a.preventDefault())},this.after("initialize",function(){this.resetStickers(),this.on("uiAnimateSticker",{stickerSelector:this.animateSticker}),this.on("mousemove",{stickerMediaImageSelector:this.animateIfHitTestChanged}),this.on("click",{stickerLinkSelector:this.preventWhenHitTesting}),this.on("mouseup",{stickerLinkSelector:this.navigateIfHitTestSucceeds})}),this.before("teardown",this.resetStickers)}
});
define("app/ui/with_tweet_activity_actions",["module","require","exports"],function(module, require, exports) {
function withTweetActivityActions(){this.defaultAttrs({requestReplyActivitySelector:"",requestRetweetedActivitySelector:".request-retweeted-popup",requestFavoritedActivitySelector:".request-favorited-popup",requestActivitySelectors:".request-retweeted-popup, .request-favorited-popup",requestTaggingActivitySelector:".request-tagging-popup",targetTweetSelector:".tweet",targetTaggedUsersListSelector:".popup-tagged-users-list",targetTitleSelector:"[data-activity-popup-title]",tweetPivotLinkSelector:".tweet-pivot-link",hiddenClass:"hidden"}),this.requestReplyActivity=function(a){this.trigger("uiRequestReplyActivity")},this.requestRetweetedActivity=function(a){this.requestActivityPopup(a),this.trigger("uiRequestRetweetedActivity")},this.requestFavoritedActivity=function(a){this.requestActivityPopup(a),this.trigger("uiRequestFavoritedActivity")},this.requestTaggingActivity=function(a){this.requestActivityPopup(a),this.trigger("uiRequestTaggingActivity")},this.requestActivityPopup=function(a,b){var c=$(a.target),d=c.closest(this.attr.targetTitleSelector).attr("data-activity-popup-title"),e=c.closest(this.attr.targetTweetSelector).attr("data-tweet-id"),f=b?b.usersHtml:null,g;a.preventDefault(),a.stopPropagation(),c.closest(this.attr.requestRetweetedActivitySelector).length?g="retweeted_popup":c.closest(this.attr.requestTaggingActivitySelector).length?g="media_tagged_popup":g="favorited_popup",this.trigger("uiRequestActivityPopup",{titleHtml:d,contentId:e,usersHtml:f,component:g})},this.handleLoggedOutRetweetedActivityClick=function(a,b){this.trigger("uiLoggedOutActionAttempt",{action:"retweeted_activity_attempt"})},this.handleLoggedOutFavoritedActivityClick=function(a,b){this.trigger("uiLoggedOutActionAttempt",{action:"favorited_activity_attempt"})},this.uiOpenSignupDialog=function(a,b,c){this.trigger("uiOpenSignupDialog")},this.uiTweetPivotClick=function(a){var b=$(a.target),c={item_details:{item_type:"0",id:b.attr("data-item-id")},component_details:{id:b.attr("data-entity-id"),name:b.attr("data-name"),description:b.attr("data-id")}};this.trigger("uiTweetPivotClick",c)},this.after("initialize",function(){if(!this.attr.loggedIn){this.on("click",{requestActivitySelectors:this.uiOpenSignupDialog,requestRetweetedActivitySelector:this.handleLoggedOutRetweetedActivityClick,requestFavoritedActivitySelector:this.handleLoggedOutFavoritedActivityClick,requestTaggingActivitySelector:this.requestTaggingActivity});return}this.on("click",{requestReplyActivitySelector:this.requestReplyActivity,requestRetweetedActivitySelector:this.requestRetweetedActivity,requestFavoritedActivitySelector:this.requestFavoritedActivity,requestTaggingActivitySelector:this.requestTaggingActivity,tweetPivotLinkSelector:this.uiTweetPivotClick})})}module.exports=withTweetActivityActions
});
define("app/ui/gallery/gallery",["module","require","exports","core/i18n","core/component","app/utils/image/image_loader","app/utils/image/image_resizer","app/data/user_info","app/ui/with_item_actions","app/ui/with_tweet_translation","app/ui/with_scrollbar_width","app/ui/gallery/with_stickers","app/ui/with_tweet_activity_actions"],function(module, require, exports) {
function gallery(){this.tweetHtml={},this.tweetPromotedBadgesHtml={},this.defaultAttrs({profileUser:!1,defaultGalleryTitle:_('\u041c\u0435\u0434\u0438\u0430\u0433\u0430\u043b\u0435\u0440\u0435\u044f'),mediaSelector:".js-adaptive-photo,.tweet-media-img-placeholder,.AdaptiveStreamGridImage,.ProfileAvatar-container,.ProfileCardMini-avatar,.MomentMediaItem-entity--image,.ProfileStreamGridImage",galleryParentSelector:".Gallery",galleryMediaSelector:".Gallery-media",galleryTweetSelector:".GalleryTweet",closeSelector:".js-close, .Gallery-closeTarget",gridSelector:".grid-action",gallerySelector:".Gallery-content",galleryTitleSelector:".modal-title",imageSelector:".media-image",navSelector:".GalleryNav",prevSelector:".GalleryNav--prev",nextSelector:".GalleryNav--next",itemType:"tweet",modalHeaderSelector:".modal-header",tweetlessGalleryClass:"is-tweetless",hasStickersClass:"is-stickers"}),this.isOpen=function(){return this.$node.is(":visible")},this.open=function(a,b){this.calculateScrollbarWidth(),this.fromGrid=b&&!!b.fromGrid,this.title=b&&b.title?b.title:this.attr.defaultGalleryTitle,this.select("galleryTitleSelector").text(this.title),b&&b.showGrid&&b.profileUser?(this.select("gallerySelector").removeClass("no-grid"),this.select("gridSelector").attr("href","/"+b.profileUser.screen_name+"/media"),this.select("gridSelector").find(".visuallyhidden").text(b.profileUser.name),this.select("gridSelector").addClass("js-nav")):(this.select("gallerySelector").addClass("no-grid"),this.select("gridSelector").removeClass("js-nav"));var c=$(a.target).closest(this.attr.mediaSelector);if(this.isOpen()||!c.length)return;b&&b.timelineSelector?this.$timeline=c.closest(b.timelineSelector):this.$timeline=c.parent(),this.clearTweet(),imageResizer.resetMinSize(this.select("gallerySelector")),this.render(c),$("body").addClass("gallery-enabled"),this.select("gallerySelector").addClass("show-controls"),this.trigger("uiGalleryOpened",b)},this.handleClose=function(a){if(!this.isOpen())return;this.fromGrid?this.returnToGrid(!0):(a.stopPropagation(),this.closeGallery())},this.returnToGrid=function(a){this.trigger(this.$current,"uiOpenGrid",{title:this.title,fromGallery:a}),this.closeGallery()},this.closeGallery=function(){$("body").hasClass("gallery-enabled")&&($("body").removeClass("gallery-enabled"),this.select("galleryMediaSelector").empty(),this.resetStickers(),this.hideNav(),this.enableNav(!1,!1),this.off(window,"resize",this.debouncedResize),delete this.$timeline,delete this.$current,this.trigger("uiGalleryClosed"),this.trigger("uiDialogClosed"))},this.render=function(a){this.resetStickers(),this.$current=a,this.renderNav(),this.trigger(a,"uiGalleryMediaLoad"),this.renderMedia(a)},this.renderNav=function(){if(!this.$current)return;var a,b,c,d;a=this.$timeline.find(this.attr.mediaSelector),d=a.index(this.$current),b=a.slice(0,d),c=a.slice(d+1);var e=c.length>0,f=b.length>0;this.enableNav(e,f),e||f?this.showNav():this.hideNav()},this.preloadNeighbors=function(a){this.preloadRecursive(a,"next",2),this.preloadRecursive(a,"prev",2)},this.clearTweet=function(){this.select("galleryTweetSelector").empty()},this.flushTweet=function(a){var b=this.getTweetId($(a.target));b&&delete this.tweetHtml[b]},this.getTweet=function(a){if(!a)return;if(this.tweetHtml[a])this.renderTweet(a,this.tweetHtml[a].tweetHtml,this.tweetHtml[a].tweetStickers);else{this.$current&&this.getTweetId(this.$current)===a&&this.select("galleryMediaSelector").find(".media-image,iframe").hide();var b={id:a,modal:"gallery",hasStickers:userInfo.getDeciderValue("stickersExperience")};this.trigger("uiGetTweet",b)}},this.gotTweet=function(a,b){b.id&&b.tweet_html&&(this.tweetHtml[b.id]={tweetHtml:b.tweet_html,tweetStickers:b.tweet_stickers},b.sourceEventData.promotedBadgeHtml&&(this.tweetPromotedBadgesHtml[b.id]=b.sourceEventData.promotedBadgeHtml),this.renderTweet(b.id,b.tweet_html,b.tweet_stickers))},this.renderTweet=function(a,b,c){if(this.$current&&this.getTweetId(this.$current)===a.toString()){var d=this.select("galleryTweetSelector"),e=this.select("gallerySelector"),f=this.select("galleryMediaSelector").find(".media-image,iframe");d.html(b);var g=this.tweetPromotedBadgesHtml[a];g&&d.find(".stream-item-footer").prepend($(g)),f.length&&(f.show(),imageResizer.resizeMedia(f,e,!1,this.attr.galleryTweetSelector));if(c){var h=this.$timeline.find(this.attr.mediaSelector),i=h.filter('[data-tweet-id="'+a+'"]');i.length||(i=h.not("[data-tweet-id]"));var j=i.index(this.$current);j>=0&&c[j]&&(this.select("gallerySelector").addClass(this.attr.hasStickersClass),this.replaceMediaWithImageAndStickers(c[j]))}}},this.getTweetId=function(a){return a.attr("data-status-id")?a.attr("data-status-id"):a.closest("[data-tweet-id]").attr("data-tweet-id")},this.getAllInDir=function(a,b){var c,d=b==="prev"?-1:1,e=this.$timeline.find(this.attr.mediaSelector),f=e.index(a)+d;return f>-1&&(c=e.slice(f)),c||$()},this.getInDir=function(a,b){return this.getAllInDir(a,b).first()},this.preloadRecursive=function(a,b,c){if(!c)return;if(this.$timeline.find(this.attr.mediaSelector).length===1)return;if(b==="next"&&this.getAllInDir(a,b).length",{alt:b,addClass:"media-image"});c.on("load",function(b){var d=this.select("gallerySelector");a.attr("loaded",!0),this.select("galleryMediaSelector").html(c),c.attr({"data-height":c[0].height,"data-width":c[0].width}),imageResizer.resizeMedia(c,d,!1,this.attr.galleryTweetSelector,!0),this.$current=a,this.mediaLoaded(a)}.bind(this)),c.on("error",function(){this.mediaFailed(a)}.bind(this)),c.attr("src",this.getLargeMediaUrl(a))},this.fixSnappyUrl=function(a){var b=a.attr("data-source-url"),c=/https:\/\/www.snappytv.com\/tc\/(\d+)\?autoplay=true&h=(\d+)&w=(\d+)/;if(!c.test(b))return;var d=a.attr("data-height")*2,e=a.attr("data-width")*2;b=b.replace(c,"https://www.snappytv.com/tc/$1?autoplay=true&h="+d+"&w="+e),a.attr("data-source-url",b)},this.loadVideo=function(a){var b=$(" ");return t.fl(); },partials: {}, subs: { }});
Templates['mute_conversation_message'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");if(t.s(t.f("is_muting",c,p,1),c,p,0,14,165,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Переписка игнорируется. Уведомления выключены.\n Подробнее \n");});c.pop();}if(!t.s(t.f("is_muting",c,p,1),c,p,1,0,0,"")){t.b(" Переписка больше не игнорируется. Уведомления включены.\n");};t.b("Отменить \n");return t.fl(); },partials: {}, subs: { }});
Templates['nux_recommendation_user_stream_item'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n \n
\n \n Читать ");t.b(t.v(t.f("screen_name",c,p,0)));t.b(" \n \n \n \n \n \n \n \n
\n");t.b(t.rp("
\n\n \n
\n");t.b(t.rp("Вы начали читать ");t.b(t.v(t.f("screen_name",c,p,0)));t.b("\n Ваш запрос на чтение ");t.b(t.v(t.f("screen_name",c,p,0)));t.b(" находится на рассмотрении. \n
\n
\n\n");return t.fl(); },partials: {"\n \n ");t.b(t.v(t.f("name",c,p,0)));t.b("\n" + i);t.b(" \n ");if(t.s(t.f("has_children",c,p,1),c,p,0,518,637,"{{ }}")){t.rs(c,p,function(c,p,t){if(!t.s(t.f("should_preexpand_children",c,p,1),c,p,1,0,0,"")){t.b(" \n");};});c.pop();}t.b(" \n\n");if(t.s(t.f("has_children",c,p,1),c,p,0,691,1253,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n");if(t.s(t.f("children",c,p,1),c,p,0,805,1230,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n \n \n ");t.b(t.v(t.f("name",c,p,0)));t.b(" \n \n \n");});c.pop();}t.b("
\n");});c.pop();}return t.fl(); },partials: {}, subs: { }});
Templates['screen_reader_kb_shortcuts_message'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
Горячие клавиши \n
\n Горячие клавиши доступны для наиболее распространённых действий и навигации по сайту.\n");t.b(" Посмотреть горячие клавиши \n Скрыть это сообщение \n
\n
");return t.fl(); },partials: {}, subs: { }});
Templates['stream_end'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
\n");if(t.s(t.f("show_stream_end_bird",c,p,1),c,p,0,87,148,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
\n");});c.pop();}t.b("\n" + i);t.b("
\n");if(!t.s(t.f("is_unavailable",c,p,1),c,p,1,0,0,"")){t.b(" ");t.b(t.v(t.f("empty_text",c,p,0)));t.b("\n" + i);};if(t.s(t.f("is_unavailable",c,p,1),c,p,0,302,351,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("\n\n");if(!t.s(t.f("exception_message",c,p,1),c,p,1,0,0,"")){if(t.s(t.f("show_stream_end",c,p,1),c,p,0,680,774,"{{ }}")){t.rs(c,p,function(c,p,t){if(!t.s(t.f("hide_back_to_top",c,p,1),c,p,1,0,0,"")){t.b(t.rp("");t.b(t.t(t.f("end_text",c,p,0)));t.b("
\n");});c.pop();}t.b("
\n
\n");return t.fl(); },partials: {"\n \n \n
\n \n");return t.fl(); },partials: {}, subs: { }});
Templates['stream_user'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");if(t.s(t.f("is_withheld",c,p,1),c,p,0,16,45,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("\n\n");if(t.s(t.f("with_user_checkbox",c,p,1),c,p,0,671,892,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n \n \n \n \n \n");});c.pop();}t.b("\n" + i);if(t.s(t.f("with_user_actions",c,p,1),c,p,0,941,969,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("\n \n \n");if(!t.s(t.f("with_followers_count",c,p,1),c,p,1,0,0,"")){if(!t.s(t.f("no_description",c,p,1),c,p,1,0,0,"")){t.b("
\n");if(!t.s(t.f("not_linked_description",c,p,1),c,p,1,0,0,"")){t.b(t.rp("\n");};};if(t.s(t.f("with_followers_count",c,p,1),c,p,0,2917,2987,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" ");t.b(t.t(t.f("follower_stat",c,p,0)));t.b("
\n");});c.pop();}t.b("\n" + i);if(t.s(t.f("mini_social_proof",c,p,1),c,p,0,3069,3131,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" ");t.b(t.rp("\n");});c.pop();}t.b("\n" + i);if(t.s(t.f("is_sponsored",c,p,1),c,p,0,3178,3702,"{{ }}")){t.rs(c,p,function(c,p,t){if(t.s(t.f("promoted_account_context",c,p,1),c,p,0,3216,3288,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" ");t.b(t.v(t.f("promoted_account_context",c,p,0)));t.b("
\n");});c.pop();}t.b(" \n ");t.b(" Продвигаемый \n \n");});c.pop();}t.b("
\n \n\n\n");};return t.fl(); },partials: {"\n \n\n \n
\n \n\n \n
\n");return t.fl(); },partials: {"
\n\n
\n");t.b(t.rp("
\n\n
\n
\n ");if(t.s(t.f("is_create_dialog",c,p,1),c,p,0,488,692,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
\n Коллекции — это публичные списки твитов, которые вы контролируете.\n \n Создайте коллекцию, добавьте в неё твиты и делитесь ей с миром.\n
");});c.pop();}t.b("\n");t.b("\n" + i);t.b("
\n
Название коллекции \n
\n
\n 25 символов \n 25 \n
\n
\n
\n\n
\n
Описание \n
\n
\n 160 знаков, не обязательно \n 160 \n
\n
\n
\n\n
\n Порядок коллекции \n \n \n \n Недавно добавленные сначала \n \n \n \n Сначала старые \n \n \n \n Сначала новые \n \n
\n \n
\n\n
\n \n ");if(t.s(t.f("is_create_dialog",c,p,1),c,p,0,3061,3078,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("Создать коллекцию");});c.pop();}t.b("\n" + i);t.b(" ");if(!t.s(t.f("is_create_dialog",c,p,1),c,p,1,0,0,"")){t.b("Сохранить коллекцию");};t.b("\n" + i);t.b(" \n
\n
\n
\n
\n\n");return t.fl(); },partials: {"\n\n
\n");t.b(t.rp("
\n
\n \n
\n\n");return t.fl(); },partials: {"\n");if(t.s(t.f("total_num_one",c,p,1),c,p,0,49,118,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Твиты от ");t.b(t.v(t.f("user1",c,p,0)));t.b(" теперь в вашей ленте.\n");});c.pop();}if(t.s(t.f("total_num_two",c,p,1),c,p,0,159,257,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Твиты от ");t.b(t.v(t.f("user1",c,p,0)));t.b(" и ");t.b(t.v(t.f("user2",c,p,0)));t.b(" теперь у вас в ленте.\n");});c.pop();}if(t.s(t.f("total_num_three",c,p,1),c,p,0,300,414,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Твиты от ");t.b(t.v(t.f("user1",c,p,0)));t.b(" , ");t.b(t.v(t.f("user2",c,p,0)));t.b(" и ещё 1 человека теперь в вашей ленте.\n");});c.pop();}if(t.s(t.f("total_num_other",c,p,1),c,p,0,459,580,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Твиты от ");t.b(t.v(t.f("user1",c,p,0)));t.b(" , ");t.b(t.v(t.f("user2",c,p,0)));t.b(" и ");t.b(t.v(t.f("num_others",c,p,0)));t.b(" других теперь в вашей ленте.\n");});c.pop();}t.b("
\n \n Когда вы закончите подписываться на людей, нажмите на Главную, чтобы войти в ленту. \n
\n");});c.pop();}if(!t.s(t.f("is_first_follow",c,p,1),c,p,1,0,0,"")){if(t.s(t.f("total_num_one",c,p,1),c,p,0,786,837,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Вы начали читать ");t.b(t.v(t.f("user1",c,p,0)));t.b(" \n");});c.pop();}if(t.s(t.f("total_num_two",c,p,1),c,p,0,876,956,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Вы начали читать ");t.b(t.v(t.f("user1",c,p,0)));t.b(" и ");t.b(t.v(t.f("user2",c,p,0)));t.b(" \n");});c.pop();}if(t.s(t.f("total_num_three",c,p,1),c,p,0,997,1098,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Вы начали читать ");t.b(t.v(t.f("user1",c,p,0)));t.b(" , ");t.b(t.v(t.f("user2",c,p,0)));t.b(" и еще одного человека\n");});c.pop();}if(t.s(t.f("total_num_other",c,p,1),c,p,0,1141,1242,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Вы начали читать ");t.b(t.v(t.f("user1",c,p,0)));t.b(" , ");t.b(t.v(t.f("user2",c,p,0)));t.b(" и еще ");t.b(t.v(t.f("num_others",c,p,0)));t.b(" \n");});c.pop();}};return t.fl(); },partials: {}, subs: { }});
Templates['dialogs/home_nav_headlined_popover'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("Ваша лента готова! \nНажмите на Главную, когда вы хотите вернуться к своей ленте
");return t.fl(); },partials: {}, subs: { }});
Templates['dialogs/keyboard_shortcuts_dialog'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
\n
\n
\n");t.b(t.rp("
\n\n");t.b("
\n\n \n
\n
\n
\n\n\n\n");return t.fl(); },partials: {"\n \n");t.b(t.rp("
\n");if(t.s(t.f("is_video",c,p,1),c,p,0,259,2733,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n");});c.pop();}if(!t.s(t.f("is_video",c,p,1),c,p,1,0,0,"")){t.b(" \n");};t.b(" \n\n
\n");return t.fl(); },partials: {"\n \n
\n
\n
\n
\n Когда вы игнорируете переписку, вы не получаете никаких уведомлений о ней.\n Подробнее \n
\n
Да, игнорировать \n
\n
Отмена \n
\n
\n
\n\n");return t.fl(); },partials: {}, subs: { }});
Templates['dm/dm_avatar'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n");if(t.s(t.f("images",c,p,1),c,p,0,147,263,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
\n \n \n");});c.pop();}t.b("
\n");return t.fl(); },partials: {}, subs: { }});
Templates['dm/dm_quick_reply'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
\n");if(t.s(t.f("options",c,p,1),c,p,0,109,709,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
\n
\n ");t.b(t.v(t.f("label",c,p,0)));t.b("
\n \n");if(t.s(t.f("description",c,p,1),c,p,0,566,645,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
");t.b(t.v(t.d(".",c,p,0)));t.b("
\n");});c.pop();}t.b("
\n \n
\n");});c.pop();}t.b("
\n
\n");return t.fl(); },partials: {}, subs: { }});
Templates['dm/dm_sending_state_indicator'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n Отправка сообщения ");t.b(t.v(t.f("current",c,p,0)));t.b(" из ");t.b(t.v(t.f("total",c,p,0)));t.b(" \n ... \n
");return t.fl(); },partials: {}, subs: { }});
Templates['dm/dm_typeahead_account_suggestion'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n \n");t.b(t.rp("
\n \n \n В Группе \n
\n\n");return t.fl(); },partials: {"\n \n ");t.b(t.t(t.f("html",c,p,0)));t.b("\n" + i);t.b("
\n\n");return t.fl(); },partials: {}, subs: { }});
Templates['dm/dm_typeahead_item'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
\n");if(t.s(t.f("avatar",c,p,1),c,p,0,103,120,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("
\n \n
\n");if(t.s(t.f("title",c,p,1),c,p,0,234,455,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
");if(t.s(t.f("rich_text",c,p,1),c,p,0,277,296,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("\n");if(t.s(t.f("verified",c,p,1),c,p,0,372,399,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("\n");if(t.s(t.f("has_business_context",c,p,1),c,p,0,539,660,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n Обеспечивает поддержку\n
\n");});c.pop();}t.b(" \n
\n");return t.fl(); },partials: {"\n");t.b(t.rp("");return t.fl(); },partials: {"\n +");t.b(t.v(t.f("count",c,p,0)));t.b(" \n ");return t.fl(); },partials: {}, subs: { }});
Templates['dm/last_read_marker'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("
\n
\n
\n \n \n ");if(t.s(t.f("unread_count_one",c,p,1),c,p,0,181,197,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("1 unread message");});c.pop();}t.b("\n" + i);t.b(" ");if(t.s(t.f("unread_count_other",c,p,1),c,p,0,252,284,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.v(t.f("unread_count",c,p,0)));t.b(" unread messages");});c.pop();}t.b("\n" + i);t.b(" \n \n
\n
\n
");return t.fl(); },partials: {}, subs: { }});
Templates['dm/screen_name_partial'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");if(t.s(t.f("screen_name",c,p,1),c,p,0,16,71,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
@ ");t.b(t.v(t.f("screen_name",c,p,0)));t.b("");});c.pop();}return t.fl(); },partials: {}, subs: { }});
Templates['dm/tokenized_multiselect_token'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("
\n ");t.b(t.v(t.f("token_text",c,p,0)));t.b("\n" + i);t.b(" \n ");return t.fl(); },partials: {}, subs: { }});
Templates['dm/typeahead_initial_suggestions'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");if(t.s(t.f("has_suggestions",c,p,1),c,p,0,20,88,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n");});c.pop();}if(t.s(t.f("suggestions",c,p,1),c,p,0,125,276,"{{ }}")){t.rs(c,p,function(c,p,t){if(t.s(t.f("is_group",c,p,1),c,p,0,141,186,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("
\n\n");if(t.s(t.f("is_loading",c,p,1),c,p,0,162,273,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
\n Загрузка \n
\n");});c.pop();}if(!t.s(t.f("is_loading",c,p,1),c,p,1,0,0,"")){t.b("
\n Добавьте этот момент на свой сайт, скопировав код ниже. Подробнее \n
\n
\n");};t.b("
");return t.fl(); },partials: {" \n\n
\n Ссылка на этот момент находится ниже. Скопируйте ее, чтобы моментом легко можно было поделиться с друзьями.\n
\n
\n
");return t.fl(); },partials: {"\n \n
");t.b(t.v(t.f("keyword",c,p,0)));t.b("
\n
\n Игнорируемый \n Перестать игнорировать \n \n ");return t.fl(); },partials: {}, subs: { }});
Templates['start/custom_interest'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n \n \n \n \n \n \n \n ");t.b(t.v(t.f("name",c,p,0)));t.b(" \n \n ");return t.fl(); },partials: {}, subs: { }});
Templates['start/select_all_checkbox'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n \n Выбрать все\n \n \n \n \n \n \n \n
");return t.fl(); },partials: {}, subs: { }});
Templates['start/wtf_follow_button'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");if(t.s(t.f("num_users_selected",c,p,1),c,p,0,23,81,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" Начать читать этих ");t.b(t.v(t.f("num_users_selected",c,p,0)));t.b(" и продолжить\n");});c.pop();}if(!t.s(t.f("num_users_selected",c,p,1),c,p,1,0,0,"")){t.b(" Продолжить\n");};return t.fl(); },partials: {}, subs: { }});
Templates['dialogs/moments/moment_maker_crop_before_publish_dialog'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
\n");t.b(t.rp("
\n
\n
\n
Кадрируйте эти изображения, чтобы оптимизировать момент для мобильных устройств.
\n
\n");t.b(t.rp("
\n");if(t.s(t.f("show_more_placeholder",c,p,1),c,p,0,1086,1393,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n \n ");if(t.s(t.f("more_count_one",c,p,1),c,p,0,1236,1257,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("+ ");t.b(t.v(t.f("more_count",c,p,0)));t.b(" more");});c.pop();}t.b("\n" + i);t.b(" ");if(t.s(t.f("more_count_other",c,p,1),c,p,0,1312,1333,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("+ ");t.b(t.v(t.f("more_count",c,p,0)));t.b(" more");});c.pop();}t.b("\n" + i);t.b(" \n
\n");});c.pop();}t.b(" \n
\n
\n
\n
\n");return t.fl(); },partials: {"\n \n");t.b(t.rp("
\n \n
");t.b(t.v(t.f("message",c,p,0)));t.b("
\n
\n \n \n\n");return t.fl(); },partials: {"\n\n.StickersMediaImage.media-image {\n background-image: url('");t.b(t.v(t.f("image",c,p,0)));t.b("');\n\n width: ");t.b(t.v(t.f("bgWidth",c,p,0)));t.b("px;\n height: ");t.b(t.v(t.f("bgHeight",c,p,0)));t.b("px;\n}\n\n.StickersMediaImage-blackBar {\n width: ");t.b(t.v(t.f("blackBarWidth",c,p,0)));t.b("px;\n height: ");t.b(t.v(t.f("bgHeight",c,p,0)));t.b("px;\n}\n\n");if(t.s(t.f("stickers",c,p,1),c,p,0,238,1859,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("@-webkit-keyframes stickerAnimation-");t.b(t.v(t.f("animationRefIndex",c,p,0)));t.b("-a {\n 0% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-in;}\n 13% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-in;}\n 53% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1.025); animation-timing-function: ease-in;}\n 100% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-out;}\n}\n@keyframes stickerAnimation-");t.b(t.v(t.f("animationRefIndex",c,p,0)));t.b("-a {\n 0% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-in;}\n 13% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-in;}\n 53% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1.025); animation-timing-function: ease-in;}\n 100% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-out;}\n}\n@-webkit-keyframes stickerAnimation-");t.b(t.v(t.f("animationRefIndex",c,p,0)));t.b("-b {\n 0% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-in;}\n 13% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-in;}\n 53% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1.025); animation-timing-function: ease-in;}\n 100% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-out;}\n}\n@keyframes stickerAnimation-");t.b(t.v(t.f("animationRefIndex",c,p,0)));t.b("-b {\n 0% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-in;}\n 13% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-in;}\n 53% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1.025); animation-timing-function: ease-in;}\n 100% {transform: matrix(");t.b(t.v(t.f("matrix",c,p,0)));t.b(") scale(1); animation-timing-function: ease-out;}\n}\n");});c.pop();}t.b("\n" + i);t.b("\n\n\n\n
\n
\n");return t.fl(); },partials: {}, subs: { }});
Templates['highline/components/color_picker'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("");t.b("
");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("Выбор цвета ");t.b("");t.b("
");t.b("
");t.b("");t.b("оранжевый ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("жёлтый ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("светло-зелёный ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("зелёный ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("голубой ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("синий ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("серый ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("красный ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("розовый ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("фиолетовый ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("
");t.b("");t.b("ещё ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b("
");t.b("");t.b(" ");t.b(" ");t.b(" ");t.b("
");t.b("
");t.b(" ");t.b("
\n");return t.fl(); },partials: {}, subs: { }});
Templates['highline/components/iframe_async_media_upload'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n \n \n
");return t.fl(); },partials: {}, subs: { }});
Templates['moments/maker/moment_maker_cover_preview'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");if(t.s(t.f("items",c,p,1),c,p,0,10,320,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n
\n");});c.pop();}return t.fl(); },partials: {}, subs: { }});
Templates['moments/maker/moment_maker_masked_image'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
\n
\n
");return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/prompts/above_timeline_prompt'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
");return t.fl(); },partials: {"
\n");if(t.s(t.f("is_above_timeline",c,p,1),c,p,0,224,272,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("");return t.fl(); },partials: {"\n \n");t.b(t.rp("\n \n ");t.b(t.v(t.f("call_to_action_text",c,p,0)));t.b("\n" + i);t.b(" \n ");t.b(t.v(t.f("explanation",c,p,0)));t.b("\n" + i);t.b(" ");t.b(t.v(t.f("preview_text",c,p,0)));t.b(" \n \n \n");return t.fl(); },partials: {"\n
\n");return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/prompts/grid_timeline_layout'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("");return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/prompts/inline_pointer_prompt'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
\n");t.b(t.rp("
\n");return t.fl(); },partials: {"\n");t.b(t.rp("\n");return t.fl(); },partials: {"\n
\n");return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/prompts/make_disco_modal_prompt'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n
\n
\n");t.b(t.rp("
\n \n ");t.b(t.v(t.f("call_to_action_text",c,p,0)));t.b("\n" + i);t.b(" \n \n
\n \n ");t.b(t.v(t.f("second_call_to_action_text",c,p,0)));t.b("\n" + i);t.b(" \n
\n
\n \n
\n");if(t.s(t.f("confirmation_content",c,p,1),c,p,0,925,1012,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(t.rp("
\n \n Да\n \n \n \n \n Нет, не надо\n \n
\n \n\n");return t.fl(); },partials: {"\n");t.b(t.rp("\n");return t.fl(); },partials: {"\n");if(t.s(t.f("call_to_action_url",c,p,1),c,p,0,164,292,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n ");t.b(t.v(t.f("call_to_action_text",c,p,0)));t.b("\n" + i);t.b(" \n");});c.pop();}if(!t.s(t.f("call_to_action_url",c,p,1),c,p,1,0,0,"")){t.b(" \n ");t.b(t.v(t.f("call_to_action_text",c,p,0)));t.b("\n" + i);t.b(" \n");};t.b(" \n");});c.pop();}return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/templates/dismiss_button'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("\n \n \n Скрыть\n \n \n ");return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/templates/explanation'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("");t.b(t.v(t.f("explanation",c,p,0)));t.b("
");return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/templates/icon'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");if(t.s(t.f("icon_class",c,p,1),c,p,0,15,99,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n");});c.pop();}return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/templates/second_call_to_action'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");if(t.s(t.f("second_call_to_action_text",c,p,1),c,p,0,247,603,"{{ }}")){t.rs(c,p,function(c,p,t){t.b(" \n");if(t.s(t.f("second_call_to_action_url",c,p,1),c,p,0,322,563,"{{ }}")){t.rs(c,p,function(c,p,t){t.b("
\n ");t.b(t.v(t.f("second_call_to_action_text",c,p,0)));t.b("\n" + i);t.b(" \n");});c.pop();}t.b("
\n");});c.pop();}return t.fl(); },partials: {}, subs: { }});
Templates['promptbird/templates/title'] = new Hogan.Template({code: function (c,p,i) { var t=this;t.b(i=i||"");t.b("");t.b(t.v(t.f("title",c,p,0)));t.b(" ");return t.fl(); },partials: {}, subs: { }});
module.exports = Templates; });define("lib/twitter_cldr",["module","require","exports"],function(a,b,c){(function(){var a,b,d,e,f=function(a,b){function c(){this.constructor=a}for(var d in b)g.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype
,a},g={}.hasOwnProperty;a={},a.is_rtl=!1,a.Utilities=function(){function a(){}return a.from_char_code=function(a){return a>65535?(a-=65536,String.fromCharCode(55296+(a>>10),56320+(a&1023))):String.fromCharCode(a)},a.char_code_at=function(a,b){var c,d,e,f,g
,h;a+="",d=a.length,h=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;while(h.exec(a)!==null){f=h.lastIndex;if(!(f-2=d||b<0?NaN:(c=a.charCodeAt(b),55296<=c&&c<=56319?(e=c,g=a.charCodeAt(b+1),(e-55296)*1024+(g-56320)+65536):c)},a.unpack_string=function(
a){var b,c,d,e,f;f=[];for(c=d=0,e=a.length;0<=e?de;c=0<=e?++d:--d){b=this.char_code_at(a,c);if(!b)break;f.push(b)}return f},a.pack_array=function(a){var b;return function(){var c,d,e;e=[];for(c=0,d=a.length;c=i;c=h<=i?++e:--e)a[c]>g&&(g=a[c]);return g},a.min=function(a){var b,c,d,e,f,g,h,i,j;g=null;for(j=d=0,f=a.length;d=i;c=h<=i?++e:--e)a[c]=0&&!([12,13,14].indexOf(a%100)>=0)?"few":function(){return a%10==0||[5,6,7,8,9].indexOf(a%10)>=0||[11,12,13,14].indexOf(a%100)>=0?"many":"other"}()}()}()}},a.all=function(){return this.rules.keys},a.rule_for=function(a){var b;try{return this
.rules.rule(a)}catch(c){return b=c,"other"}},a}(),a.TimespanFormatter=function(){function b(){this.approximate_multiplier=.75,this.default_type="default",this.tokens={ago:{second:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" секунду назад",type
:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" секунды назад",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" секунд назад",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" секунды назад",type:"plaintext"
}]}},minute:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" минуту назад",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" минуты назад",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" минут назад",type:"plaintext"
}],other:[{value:"{0}",type:"placeholder"},{value:" минуты назад",type:"plaintext"}]}},hour:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" час назад",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" часа назад",type:"plaintext"
}],many:[{value:"{0}",type:"placeholder"},{value:" часов назад",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" часа назад",type:"plaintext"}]}},day:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" день назад",type:"plaintext"
}],few:[{value:"{0}",type:"placeholder"},{value:" дня назад",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" дней назад",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" дня назад",type:"plaintext"}]}},week:{"default":
{one:[{value:"{0}",type:"placeholder"},{value:" неделю назад",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" недели назад",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" недель назад",type:"plaintext"}],other:[{value:"{0}"
,type:"placeholder"},{value:" недели назад",type:"plaintext"}]}},month:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" месяц назад",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" месяца назад",type:"plaintext"}],many:[{value:"{0}"
,type:"placeholder"},{value:" месяцев назад",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" месяца назад",type:"plaintext"}]}},year:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" год назад",type:"plaintext"}],few:[{value:"{0}"
,type:"placeholder"},{value:" года назад",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" лет назад",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" года назад",type:"plaintext"}]}}},until:{second:{"default":{one:[{value
:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" секунду",type:"plaintext"}],few:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" секунды",type:"plaintext"}],many:[{value:"Через ",type:"plaintext"},{value:"{0}"
,type:"placeholder"},{value:" секунд",type:"plaintext"}],other:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" секунды",type:"plaintext"}]}},minute:{"default":{one:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"
},{value:" минуту",type:"plaintext"}],few:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" минуты",type:"plaintext"}],many:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" минут",type:"plaintext"}],other
:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" минуты",type:"plaintext"}]}},hour:{"default":{one:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" час",type:"plaintext"}],few:[{value:"Через ",type:"plaintext"
},{value:"{0}",type:"placeholder"},{value:" часа",type:"plaintext"}],many:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" часов",type:"plaintext"}],other:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value
:" часа",type:"plaintext"}]}},day:{"default":{one:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" день",type:"plaintext"}],few:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" дня",type:"plaintext"}]
,many:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" дней",type:"plaintext"}],other:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" дня",type:"plaintext"}]}},week:{"default":{one:[{value:"Через ",type
:"plaintext"},{value:"{0}",type:"placeholder"},{value:" неделю",type:"plaintext"}],few:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" недели",type:"plaintext"}],many:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"
},{value:" недель",type:"plaintext"}],other:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" недели",type:"plaintext"}]}},month:{"default":{one:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" месяц",
type:"plaintext"}],few:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" месяца",type:"plaintext"}],many:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" месяцев",type:"plaintext"}],other:[{value:"Через "
,type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" месяца",type:"plaintext"}]}},year:{"default":{one:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" год",type:"plaintext"}],few:[{value:"Через ",type:"plaintext"},{value
:"{0}",type:"placeholder"},{value:" года",type:"plaintext"}],many:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" лет",type:"plaintext"}],other:[{value:"Через ",type:"plaintext"},{value:"{0}",type:"placeholder"},{value:" года",
type:"plaintext"}]}}},none:{second:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" секунда",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" секунды",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" секунд",type
:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" секунды",type:"plaintext"}]},"short":{one:[{value:"{0}",type:"placeholder"},{value:" сек.",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" сек.",type:"plaintext"}],many:[{value
:"{0}",type:"placeholder"},{value:" сек.",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" сек.",type:"plaintext"}]},abbreviated:{one:[{value:"{0}",type:"placeholder"},{value:" сек",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"
},{value:" сек",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" сек",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" сек",type:"plaintext"}]}},minute:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" минута",
type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" минуты",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" минут",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" минуты",type:"plaintext"}]},"short":{one
:[{value:"{0}",type:"placeholder"},{value:" мин.",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" мин.",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" мин.",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value
:" мин.",type:"plaintext"}]},abbreviated:{one:[{value:"{0}",type:"placeholder"},{value:" мин",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" мин",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" мин",type:"plaintext"}],
other:[{value:"{0}",type:"placeholder"},{value:" мин",type:"plaintext"}]}},hour:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" час",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" часа",type:"plaintext"}],many:[{value:"{0}",type
:"placeholder"},{value:" часов",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" часа",type:"plaintext"}]},"short":{one:[{value:"{0}",type:"placeholder"},{value:" ч.",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" ч.",
type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" ч.",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" ч.",type:"plaintext"}]},abbreviated:{one:[{value:"{0}",type:"placeholder"},{value:" ч",type:"plaintext"}],few:[{value
:"{0}",type:"placeholder"},{value:" ч",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" ч",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" ч",type:"plaintext"}]}},day:{"default":{one:[{value:"{0}",type:"placeholder"},{
value:" день",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" дня",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" дней",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" дня",type:"plaintext"}]},"short"
:{one:[{value:"{0}",type:"placeholder"},{value:" дн.",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" дн.",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" дн.",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},
{value:" дн.",type:"plaintext"}]},abbreviated:{one:[{value:"{0}",type:"placeholder"},{value:" д",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" д",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" д",type:"plaintext"}],other
:[{value:"{0}",type:"placeholder"},{value:" д",type:"plaintext"}]}},week:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" неделя",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" недели",type:"plaintext"}],many:[{value:"{0}",type
:"placeholder"},{value:" недель",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" недели",type:"plaintext"}]},"short":{one:[{value:"{0}",type:"placeholder"},{value:" нед.",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" нед."
,type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" нед.",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" нед.",type:"plaintext"}]}},month:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" месяц",type:"plaintext"
}],few:[{value:"{0}",type:"placeholder"},{value:" месяца",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" месяцев",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" месяца",type:"plaintext"}]},"short":{one:[{value:"{0}"
,type:"placeholder"},{value:" мес.",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" мес.",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" мес.",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" мес.",type
:"plaintext"}]}},year:{"default":{one:[{value:"{0}",type:"placeholder"},{value:" год",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" года",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},{value:" лет",type:"plaintext"}],other:[
{value:"{0}",type:"placeholder"},{value:" года",type:"plaintext"}]},"short":{one:[{value:"{0}",type:"placeholder"},{value:" г.",type:"plaintext"}],few:[{value:"{0}",type:"placeholder"},{value:" г.",type:"plaintext"}],many:[{value:"{0}",type:"placeholder"},
{value:" лет",type:"plaintext"}],other:[{value:"{0}",type:"placeholder"},{value:" г.",type:"plaintext"}]}}}},this.time_in_seconds={second:1,minute:60,hour:3600,day:86400,week:604800,month:2629743.83,year:31556926}}return b.prototype.format=function(b,c){var d
,e,f,g,h,i;c==null&&(c={}),g={};for(d in c)f=c[d],g[d]=f;g.direction||(g.direction=b<0?"ago":"until");if(g.unit===null||g.unit===void 0)g.unit=this.calculate_unit(Math.abs(b),g);return g.type||(g.type=this.default_type),g.number=this.calculate_time(Math.abs
(b),g.unit),e=this.calculate_time(Math.abs(b),g.unit),g.rule=a.PluralRules.rule_for(e),h=function(){var a,b,c,d;c=this.tokens[g.direction][g.unit][g.type][g.rule],d=[];for(a=0,b=c.length;ad;b=0<=d?++c:--c)e.push("0");return e}().join(""),"1"+c},b.prototype.get_tokens=function(a,b){var c,d,e;return b==null&&(b={}),e=a=this.NUMBER_MIN?this.get_type():"decimal"
,c=e===this.get_type()?this.get_key(a):null,d=this.all_tokens[e],d=a<0?d.negative:d.positive,c!=null&&(d=d[c]),d},b.prototype.transform_number=function(a){var b,c;return a=this.NUMBER_MIN?(c=Math.floor((a.toString().length-1)/3)*3,b=Math
.pow(10,c),a/b):a},b}(a.NumberFormatter),a.ShortDecimalFormatter=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return f(b,a),b.prototype.get_type=function(){return"short_decimal"},b}(a.AbbreviatedNumberFormatter),a.LongDecimalFormatter=
function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return f(b,a),b.prototype.get_type=function(){return"long_decimal"},b}(a.AbbreviatedNumberFormatter),a.NumberFormatter.BaseHelper=function(){function a(){}return a.prototype.interpolate=
function(a,b,c){var d,e,f;return c==null&&(c="right"),b=b.toString(),e=b.length,f=c==="left"?0:-e,a.lengthb;d=0<=b?++a:--a)c.push("#");return c}().join("")+a).slice(-e)),f<0?a=a.slice(0,f+a.length)+
b:a=a.slice(0,f)+b+a.slice(e),a.replace(/#/g,"")},a}(),a.NumberFormatter.IntegerHelper=function(a){function b(a,b){var c;b==null&&(b={}),c=a.split(".")[0],this.format=this.prepare_format(c,b),this.groups=this.parse_groups(c),this.separator=b.group||","}return f
(b,a),b.prototype.apply=function(a,b){return b==null&&(b={}),this.format_groups(this.interpolate(this.format,parseInt(a)))},b.prototype.format_groups=function(a){var b,c,d;if(this.groups.length===0)return a;d=[],b=this.chop_group(a,this.groups[0]),d.push(b
),b&&(a=a.slice(0,a.length-b.length));while(a.length>this.groups[this.groups.length-1])b=this.chop_group(a,this.groups[this.groups.length-1]),d.push(b),b&&(a=a.slice(0,a.length-b.length));return d.push(a),function(){var a,b,e;e=[];for(a=0,b=d.length;a0?(c=a.slice(0,b),e=[a.length-b-1],c.lastIndexOf(",")>-1&&e.push(c.length-c.lastIndexOf(",")-1),e=function(
){var a,b,c;c=[];for(a=0,b=e.length;ac;b=0<=c?++a:--a)e.indexOf(e[b],b+1)===-1&&d.push(e[b]);return d}().reverse()):[]},b.prototype.chop_group=
function(a,b){return a.length>b?a.slice(-b):null},b.prototype.prepare_format=function(a,b){return a.replace(",","").replace("+",b.plus_sign).replace("-",b.minus_sign)},b}(a.NumberFormatter.BaseHelper),a.NumberFormatter.FractionHelper=function(a){function b
(a,b){b==null&&(b={}),this.format=a?a.split(".").pop():"",this.decimal=b.decimal||".",this.precision=this.format.length}return f(b,a),b.prototype.apply=function(a,b){var c;return b==null&&(b={}),c=b.precision!=null?b.precision:this.precision,c>0?this.decimal+
this.interpolate(this.format_for(b),a,"left"):""},b.prototype.format_for=function(a){var b,c;return c=a.precision!=null?a.precision:this.precision,c?function(){var a,d,e;e=[];for(b=a=0,d=c;0<=d?ad;b=0<=d?++a:--a)e.push("0");return e}().join(""):this.format
},b}(a.NumberFormatter.BaseHelper),e=typeof c!="undefined"&&c!==null?c:(this.TwitterCldr={},this.TwitterCldr);for(b in a)d=a[b],e[b]=d}).call(this)})