/*1358292701,178130529*/

if (self.CavalryLogger) { CavalryLogger.start_js(["OdPrn"]); }

/** js/lib/dom/css.js */
__d("legacy:css",["CSS"],function(a,b,c,d){



a.CSS=b('CSS');},

3);

/** js/lib/util/data_store.js */
__d("legacy:data-store",["DataStore"],function(a,b,c,d){






a.DataStore=a.DataStore||b('DataStore');},

3);

/** ads/units/js/base.js */












function EmuController(a,b){
this.impression=b;
this.containerId=a;

DataStore.set($(a),'emuController',this);

return this;}


copyProperties(EmuController,
{fromContainer:function(a){
var b=ge(a);
if(!b)
return null;

return DataStore.get(b,'emuController');},



getEventClass:function(a){
return "emuEvent"+String(a).trim();}});



copyProperties(EmuController.prototype,

{EVENT_HANDLER_PATH:'/ajax/emu/end.php',


CLICK:1,
FAN:"fad_fan",
FOLLOW:"fad_follow",

event:function(a,b,c,d){
var e=
{eid:this.impression,
f:0,
ui:this.containerId,
en:a,
a:1};


if(b)
e.ed=JSON.stringify(b);


if(!d)
d=emptyFunction;



var f=new AsyncRequest().
setURI(this.EVENT_HANDLER_PATH).
setData(e).
setErrorHandler(d);
if(c)
f.setHandler(c);

f.send();},





redirect:function(){
var a=
{eid:this.impression,
f:0,
ui:this.containerId,
en:this.CLICK,
a:0,
sig:Math.floor(Math.random()*65535)+65536},

b=new URI(this.EVENT_HANDLER_PATH);
b.setQueryData(a);
goURI(b);}});

/** js/lib/event/legacy-extensions.js */
__d("legacy:event-extensions",["Event"],function(a,b,c,d){



a.Event=b('Event');},

3);

/** ads/units/js/whitespace_click.js */












function BassWhitespaceListener(a,b){
this.link=b;
Event.listen(a,'click',this.onclicked.bind(this));}


copyProperties
(BassWhitespaceListener.prototype,

{onclicked:function(a){
if(Parent.byTag(a.getTarget(),'A'))
return;

switch(this.link.getAttribute('rel')){
case 'async':
Bootloader.loadComponents
('async',
function(){
AsyncRequest.bootstrap
(this.link.getAttribute('ajaxify'),
this.link);}.
bind(this));

break;
case 'theater':
var b=Parent.byClass(a.getTarget(),'fbPhotoSnowlift');
Bootloader.loadComponents
('PhotoViewer',
function(){
PhotoViewer.bootstrap
(this.link.getAttribute('ajaxify'),
this.link);}.

bind(this));

if(b)
return false;


break;

default:goURI(this.link.getAttribute('href'));
}}});

/** js/ads/adblock/AdblockDetector.js */
__d("AdblockDetector",[],function(a,b,c,d,e,f){




var g='data-adblock-hash',

h={},
i=0;

function j(k,l){
var m=k.getAttribute(g);
if(!m){
m=++i;
k.setAttribute(g,m);}else
if(h[m]){
clearTimeout(h[m]);
h[m]=null;}


h[m]=setTimeout(function(){

h[m]=null;

if(!k.offsetHeight){



var n=k,
o=document.getElementsByTagName('body')[0];
while(n&&n!==o){
if(n.style.display==='none'||
n.style.height==='0px'||
n.style.height===0||
n.style.height==='0'||
n.childNodes.length===0)
return;

n=n.parentNode;}


if(n===o)
l&&l(k);}},


3000);}


f.assertUnblocked=j;});

/** js/logging/EagleEye.js */
__d("EagleEye",["Arbiter","Env","OnloadEvent","isInIframe"],function(a,b,c,d,e,f){





var g=b('Arbiter'),
h=b('Env'),
i=b('OnloadEvent'),

j=b('isInIframe'),

k=h.eagleEyeConfig||{},
l='_e_',
m=(window.name||'').toString();
if(m.length==7&&m.substr(0,3)==l){
m=m.substr(3);}else{

m=k.seed;

if(!j())
window.name=l+m;}




var n=
(window.location.protocol=='https:'&&document.cookie.match(/\bcsm=1/))?
'; secure':'',

o=l+m+'_',

p=new Date(Date.now()+604800000).toGMTString(),
q=window.location.hostname.replace(/^.*(facebook\..*)$/i,'$1'),
r='; expires='+p+';path=/; domain='+q+n,
s=0,
t,
u=k.sessionStorage&&a.sessionStorage,
v=document.cookie.length,
w=false,
x=Date.now();

function y(ca){
return o+(s++)+'='+encodeURIComponent(ca)+r;}


function z(){
var ca=[],
da=false,
ea=0,
fa=0;


this.isEmpty=function(){
return !ca.length;};


this.enqueue=function(ga,ha){
if(ha){
ca.unshift(ga);}else 

ca.push(ga);};



this.dequeue=function(){
ca.shift();};


this.peek=function(){
return ca[0];};








this.clear=function(ga){


v=Math.min(v,document.cookie.length);
if(!w&&(new Date()-x>60000))
w=true;





var ha=!ga&&(document.cookie.search(l)>=0),


ia=!!h.cookie_header_limit,
ja=h.cookie_count_limit||19,
ka=h.cookie_header_limit||3950,

la=ja-5,
ma=ka-1000;



while(!this.isEmpty()){
var na=y(this.peek());


































if(ia&&
(na.length>ka||
(w&&
na.length+v>ka))){











this.dequeue();
continue;}

if((ha||ia)&&
((document.cookie.length+na.length>ka)||
(document.cookie.split(';').length>ja)))









break;








document.cookie=na;
ha=true;
this.dequeue();}
















var oa=Date.now();
if(ga||!da&&ha&&

((fa>0)&&
(Math.min(10*Math.pow(2,fa-1),
60000)+ea<oa))&&

g.query(i.ONLOAD)&&

(!this.isEmpty()||
(document.cookie.length>ma)||
(document.cookie.split(';').length>la))){
var pa=new Image(),



qa=this,
ra=h.tracking_domain||'';
da=true;
pa.onload=function ua(){
da=false;
fa=0;
qa.clear();};

pa.onerror=pa.onabort=function ua(){
da=false;
ea=Date.now();
fa++;};




var sa=h.fb_isb?'&fb_isb='+h.fb_isb:'',




ta='&__user='+h.user;



pa.src=ra+'/ajax/nectar.php?asyncSignal='+
(Math.floor(Math.random()*10000)+1)+
sa+ta+
'&'+(!ga?'':'s=')+oa;}};}




t=new z();

if(u){












var aa=function(){

var ca=0,




da=ca;

function ea(){
var ha=sessionStorage.getItem('_e_ids');
if(ha){


var ia=(ha+'').split(';');
if(ia.length==2){
ca=parseInt(ia[0],10);
da=parseInt(ia[1],10);}}}




function fa(){
var ha=ca+';'+da;
sessionStorage.setItem('_e_ids',ha);}


function ga(ha){
return '_e_'+((ha!==undefined)?ha:ca++);}


this.isEmpty=function(){
return da===ca;};





this.enqueue=function(ha,ia){






var ja=ia?ga(--da):ga();
sessionStorage.setItem(ja,ha);
fa();};









this.dequeue=function(){
this.isEmpty();


sessionStorage.removeItem(ga(da));
da++;
fa();};


this.peek=function(){
var ha=sessionStorage.getItem(ga(da));
return ha?(ha+''):ha;};




this.clear=t.clear;



ea();};


t=new aa();}


var ba=



{log:function(ca,da,ea){



if(h.no_cookies)
return;


var fa=[m,Date.now(),ca].concat(da);
fa.push(fa.length);

function ga(){
var ha=JSON.stringify(fa);


try{t.enqueue(ha,!!ea);
t.clear(!!ea);}catch(
ia){



if(u&&(ia.code===1000)){

t=new z();
u=false;
ga();}}}









ga();},


getSessionID:function(){
return m;}};




a.EagleEye=e.exports=ba;},

3);

/** js/ads/adblock/AdblockDetectorLogging.js */
__d("AdblockDetectorLogging",["AdblockDetector","EagleEye"],function(a,b,c,d,e,f){




var g=b('AdblockDetector'),
h=b('EagleEye');

function i(j){
g.assertUnblocked(j,
h.log.bind(h,'ads',{event:'ads_blocked'}));}



f.assertUnblocked=i;});

/** js/channel2/constants.js */
__d("legacy:ChannelConstants",["ChannelConstants"],function(a,b,c,d){



a.ChannelConstants=b('ChannelConstants');},

3);

/** js/chat/ChatConfig.js */
__d("ChatConfig",["ChatConfigInitialData","copyProperties"],function(a,b,c,d,e,f){



var g=b('ChatConfigInitialData'),

h=b('copyProperties'),

i={},

j=
{get:function(k,l){
return k in i?i[k]:l;},


set:function(k){
if(arguments.length>1){
var l={};
l[k]=arguments[1];
k=l;}

h(i,k);},


getDebugInfo:function(){
return i;}};



j.set(g);

e.exports=j;});

/** js/desktop/auth/FBDesktopDetect.js */
__d("FBDesktopDetect",["UserAgent"],function(a,b,c,d,e,f){






var g=b('UserAgent'),

h='facebook.desktopplugin',

i=
{mimeType:'application/x-facebook-desktop-1',

isPluginInstalled:function(){
if(g.osx())


return false;

var j=null;
if(a.ActiveXObject){

try{j=new a.ActiveXObject(h);
if(j)
return true;}catch(

k){}}else
if(a.navigator&&a.navigator.plugins){
a.navigator.plugins.refresh(false);
for(var l=0,m=a.navigator.plugins.length;l<m;l++){
j=a.navigator.plugins[l];



if(j.length&&j[0].type===this.mimeType)
return true;}}




return false;}};



e.exports=i;});

/** js/fbx/NavigationMessage.js */
__d("NavigationMessage",[],function(a,b,c,d,e,f){





var g=


{NAVIGATION_BEGIN:'NavigationMessage/navigationBegin',


NAVIGATION_SELECT:'NavigationMessage/navigationSelect',



NAVIGATION_FIRST_RESPONSE:'NavigationMessage/navigationFirstResponse',




NAVIGATION_COMPLETED:'NavigationMessage/navigationCompleted',



NAVIGATION_FAILED:'NavigationMessage/navigationFailed',




NAVIGATION_COUNT_UPDATE:'NavigationMessage/navigationCount',





NAVIGATION_FAVORITE_UPDATE:'NavigationMessage/navigationFavoriteUpdate',



NAVIGATION_ITEM_REMOVED:'NavigationMessage/navigationItemRemoved',



NAVIGATION_ITEM_HIDDEN:'NavigationMessage/navigationItemHidden',


INTERNAL_LOADING_BEGIN:'NavigationMessage/internalLoadingBegin',


INTERNAL_LOADING_COMPLETED:'NavigationMessage/internalLoadingCompleted'};



e.exports=g;});

/** js/fbx/ui-side-nav-message.js */
__d("legacy:ui-side-nav-message",["NavigationMessage"],function(a,b,c,d){



a.NavigationMessage=b('NavigationMessage');},

3);

/** js/modules/Vector.js */
__d("Vector",["Event","DOMDimensions","DOMPosition","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('DOMDimensions'),
i=b('DOMPosition'),

j=b('copyProperties');












































function k(l,m,n){
j(this,
{x:parseFloat(l),
y:parseFloat(m),
domain:n||'pure'});}



j(k.prototype,





{toString:function(){
return '('+this.x+', '+this.y+')';},




















add:function(l,m){
if(arguments.length==1){
if(l.domain!='pure')
l=l.convertTo(this.domain);

return this.add(l.x,l.y);}

var n=parseFloat(l),
o=parseFloat(m);

return new k(this.x+n,this.y+o,this.domain);},
















mul:function(l,m){
if(typeof m=="undefined")
m=l;

return new k(this.x*l,this.y*m,this.domain);},








sub:function(l,m){
if(arguments.length==1){
return this.add(l.mul(-1));}else 

return this.add(-l,-m);},







distanceTo:function(l){
return this.sub(l).magnitude();},






magnitude:function(){
return Math.sqrt((this.x*this.x)+(this.y*this.y));},









convertTo:function(l){
if(l!='pure'&&
l!='viewport'&&
l!='document')






return new k(0,0);


if(l==this.domain)
return new k(this.x,this.y,this.domain);


if(l=='pure')
return new k(this.x,this.y);


if(this.domain=='pure')








return new k(0,0);




var m=k.getScrollPosition('document'),
n=this.x,o=this.y;
if(this.domain=='document'){



n-=m.x;
o-=m.y;}else{



n+=m.x;
o+=m.y;}


return new k(n,o,l);},











setElementPosition:function(l){
var m=this.convertTo('document');
l.style.left=parseInt(m.x)+'px';
l.style.top=parseInt(m.y)+'px';

return this;},












setElementDimensions:function(l){
return this.setElementWidth(l).
setElementHeight(l);},


setElementWidth:function(l){
l.style.width=parseInt(this.x,10)+'px';

return this;},


setElementHeight:function(l){
l.style.height=parseInt(this.y,10)+'px';

return this;},







scrollElementBy:function(l){
if(l==document.body){
window.scrollBy(this.x,this.y);}else{

l.scrollLeft+=this.x;
l.scrollTop+=this.y;}

return this;}});





j(k,





{getEventPosition:function(l,m){
m=m||'document';
var n=g.getPosition(l),
o=new k(n.x,n.y,'document');
return o.convertTo(m);},








getScrollPosition:function(l){
l=l||'document';
var m=i.getScrollPosition();
return new k(m.x,m.y,'document').convertTo(l);},







getElementPosition:function(l,m){
m=m||'document';
var n=i.getElementPosition(l);
return new k(n.x,n.y,'viewport').convertTo(m);},














getElementDimensions:function(l){
var m=h.getElementDimensions(l);
return new k(m.width,m.height);},








getViewportDimensions:function(){
var l=h.getViewportDimensions();
return new k(l.width,l.height,'viewport');},








getDocumentDimensions:function(l){
var m=h.getDocumentDimensions(l);
return new k(m.width,m.height,'document');},



deserialize:function(l){
var m=l.split(',');
return new k(m[0],m[1]);}});



e.exports=k;});

/** js/home/SimpleDrag.js */
__d("SimpleDrag",["Event","ArbiterMixin","UserAgent","Vector","copyProperties","emptyFunction"],function(a,b,c,d,e,f){



















var g=b('Event'),

h=b('ArbiterMixin'),
i=b('UserAgent'),
j=b('Vector'),

k=b('copyProperties'),
l=b('emptyFunction');

function m(n){
this.minDragDistance=0;
g.listen(n,'mousedown',this._start.bind(this));}


k(m.prototype,h,
{setMinDragDistance:function(n){
this.minDragDistance=n;},


_start:function(event){
var n=false,
o=true,
p=null;




if(this.inform('mousedown',event))
o=false;


if(this.minDragDistance){
p=j.getEventPosition(event);}else{


n=true;
if(this.inform('start',event))
o=false;}





var q=i.ie()<9?document.documentElement:window,

r=g.listen(q,
{selectstart:o?g.prevent:l,

mousemove:function(event){
if(!n){
var s=j.getEventPosition(event);
if(p.distanceTo(s)<this.minDragDistance)
return;

n=true;
this.inform('start',event);}


this.inform('update',event);}.
bind(this),

mouseup:function(event){
for(var s in r)
r[s].remove();


if(n){
this.inform('end',event);}else 

this.inform('click',event);}.

bind(this)});


o&&event.prevent();}});



e.exports=m;});

/** js/modules/ViewportBounds.js */
__d("ViewportBounds",["Style","ge"],function(a,b,c,d,e,f){



var g=b('Style'),

h=b('ge'),

i=
{top:[],
right:[],
bottom:[],
left:[]};


function j(n){
return function(){
var o=0;
i[n].forEach(function(p){
o=Math.max(o,p.getSize());});

return o;};}



function k(n){
return function(o){
return new l(n,o);};}







function l(n,o){

this.getSide=bagof(n);
this.getSize=function(){
return typeof o==='function'?o():o;};

i[n].push(this);}


l.prototype.remove=function(){
i[this.getSide()].remove(this);};






var m=



{getTop:j('top'),
getRight:j('right'),
getBottom:j('bottom'),
getLeft:j('left'),














addTop:k('top'),
addRight:k('right'),
addBottom:k('bottom'),
addLeft:k('left')};



m.addTop(function(){
var n=h('blueBar');
if(n&&g.isFixed(n))
return h('blueBarHolder').offsetHeight;

return 0;});


e.exports=m;});

/** js/modules/detect/isAsyncScrollQuery.js */
__d("isAsyncScrollQuery",["UserAgent"],function(a,b,c,d,e,f){



var g=b('UserAgent'),

h=null;








function i(){
if(h===null)
h=
g.osx()>=10.8&&
g.webkit()>=536.25&&
!g.chrome();

return h;}


e.exports=i;});

/** js/modules/ScrollAwareDOM.js */
__d("ScrollAwareDOM",["ArbiterMixin","CSS","DOM","DOMDimensions","DOMPosition","DOMQuery","HTML","Vector","ViewportBounds","copyProperties","isAsyncScrollQuery"],function(a,b,c,d,e,f){



var g=b('ArbiterMixin'),
h=b('CSS'),
i=b('DOM'),
j=b('DOMDimensions'),
k=b('DOMPosition'),
l=b('DOMQuery'),
m=b('HTML'),
n=b('Vector'),
o=b('ViewportBounds'),

p=b('copyProperties'),
q=b('isAsyncScrollQuery');








function r(w,x){
return function(){
v.monitor(arguments[w],x.curry.apply(x,arguments));};}









function s(w){
if(!(w instanceof Array))
w=[w];

for(var x=0;x<w.length;x++){
var y=m.replaceJSONWrapper(w[x]);
if(y instanceof m){
return y.getRootNode();}else
if(i.isNode(y))
return y;}


return null;}





function t(w){
return k.getElementPosition(w).y>o.getTop();}





function u(w){
var x=
k.getElementPosition(w).y+
j.getElementDimensions(w).height,
y=
j.getViewportDimensions().height-
o.getBottom();
return x>=y;}






var v=p








({monitor:function(w,x){
if(q())


return x();

var y=s(w);
if(y){
var z=!!y.offsetParent;
if(z&&(t(y)||u(y)))

return x();

var aa=n.getDocumentDimensions(),
ba=x();
if(z||(y.offsetParent&&!t(y))){

var ca=n.getDocumentDimensions().sub(aa),

da=
{delta:ca,
target:y};

if(v.inform('scroll',da)!==false)
ca.scrollElementBy(l.getDocumentScrollElement());}


return ba;}else 

return x();},








replace:function(w,x){
var y=s(x);
if(!y||h.hasClass(y,'hidden_elem'))
y=w;

return v.monitor(y,function(){
i.replace(w,x);});},



prependContent:r(1,i.prependContent),
insertAfter:r(1,i.insertAfter),
insertBefore:r(1,i.insertBefore),
setContent:r(0,i.setContent),
appendContent:r(1,i.appendContent),
remove:r(0,i.remove),
empty:r(0,i.empty)},

g);

e.exports=v;});

/** js/lib/dom/ScrollAwareDOM.js */
__d("legacy:ScrollAwareDOM",["ScrollAwareDOM"],function(a,b,c,d){



a.ScrollAwareDOM=b('ScrollAwareDOM');},

3);

/** js/lib/dom/Style-legacy.js */
__d("legacy:Style",["Style"],function(a,b,c,d){



a.Style=b('Style');},

3);

/** js/modules/LinkshimAsyncLink.js */
__d("LinkshimAsyncLink",["$","AsyncSignal","DOM","UserAgent"],function(a,b,c,d,e,f){






var g=b('$'),
h=b('AsyncSignal'),
i=b('DOM'),
j=b('UserAgent'),

k=
{swap:function(l,m){
var n=j.ie()<=8;
if(n){



var o=i.create('wbr',{},null);
i.appendContent(l,o);}

l.href=m;
if(n)
i.remove(o);},



referrer_log:function(l,m,n){
var o=g('meta_referrer');
o.content="origin";
k.swap(l,m);
(function(){
o.content="default";
new h(n,{}).send();}).
defer(100);}};



e.exports=k;});

/** js/lib/dom/asynclinkshim.js */
__d("legacy:dom-asynclinkshim",["LinkshimAsyncLink"],function(a,b,c,d){



a.LinkshimAsyncLink=b('LinkshimAsyncLink');},

3);

/** js/modules/DOMControl.js */
__d("DOMControl",["DataStore","$","copyProperties"],function(a,b,c,d,e,f){



var g=b('DataStore'),

h=b('$'),
i=b('copyProperties');

function j(k){





this.root=h(k);
this.updating=false;
g.set(k,'DOMControl',this);}


i(j.prototype,

{getRoot:function(){
return this.root;},


beginUpdate:function(){
if(this.updating)
return false;

this.updating=true;
return true;},


endUpdate:function(){
this.updating=false;},


update:function(k){
if(!this.beginUpdate())
return this;

this.onupdate(k);
this.endUpdate();},


onupdate:function(k){

}});



j.getInstance=function(k){
return g.get(k,'DOMControl');};


e.exports=j;});

/** js/modules/Input.js */
__d("Input",["CSS","DOMQuery","DOMControl"],function(a,b,c,d,e,f){



var g=b('CSS'),
h=b('DOMQuery'),
i=b('DOMControl'),

j=function(l){
var m=l.getAttribute('maxlength');
if(m&&m>0)
d(['enforceMaxLength'],function(n){
n(l,m);});},




k=

{isEmpty:function(l){
return !(/\S/).test(l.value||'')||
g.hasClass(l,'DOMControl_placeholder');},


getValue:function(l){
return k.isEmpty(l)?'':l.value;},


setValue:function(l,m){





g.removeClass(l,'DOMControl_placeholder');
l.value=m||'';
j(l);
var n=i.getInstance(l);
n&&n.resetHeight&&n.resetHeight();},


setPlaceholder:function(l,m){





l.setAttribute('aria-label',m);
l.setAttribute('placeholder',m);
if(l==document.activeElement)return;
if(k.isEmpty(l)){
g.conditionClass(l,'DOMControl_placeholder',m);
l.value=m||'';}},



reset:function(l){
var m=l!==document.activeElement?
(l.getAttribute('placeholder')||''):'';
l.value=m;
g.conditionClass(l,'DOMControl_placeholder',m);
l.style.height='';},


setSubmitOnEnter:function(l,m){
g.conditionClass(l,'enter_submit',m);},


getSubmitOnEnter:function(l){
return g.hasClass(l,'enter_submit');},


setMaxLength:function(l,m){






if(m>0){
l.setAttribute('maxlength',m);
j(l);}else 

l.removeAttribute('maxlength');}};





e.exports=k;});

/** js/modules/Form.js */
__d("Form",["Event","AsyncRequest","AsyncResponse","CSS","DOM","DOMPosition","DOMQuery","DataStore","Env","Input","Parent","URI","createArrayFrom","trackReferrer"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('AsyncRequest'),
i=b('AsyncResponse'),
j=b('CSS'),
k=b('DOM'),
l=b('DOMPosition'),
m=b('DOMQuery'),
n=b('DataStore'),
o=b('Env'),
p=b('Input'),
q=b('Parent'),
r=b('URI'),

s=b('createArrayFrom'),
t=b('trackReferrer'),

u='FileList' in window,
v='FormData' in window;







function w(y){
var z={};
r.implodeQuery(y).split('&').forEach(function(aa){
if(aa){
var ba=/^([^=]*)(?:=(.*))?$/.exec(aa),
ca=r.decodeComponent(ba[1]),
da=ba[2]?r.decodeComponent(ba[2]):null;
z[ca]=da;}});


return z;}


var x=

{getInputs:function(y){
y=y||document;

return [].concat
(s(m.scry(y,'input')),
s(m.scry(y,'select')),
s(m.scry(y,'textarea')),
s(m.scry(y,'button')));},



getSelectValue:function(y){
return y.options[y.selectedIndex].value;},


setSelectValue:function(y,z){
for(var aa=0;aa<y.options.length;++aa)
if(y.options[aa].value==z){
y.selectedIndex=aa;
break;}},




getRadioValue:function(y){
for(var z=0;z<y.length;z++)
if(y[z].checked)
return y[z].value;


return null;},


getElements:function(y){
return s
(y.tagName=='FORM'?y.elements:x.getInputs(y));},













getAttribute:function(y,z){
return (y.getAttributeNode(z)||{}).value||null;},














setDisabled:function(y,z){
x.getElements(y).forEach(function(aa){
if(aa.disabled!==undefined){
var ba=n.get(aa,'origDisabledState');
if(z){




if(ba===undefined)
n.set(aa,'origDisabledState',aa.disabled);

aa.disabled=z;}else 

if(ba!==true)
aa.disabled=false;}});},







bootstrap:function(y,z){
var aa=(x.getAttribute(y,'method')||'GET').toUpperCase();



z=q.byTag(z,'button')||z;

var ba=q.byClass(z,'stat_elem')||y;
if(j.hasClass(ba,'async_saving'))
return;






if(z&&
(z.form!==y||
(z.nodeName!='INPUT'&&z.nodeName!='BUTTON')||
z.type!='submit')){


var ca=m.scry(y,'.enter_submit_target')[0];
ca&&(z=ca);}


var da=x.serialize(y,z);
x.setDisabled(y,true);

var ea=
x.getAttribute(y,'ajaxify')||
x.getAttribute(y,'action');

t(y,ea);

var fa=new h(ea);
fa.
setData(da).
setNectarModuleDataSafe(y).
setReadOnly(aa=='GET').
setMethod(aa).
setRelativeTo(y).
setStatusElement(ba).
setInitialHandler(x.setDisabled.curry(y,false)).
setHandler(function(ga){
g.fire(y,'success',{response:ga});}).

setErrorHandler(function(ga){
if(g.fire(y,'error',{response:ga})!==false)
i.defaultErrorHandler(ga);}).


setFinallyHandler(x.setDisabled.curry(y,false)).
send();},












forEachValue:function(y,z,aa){
x.getElements(y).forEach(function(ba){

if(ba.name&&!ba.disabled&&ba.type!=='submit')





if(!ba.type||
((ba.type==='radio'||ba.type==='checkbox')&&
ba.checked)||
ba.type==='text'||
ba.type==='password'||
ba.type==='hidden'||
ba.nodeName==='TEXTAREA'){
aa(ba.type,ba.name,p.getValue(ba));}else
if(ba.nodeName==='SELECT'){
for(var ca=0,da=ba.options.length;ca<da;ca++){
var ea=ba.options[ca];
if(ea.selected)
aa('select',ba.name,ea.value);}}else


if(u&&ba.type==='file'){
var fa=ba.files;








for(var ga=0;ga<fa.length;ga++)
aa('file',ba.name,fa.item(ga));}});




if(z&&
z.name&&
z.type==='submit'&&
m.contains(y,z)&&
m.isNodeOfType(z,['input','button']))
aa('submit',z.name,z.value);},







createFormData:function(y,z){
if(!v)
return null;

var aa=new FormData();
if(y)
if(m.isNode(y)){
x.forEachValue(y,z,function(da,ea,fa){
aa.append(ea,fa);});}else{


var ba=w(y);
for(var ca in ba)
aa.append(ca,ba[ca]);}



return aa;},


serialize:function(y,z){
var aa={};
x.forEachValue(y,z,function(ba,ca,da){
if(ba==='file')

return;

x._serializeHelper(aa,ca,da);});

return x._serializeFix(aa);},


_serializeHelper:function(y,z,aa){
var ba=Object.prototype.hasOwnProperty,
ca=/([^\]]+)\[([^\]]*)\](.*)/.exec(z);
if(ca){




if(!y[ca[1]]||!ba.call(y,ca[1])){
var da;
y[ca[1]]=da={};
if(y[ca[1]]!==da)


return;}


var ea=0;
if(ca[2]===''){
while(y[ca[1]][ea]!==undefined)
ea++;}else 


ea=ca[2];

if(ca[3]===''){
y[ca[1]][ea]=aa;}else 

x._serializeHelper(y[ca[1]],ea.concat(ca[3]),aa);}else 


y[z]=aa;},









_serializeFix:function(y){
for(var z in y)
if(y[z] instanceof Object)
y[z]=x._serializeFix(y[z]);


var aa=Object.keys(y);
if(aa.length===0||aa.some(isNaN))
return y;


aa.sort(function(da,ea){
return da-ea;});

var ba=0,
ca=aa.every(function(da){
return +da===ba++;});

if(ca)
return aa.map(function(da){
return y[da];});


return y;},



post:function(y,z,aa){
var ba=document.createElement('form');
ba.action=y.toString();
ba.method='POST';
ba.style.display='none';

if(aa)
ba.target=aa;


z.fb_dtsg=o.fb_dtsg;

x.createHiddenInputs(z,ba);

m.getRootElement().appendChild(ba);
ba.submit();

return false;},














createHiddenInputs:function(y,z,aa,ba){
aa=aa||{};
var ca=w(y);
for(var da in ca){
if(ca[da]===null)
continue;

if(aa[da]&&ba){
aa[da].value=ca[da];}else{

var ea=k.create('input',
{type:'hidden',
name:da,
value:ca[da]});

aa[da]=ea;
z.appendChild(ea);}}


return aa;},











getFirstElement:function(y,z){
z=z||
['input[type="text"]',
'textarea',
'input[type="password"]',
'input[type="button"]',
'input[type="submit"]'];

var aa=[];
for(var ba=0;ba<z.length;ba++){
aa=m.scry(y,z[ba]);
for(var ca=0;ca<aa.length;ca++){
var da=aa[ca];

try{var fa=l.getElementPosition(da);
if(fa.y>0&&fa.x>0)
return da;}catch(

ea){}}}




return null;},













focusFirst:function(y){
var z=x.getFirstElement(y);
if(z){
z.focus();
return true;}


return false;}};




e.exports=x;});

/** js/lib/dom/form.js */
__d("legacy:dom-form",["Form"],function(a,b,c,d){



a.Form=b('Form');},

3);

/** js/lib/dom/html.js */
__d("legacy:dom-html",["HTML"],function(a,b,c,d){



a.HTML=b('HTML');},

3);

/** js/lib/dom/misc.js */












function show(){
for(var a=0;a<arguments.length;a++){
var b=ge(arguments[a]);
if(b&&b.style)b.style.display='';}

return false;}







function hide(){
for(var a=0;a<arguments.length;a++){
var b=ge(arguments[a]);
if(b&&b.style)b.style.display='none';}

return false;}







function shown(a){
a=ge(a);
return (a.style.display!='none'&&!(a.style.display==''&&a.offsetWidth==0));}







function toggle(){
for(var a=0;a<arguments.length;a++){
var b=$(arguments[a]);
b.style.display=Style.get(b,"display")=='block'?'none':'block';}

return false;}







function toggleDisplayNone(){
for(var a=0;a<arguments.length;a++){
var b=$(arguments[a]);
if(shown(b)){
hide(b);}else 

show(b);}


return false;}

/** js/modules/Animation.js */
__d("Animation",["CSS","DOM","Style","UserAgent"],function(a,b,c,d,e,f){



var g=b('CSS'),
h=b('DOM'),
i=b('Style'),
j=b('UserAgent');






















































function k(l){





if(a==this){
return new k(l);}else{

this.obj=l;
this._reset_state();
this.queue=[];
this.last_attr=null;}}



k.resolution=20;
k.offset=0;


k.prototype._reset_state=function(){
this.state=
{attrs:{},
duration:500};};




k.prototype.stop=function(){
this._reset_state();
this.queue=[];
return this;};



k.prototype._build_container=function(){
if(this.container_div){
this._refresh_container();
return;}




if(this.obj.firstChild&&this.obj.firstChild.__animation_refs){
this.container_div=this.obj.firstChild;
this.container_div.__animation_refs++;
this._refresh_container();
return;}

var l=document.createElement('div');
l.style.padding='0px';
l.style.margin='0px';
l.style.border='0px';
l.__animation_refs=1;
var m=this.obj.childNodes;
while(m.length)
l.appendChild(m[0]);

this.obj.appendChild(l);

this._orig_overflow=this.obj.style.overflow;
this.obj.style.overflow='hidden';
this.container_div=l;
this._refresh_container();};



k.prototype._refresh_container=function(){
this.container_div.style.height='auto';
this.container_div.style.width='auto';
this.container_div.style.height=this.container_div.offsetHeight+'px';
this.container_div.style.width=this.container_div.offsetWidth+'px';};



k.prototype._destroy_container=function(){
if(!this.container_div)
return;

if(!--this.container_div.__animation_refs){
var l=this.container_div.childNodes;
while(l.length)
this.obj.appendChild(l[0]);

this.obj.removeChild(this.container_div);}

this.container_div=null;
this.obj.style.overflow=this._orig_overflow;};



k.ATTR_TO=1;
k.ATTR_BY=2;
k.ATTR_FROM=3;
k.prototype._attr=function(l,m,n){


l=l.replace(/-[a-z]/gi,function(p){
return p.substring(1).toUpperCase();});


var o=false;
switch(l){
case 'background':
this._attr('backgroundColor',m,n);
return this;

case 'margin':
m=k.parse_group(m);
this._attr('marginBottom',m[0],n);
this._attr('marginLeft',m[1],n);
this._attr('marginRight',m[2],n);
this._attr('marginTop',m[3],n);
return this;

case 'padding':
m=k.parse_group(m);
this._attr('paddingBottom',m[0],n);
this._attr('paddingLeft',m[1],n);
this._attr('paddingRight',m[2],n);
this._attr('paddingTop',m[3],n);
return this;

case 'backgroundColor':
case 'borderColor':
case 'color':
m=k.parse_color(m);
break;

case 'opacity':
m=parseFloat(m,10);
break;

case 'height':
case 'width':
if(m=='auto'){
o=true;}else 

m=parseInt(m,10);

break;

case 'borderWidth':
case 'lineHeight':
case 'fontSize':
case 'marginBottom':
case 'marginLeft':
case 'marginRight':
case 'marginTop':
case 'paddingBottom':
case 'paddingLeft':
case 'paddingRight':
case 'paddingTop':
case 'bottom':
case 'left':
case 'right':
case 'top':
case 'scrollTop':
case 'scrollLeft':
m=parseInt(m,10);
break;


default:throw new Error(l+' is not a supported attribute!');
}

if(this.state.attrs[l]===undefined)
this.state.attrs[l]={};

if(o)
this.state.attrs[l].auto=true;

switch(n){
case k.ATTR_FROM:
this.state.attrs[l].start=m;
break;

case k.ATTR_BY:
this.state.attrs[l].by=true;


case k.ATTR_TO:
this.state.attrs[l].value=m;
break;}};




k._get_box_width=function(l){
var m=parseInt(i.get(l,'paddingLeft'),10),
n=parseInt(i.get(l,'paddingRight'),10),
o=parseInt(i.get(l,'borderLeftWidth'),10),
p=parseInt(i.get(l,'borderRightWidth'),10);
return l.offsetWidth-(m?m:0)-(n?n:0)-(o?o:0)-
(p?p:0);};


k._get_box_height=function(l){
var m=parseInt(i.get(l,'paddingTop'),10),
n=parseInt(i.get(l,'paddingBottom'),10),
o=parseInt(i.get(l,'borderTopWidth'),10),
p=parseInt(i.get(l,'borderBottomWidth'),10);
return l.offsetHeight-(m?m:0)-(n?n:0)-(o?o:0)-
(p?p:0);};



k.prototype.to=function(l,m){
if(m===undefined){
this._attr(this.last_attr,l,k.ATTR_TO);}else{

this._attr(l,m,k.ATTR_TO);
this.last_attr=l;}

return this;};



k.prototype.by=function(l,m){
if(m===undefined){
this._attr(this.last_attr,l,k.ATTR_BY);}else{

this._attr(l,m,k.ATTR_BY);
this.last_attr=l;}

return this;};



k.prototype.from=function(l,m){
if(m===undefined){
this._attr(this.last_attr,l,k.ATTR_FROM);}else{

this._attr(l,m,k.ATTR_FROM);
this.last_attr=l;}

return this;};



k.prototype.duration=function(l){
this.state.duration=l?l:0;
return this;};



k.prototype.checkpoint=function(l,m){
if(l===undefined)
l=1;

this.state.checkpoint=l;
this.queue.push(this.state);
this._reset_state();
this.state.checkpointcb=m;
return this;};



k.prototype.blind=function(){
this.state.blind=true;
return this;};



k.prototype.hide=function(){
this.state.hide=true;
return this;};



k.prototype.show=function(){
this.state.show=true;
return this;};



k.prototype.ease=function(l){
this.state.ease=l;
return this;};



k.prototype.go=function(){
var l=Date.now();
this.queue.push(this.state);

for(var m=0;m<this.queue.length;m++){
this.queue[m].start=l-k.offset;
if(this.queue[m].checkpoint)
l+=this.queue[m].checkpoint*this.queue[m].duration;}


k.push(this);
return this;};



k.prototype._show=function(){
g.show(this.obj);};



k.prototype._hide=function(){
g.hide(this.obj);};



k.prototype._frame=function(l){
var m=true,
n=false,
o=false,
p;





function q(aa){
return document.documentElement[aa]||document.body[aa];}

for(var r=0;r<this.queue.length;r++){


var s=this.queue[r];
if(s.start>l){
m=false;
continue;}


if(s.checkpointcb){
this._callback(s.checkpointcb,l-s.start);
s.checkpointcb=null;}



if(s.started===undefined){
if(s.show)
this._show();

for(var t in s.attrs){
if(s.attrs[t].start!==undefined)
continue;

switch(t){
case 'backgroundColor':
case 'borderColor':
case 'color':

p=k.parse_color(i.get(this.obj,t=='borderColor'?'borderLeftColor':t));


if(s.attrs[t].by){
s.attrs[t].value[0]=Math.min(255,Math.max(0,s.attrs[t].value[0]+p[0]));
s.attrs[t].value[1]=Math.min(255,Math.max(0,s.attrs[t].value[1]+p[1]));
s.attrs[t].value[2]=Math.min(255,Math.max(0,s.attrs[t].value[2]+p[2]));}

break;

case 'opacity':
p=i.getOpacity(this.obj);
if(s.attrs[t].by)
s.attrs[t].value=Math.min(1,Math.max(0,s.attrs[t].value+p));

break;

case 'height':
p=k._get_box_height(this.obj);
if(s.attrs[t].by)
s.attrs[t].value+=p;

break;

case 'width':
p=k._get_box_width(this.obj);
if(s.attrs[t].by)
s.attrs[t].value+=p;

break;

case 'scrollLeft':
case 'scrollTop':
p=(this.obj===document.body)?
q(t):this.obj[t];
if(s.attrs[t].by)
s.attrs[t].value+=p;

s['last'+t]=p;
break;


default:p=parseInt(i.get(this.obj,t),10)||0;
if(s.attrs[t].by)
s.attrs[t].value+=p;

break;
}
s.attrs[t].start=p;}



if((s.attrs.height&&s.attrs.height.auto)||
(s.attrs.width&&s.attrs.width.auto)){

















if(j.firefox()<3)
o=true;



this._destroy_container();
for(var t in {height:1,width:1,
fontSize:1,
borderLeftWidth:1,borderRightWidth:1,borderTopWidth:1,borderBottomWidth:1,
paddingLeft:1,paddingRight:1,paddingTop:1,paddingBottom:1})
if(s.attrs[t])
this.obj.style[t]=s.attrs[t].value+(typeof s.attrs[t].value=='number'?'px':'');




if(s.attrs.height&&s.attrs.height.auto)
s.attrs.height.value=k._get_box_height(this.obj);

if(s.attrs.width&&s.attrs.width.auto)
s.attrs.width.value=k._get_box_width(this.obj);}






s.started=true;
if(s.blind)
this._build_container();}




var u=(l-s.start)/s.duration;
if(u>=1){
u=1;
if(s.hide)
this._hide();}else 


m=false;

var v=s.ease?s.ease(u):u;


if(!n&&u!=1&&s.blind)
n=true;



if(o&&this.obj.parentNode){
var w=this.obj.parentNode,
x=this.obj.nextSibling;
w.removeChild(this.obj);}



for(var t in s.attrs)
switch(t){
case 'backgroundColor':
case 'borderColor':
case 'color':



if(s.attrs[t].start[3]!=s.attrs[t].value[3]){
this.obj.style[t]='rgba('+
k.calc_tween
(v,
s.attrs[t].start[0],
s.attrs[t].value[0],
true)+
','+
k.calc_tween
(v,
s.attrs[t].start[1],
s.attrs[t].value[1],
true)+
','+
k.calc_tween
(v,
s.attrs[t].start[2],
s.attrs[t].value[2],
true)+
','+
k.calc_tween
(v,
s.attrs[t].start[3],
s.attrs[t].value[3],
false)+
')';}else 

this.obj.style[t]='rgb('+
k.calc_tween
(v,
s.attrs[t].start[0],
s.attrs[t].value[0],
true)+
','+
k.calc_tween
(v,
s.attrs[t].start[1],
s.attrs[t].value[1],
true)+
','+
k.calc_tween
(v,
s.attrs[t].start[2],
s.attrs[t].value[2],
true)+
')';

break;

case 'opacity':
i.set(this.obj,'opacity',
k.calc_tween(v,s.attrs[t].start,s.attrs[t].value));
break;

case 'height':
case 'width':
this.obj.style[t]=v==1&&s.attrs[t].auto?'auto':
k.calc_tween
(v,
s.attrs[t].start,
s.attrs[t].value,
true)+'px';
break;

case 'scrollLeft':
case 'scrollTop':

var y=this.obj===document.body;
p=y?q(t):this.obj[t];
if(s['last'+t]!==p){


delete s.attrs[t];}else{

var z=k.calc_tween
(v,s.attrs[t].start,s.attrs[t].value,true);


if(!y){
z=this.obj[t]=z;}else{

if(t=='scrollLeft'){
a.scrollTo(z,q('scrollTop'));}else 

a.scrollTo(q('scrollLeft'),z);

z=q(t);}

s['last'+t]=z;}

break;


default:this.obj.style[t]=k.calc_tween(v,s.attrs[t].start,s.attrs[t].value,true)+'px';
break;
}



if(u==1){
this.queue.splice(r--,1);
this._callback(s.ondone,l-s.start-s.duration);}}




if(o)
w[x?'insertBefore':'appendChild'](this.obj,x);


if(!n&&this.container_div)
this._destroy_container();

return !m;};



k.prototype.ondone=function(l){
this.state.ondone=l;
return this;};



k.prototype._callback=function(l,m){
if(l){
k.offset=m;
l.call(this);
k.offset=0;}};




k.calc_tween=function(l,m,n,o){
return (o?parseInt:parseFloat)((n-m)*l+m,10);};



k.parse_color=function(l){
var m=/^#([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{1,2})$/i.exec(l);
if(m){
return [parseInt(m[1].length==1?m[1]+m[1]:m[1],16),
parseInt(m[2].length==1?m[2]+m[2]:m[2],16),
parseInt(m[3].length==1?m[3]+m[3]:m[3],16),
1];}else{

var n=/^rgba? *\(([0-9]+), *([0-9]+), *([0-9]+)(?:, *([0-9\.]+))?\)$/.exec(l);
if(n){
return [parseInt(n[1],10),
parseInt(n[2],10),
parseInt(n[3],10),
n[4]?parseFloat(n[4]):1];}else
if(l=='transparent'){
return [255,255,255,0];}else 


throw 'Named color attributes are not supported.';}};






k.parse_group=function(l){
l=l.trim().split(/ +/);
if(l.length==4){
return l;}else
if(l.length==3){
return [l[0],l[1],l[2],l[1]];}else
if(l.length==2){
return [l[0],l[1],l[0],l[1]];}else 

return [l[0],l[0],l[0],l[0]];};




k.push=function(l){
if(!k.active)
k.active=[];

k.active.push(l);
if(k.active.length===1){
if(!k.requestAnimationFrame){


var m=
a.requestAnimationFrame||
a.webkitRequestAnimationFrame||
a.mozRequestAnimationFrame;
if(m)
k.requestAnimationFrame=m.bind(a);}



if(k.requestAnimationFrame){
k.requestAnimationFrame(k._animate);}else 

k.timeout=setInterval(k._animate,
k.resolution,
false);}



if(k.requestAnimationFrame)
k._updateEndingTimer();


k._animate(Date.now(),true);};










k._updateEndingTimer=function(){
if(!k.requestAnimationFrame)
throw new Error('Ending timer only valid with requestAnimationFrame');


var l=0;

for(var m=0;m<k.active.length;m++){
var n=k.active[m];

for(var o=0;o<n.queue.length;o++){
var p=n.queue[o].start+n.queue[o].duration;

if(p>l)
l=p;}}




if(k.timeout){
clearTimeout(k.timeout);
delete k.timeout;}


var q=Date.now();
if(l>q)




k.timeout=setTimeout
(k._animate.shield(),
l-q,
false);};










k._animate=function(l,m){
var n=Date.now();
for(var o=(m===true)?k.active.length-1:0;
o<k.active.length;o++)

try{if(!k.active[o]._frame(n))
k.active.splice(o--,1);}catch(

p){

k.active.splice(o--,1);}



if(k.active.length===0){
if(k.timeout){
if(k.requestAnimationFrame){
clearTimeout(k.timeout);}else 

clearInterval(k.timeout);

delete k.timeout;}}else

if(k.requestAnimationFrame)
k.requestAnimationFrame(k._animate);};







k.ease={};

k.ease.begin=function(l){
return Math.sin(Math.PI/2*(l-1))+1;};

k.ease.end=function(l){
return Math.sin(.5*Math.PI*l);};

k.ease.both=function(l){
return .5*Math.sin(Math.PI*(l-.5))+.5;};


k.prependInsert=function(l,m){
k.insert(l,m,h.prependContent);};


k.appendInsert=function(l,m){
k.insert(l,m,h.appendContent);};


k.insert=function(l,m,n){
i.set(m,'opacity',0);
n(l,m);
new k(m).
from('opacity',0).
to('opacity',1).
duration(400).
go();};


e.exports=k;});

/** js/modules/DOMScroll.js */
__d("DOMScroll",["Animation","Arbiter","DOM","DOMQuery","Vector","ViewportBounds","ge","isAsyncScrollQuery"],function(a,b,c,d,e,f){















var g=b('Animation'),
h=b('Arbiter'),
i=b('DOM'),
j=b('DOMQuery'),
k=b('Vector'),
l=b('ViewportBounds'),

m=b('ge'),
n=b('isAsyncScrollQuery'),

o=

{SCROLL:'dom-scroll',



getScrollState:function(){

var p=k.getViewportDimensions(),
q=k.getDocumentDimensions(),
r=(q.x>p.x),
s=(q.y>p.y);


r+=0;
s+=0;

return new k(r,s);},




_scrollbarSize:null,

_initScrollbarSize:function(){

var p=i.create('p');
p.style.width='100%';
p.style.height='200px';

var q=i.create('div');
q.style.position='absolute';
q.style.top='0px';
q.style.left='0px';
q.style.visibility='hidden';
q.style.width='200px';
q.style.height='150px';
q.style.overflow='hidden';
q.appendChild(p);

document.body.appendChild(q);
var r=p.offsetWidth;
q.style.overflow='scroll';
var s=p.offsetWidth;
if(r==s)
s=q.clientWidth;


document.body.removeChild(q);

o._scrollbarSize=r-s;},


getScrollbarSize:function(){
if(o._scrollbarSize===null)
o._initScrollbarSize();

return o._scrollbarSize;},

























scrollTo:
function(p,
q,
r,
s,
t){


if(typeof q=='undefined'||q===true)
q=750;


if(n())
q=false;


if(!(p instanceof k)){
var u=k.getScrollPosition().x,
v=k.getElementPosition(m(p)).y;
p=new k(u,v,'document');

if(!s)
p.y-=l.getTop()/(r?2:1);}



if(r){
p.y-=k.getViewportDimensions().y/2;}else
if(s){
p.y-=k.getViewportDimensions().y;
p.y+=s;}


p=p.convertTo('document');

if(q){
return new g(document.body).
to('scrollTop',p.y).
to('scrollLeft',p.x).
ease(g.ease.end).
duration(q).
ondone(t).
go();}else
if(window.scrollTo){
window.scrollTo(p.x,p.y);
t&&t();}

h.inform(o.SCROLL);},















ensureVisible:
function(p,
q,
r,
s,
t){

if(r===undefined)
r=10;


p=m(p);

if(q)
p=j.find(p,q);


var u=k.getScrollPosition().x,
v=k.getScrollPosition().y,
w=v+k.getViewportDimensions().y,
x=k.getElementPosition(p).y,
y=x+k.getElementDimensions(p).y;

x-=l.getTop();

x-=r;
y+=r;

if(x<v){

o.scrollTo
(new k(u,x,'document'),
s,
false,
false,
t);}else
if(y>w)
if(x-(y-w)<v){

o.scrollTo
(new k(u,x,'document'),
s,
false,
false,
t);}else 


o.scrollTo
(new k(u,y,'document'),
s,
false,
true,
t);},




scrollToTop:function(p){
var q=k.getScrollPosition();
o.scrollTo(new k(q.x,0,'document'),p!==false);}};




e.exports=o;});

/** js/lib/dom/scroll.js */
__d("legacy:dom-scroll",["DOMScroll"],function(a,b,c,d){



a.DOMScroll=b('DOMScroll');},

3);

/** js/modules/LinkController.js */
__d("LinkController",["Event","DataStore","Parent","trackReferrer"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('DataStore'),
i=b('Parent'),

j=b('trackReferrer'),

















k='LinkControllerHandler',
l=[],
m=[];

function n(event){
var r=i.byTag(event.getTarget(),'a'),









s=r&&r.getAttribute('href',2);

if(!s||
r.rel||
!p(s)||
h.get(r,k))
return;


var t=g.listen(r,'click',function(u){
if(s.charAt(s.length-1)=='#'){
u.prevent();
return;}

j(r,s);
o(r,u);});


h.set(r,k,t);}


function o(r,event){


if(r.target||r.rel||
event.getModifiers().any||
(event.which&&event.which!=1))
return;

var s=l.concat(m);
for(var t=0,u=s.length;t<u;t++)
if(s[t](r,event)===false)
return event.prevent();}




function p(r){
var s=r.match(/^(\w+):/);
return !s||s[1].match(/^http/i);}


var q=






{registerHandler:function(r){
l.push(r);},










registerFallbackHandler:function(r){
m.push(r);}};













g.listen(document.documentElement,'mousedown',n);
g.listen(document.documentElement,'keydown',n);

e.exports=q;});

/** js/lib/event/link_controller.js */
__d("legacy:link-controller",["LinkController"],function(a,b,c,d){



a.LinkController=b('LinkController');},

3);

/** js/modules/OnloadHooks.js */
__d("OnloadHooks",["Arbiter","ErrorUtils","InitialJSLoader","OnloadEvent"],function(a,b,c,d,e,f){



var g=b('Arbiter'),
h=b('ErrorUtils'),
i=b('InitialJSLoader'),
j=b('OnloadEvent');







function k(){
var r=a.CavalryLogger;
if(!window.loaded&&r)
r.getInstance().setTimeStamp('t_prehooks');


n('onloadhooks');

if(!window.loaded&&r)
r.getInstance().setTimeStamp('t_hooks');


window.loaded=true;
g.inform('uipage_onload',true,g.BEHAVIOR_STATE);}


function l(){
n('onafterloadhooks');
window.afterloaded=true;}


function m(r,s){
return h.applyWithGuard(r,null,null,function(t){
t.event_type=s;
t.category='runhook';});}



function n(r){
var s=(r=='onbeforeleavehooks')||
(r=='onbeforeunloadhooks');


do{var t=window[r];
if(!t)
break;

if(!s)
window[r]=null;


for(var u=0;u<t.length;u++){
var v=m(t[u],r);
if(s&&v)
return v;}}while(


!s&&window[r]);}


































function o(){
if(!window.loaded){
window.loaded=true;
n('onloadhooks');}

if(!window.afterloaded){
window.afterloaded=true;
n('onafterloadhooks');}}



function p(){
g.registerCallback(k,
[j.ONLOAD_DOMCONTENT_CALLBACK,
i.INITIAL_JS_READY]);


g.registerCallback(l,
[j.ONLOAD_DOMCONTENT_CALLBACK,
j.ONLOAD_CALLBACK,
i.INITIAL_JS_READY]);


g.subscribe(j.ONBEFOREUNLOAD,function(r,s){
s.warn=n('onbeforeleavehooks')||
n('onbeforeunloadhooks');
if(!s.warn){
window.loaded=false;
window.afterloaded=false;}},

g.SUBSCRIBE_NEW);

g.subscribe(j.ONUNLOAD,function(r,s){
n('onunloadhooks');},
g.SUBSCRIBE_NEW);}


var q=
{_onloadHook:k,
_onafterloadHook:l,
runHook:m,
runHooks:n,
keepWindowSetAsLoaded:o};



p();


a.OnloadHooks=e.exports=q;});

/** js/lib/event/onload_action.js */
__d("legacy:onload-action",["OnloadHooks"],function(a,b,c,d){



var e=b('OnloadHooks');

a._onloadHook=e._onloadHook;
a._onafterloadHook=e._onafterloadHook;
a.runHook=e.runHook;
a.runHooks=e.runHooks;
a.keep_window_set_as_loaded=e.keepWindowSetAsLoaded;},

3);

/** js/lib/form/input.js */
__d("legacy:input-methods",["Input","copyProperties"],function(a,b,c,d){



var e=b('Input'),

f=b('copyProperties');

f(a.Input||(a.Input={}),e);},

3);

/** js/lib/math/vector.js */
__d("legacy:vector",["Vector"],function(a,b,c,d){



a.Vector2=b('Vector');},

3);

/** js/lib/ua/ua.js */
__d("legacy:ua",["UserAgent"],function(a,b,c,d){



a.ua=b('UserAgent');},

3);

/** js/lib/ui/animation.js */
__d("legacy:animation",["Animation"],function(a,b,c,d){



a.animation=b('Animation');},

3);

/** js/ui/xhp/button/Button.js */
__d("Button",["CSS","DataStore","DOM","Event","Parent","cx","emptyFunction"],function(a,b,c,d,e,f){





var g=b('CSS'),
h=b('DataStore'),
i=b('DOM'),
j=b('Event'),
k=b('Parent'),

l=b('cx'),
m=b('emptyFunction'),

n='uiButtonDisabled',
o='uiButtonDepressed',
p="_42fr",
q="_42fs",
r='button:blocker',
s='href',
t='ajaxify';

function u(aa,ba){
var ca=h.get(aa,r);
if(ba){
if(ca){
ca.remove();
h.remove(aa,r);}}else

if(!ca)
h.set
(aa,
r,
j.listen
(aa,'click',m.thatReturnsFalse,j.Priority.URGENT));}





function v(aa){
var ba=k.byClass(aa,'uiButton')||
k.byClass(aa,"_42ft");
if(!ba)
throw new Error('invalid use case');

return ba;}


function w(aa){
return i.isNodeOfType(aa,'a');}


function x(aa){
return i.isNodeOfType(aa,'button');}


function y(aa){
return g.hasClass(aa,"_42fu");}


var z=






{getInputElement:function(aa){
aa=v(aa);
if(w(aa))
throw new Error('invalid use case');

return x(aa)?aa:i.find(aa,'input');},








isEnabled:function(aa){
return !(g.hasClass(v(aa),n)||
g.hasClass(v(aa),p));},








setEnabled:function(aa,ba){
aa=v(aa);
var ca=y(aa)?p:n;
g.conditionClass(aa,ca,!ba);

if(w(aa)){
var da=aa.href,
ea=aa.getAttribute('ajaxify'),
fa=h.get(aa,s,'#'),
ga=h.get(aa,t);
if(ba){
if(!da)
aa.href=fa;

if(!ea&&ga)
aa.setAttribute('ajaxify',ga);

aa.removeAttribute('tabIndex');}else{

if(da&&da!==fa)
h.set(aa,s,da);

if(ea&&ea!==ga)
h.set(aa,t,ea);

aa.removeAttribute('href');
aa.removeAttribute('ajaxify');
aa.setAttribute('tabIndex','-1');}


u(aa,ba);}else{

var ha=z.getInputElement(aa);
ha.disabled=!ba;

u(ha,ba);}},









setDepressed:function(aa,ba){
aa=v(aa);
var ca=y(aa)?
q:
o;
g.conditionClass(aa,ca,ba);},








isDepressed:function(aa){
aa=v(aa);
var ba=y(aa)?
q:
o;
return g.hasClass(aa,ba);},









setLabel:function(aa,ba){
aa=v(aa);
if(y(aa)){
var ca=[];
if(ba)
ca.push(ba);

var da=i.scry(aa,'.img')[0];
if(da)
if(aa.firstChild==da){
ca.unshift(da);}else 

ca.push(da);


i.setContent(aa,ca);}else
if(w(aa)){
var ea=i.find(aa,'span.uiButtonText');
i.setContent(ea,ba);}else 

z.getInputElement(aa).value=ba;

var fa=y(aa)?
"_42fv":
'uiButtonNoText';
g.conditionClass(aa,fa,!ba);},








setIcon:function(aa,ba){
if(ba&&!i.isNode(ba))
return;

aa=v(aa);
var ca=i.scry(aa,'.img')[0];
if(!ba){
ca&&i.remove(ca);
return;}

g.addClass(ba,'customimg');
if(ca!=ba)
if(ca){
i.replace(ca,ba);}else 

i.prependContent(aa,ba);}};





e.exports=z;});

/** js/modules/ContextualThing.js */
__d("ContextualThing",["DOM","ge"],function(a,b,c,d,e,f){



var g=b('DOM'),
h=b('ge'),
















i=
{register:function(j,k){
j.setAttribute('data-ownerid',g.getID(k));},


containsIncludingLayers:function(j,k){
while(k){
if(g.contains(j,k))
return true;

k=i.getContext(k);}

return false;},


getContext:function(j){
var k;
while(j){
if(j.getAttribute&&
(k=j.getAttribute('data-ownerid')))
return h(k);

j=j.parentNode;}

return null;}};



e.exports=i;});

/** js/modules/Locale.js */
__d("Locale",["Style"],function(a,b,c,d,e,f){



var g=b('Style'),

h,

i=

{isRTL:function(){
if(h===undefined)
h=('rtl'===g.get(document.body,'direction'));

return h;}};




e.exports=i;});

/** js/modules/getOverlayZIndex.js */
__d("getOverlayZIndex",["Style"],function(a,b,c,d,e,f){



var g=b('Style');












function h(i,j){
j=j||document.body;
var k=[];
while(i&&i!==j){
k.push(i);
i=i.parentNode;}

if(i!==j)

return 0;

for(var l=k.length-1;l>=0;l--){
var m=k[l];
if(g.get(m,'position')!='static'){
var n=parseInt(g.get(m,'z-index'),10);
if(!isNaN(n))
return n;}}



return 0;}


e.exports=h;});

/** js/modules/Dialog.js */
__d("Dialog",["array-extensions","Event","Animation","Arbiter","AsyncRequest","Bootloader","Button","ContextualThing","CSS","DOM","Focus","Form","HTML","Keys","Locale","Parent","Run","Style","URI","UserAgent","Vector","bind","copyProperties","createArrayFrom","emptyFunction","getObjectValues","getOverlayZIndex","tx"],function(a,b,c,d,e,f){












































b('array-extensions');
var g=b('Event'),

h=b('Animation'),
i=b('Arbiter'),
j=b('AsyncRequest'),
k=b('Bootloader'),
l=b('Button'),
m=b('ContextualThing'),
n=b('CSS'),
o=b('DOM'),
p=b('Focus'),
q=b('Form'),
r=b('HTML'),
s=b('Keys'),
t=b('Locale'),
u=b('Parent'),
v=b('Run'),
w=b('Style'),
x=b('URI'),
y=b('UserAgent'),
z=b('Vector'),

aa=b('bind'),
ba=b('copyProperties'),
ca=b('createArrayFrom'),
da=b('emptyFunction'),
ea=b('getObjectValues'),
fa=b('getOverlayZIndex'),
ga=b('tx'),

ha=function(){
var ja=document.body,
ka=document.createElement('div'),
la=document.createElement('div');

ja.insertBefore(ka,ja.firstChild);
ja.insertBefore(la,ja.firstChild);
ka.style.position='fixed';
ka.style.top='20px';

var ma=ka.offsetTop!==la.offsetTop;

ja.removeChild(ka);
ja.removeChild(la);


ha=bagof(ma);

return ma;};


function ia(ja){
this._show_loading=true;
this._auto_focus=true;
this._submit_on_enter=false;
this._fade_enabled=true;
this._onload_handlers=[];
this._top=125;
this._uniqueID='dialog_'+ia._globalCount++;

this._content=null;
this._obj=null;
this._popup=null;
this._overlay=null;
this._shim=null;
this._causal_elem=null;
this._previous_focus=null;
this._buttons=[];

this._buildDialog();

if(ja)
this._setFromModel(ja);


ia._init();}





ba(ia,
{OK:
{name:'ok',
label:"Okay"},


CANCEL:
{name:'cancel',
label:"Cancel",
className:'inputaux'},


CLOSE:
{name:'close',
label:"Close"},


NEXT:
{name:'next',
label:"Next"},


SAVE:
{name:'save',
label:"Save"},


SUBMIT:
{name:'submit',
label:"Submit"},


CONFIRM:
{name:'confirm',
label:"Confirm"},


DELETE:
{name:'delete',
label:"Delete"},


_globalCount:0,





_bottoms:[0],




max_bottom:0,



_updateMaxBottom:function(){
ia.max_bottom=
Math.max.apply(Math,ia._bottoms);}});





ba(ia,
{OK_AND_CANCEL:[ia.OK,ia.CANCEL],

_STANDARD_BUTTONS:[ia.OK,ia.CANCEL,ia.CLOSE,ia.SAVE,
ia.SUBMIT,ia.CONFIRM,ia.DELETE],












SIZE:
{WIDE:555,
STANDARD:445},






_HALO_WIDTH:10,





_BORDER_WIDTH:1,





_PADDING_WIDTH:10,





_PAGE_MARGIN:40,

_stack:[],

_isUsingCSSBorders:function(){

return y.ie()<7;},










newButton:function(ja,ka,la,ma){
var na={name:ja,label:ka};
if(la)
na.className=la;

if(ma)
na.handler=ma;

return na;},


getCurrent:function(){
var ja=ia._stack;
return ja.length?ja[ja.length-1]:null;},


hideCurrent:function(){
var ja=ia.getCurrent();
ja&&ja.hide();},



















bootstrap:function(ja,ka,la,ma,na,oa){
ka=ka||{};


ba(ka,new x(ja).getQueryData());

ma=ma||(la?'GET':'POST');

var pa=u.byClass(oa,'stat_elem')||oa;
if(pa&&n.hasClass(pa,'async_saving'))
return false;


var qa=new j().
setReadOnly(!!la).
setMethod(ma).
setRelativeTo(oa).
setStatusElement(pa).
setURI(ja).
setNectarModuleDataSafe(oa).
setData(ka),
ra=new ia(na).
setCausalElement(oa).
setAsync(qa);

ra.show();


return false;},






showFromModel:function(ja,ka){
var la=new ia(ja).setCausalElement(ka).show();

if(ja.hiding)
la.hide();},



_init:function(){

this._init=da;


v.onLeave(ia._tearDown.shield(null,false));
i.subscribe('page_transition',ia._tearDown.shield(null,true));





g.listen(document.documentElement,'keydown',function(event){




if(g.getKeyCode(event)==s.ESC&&!event.getModifiers().any){
if(ia._escape())
event.kill();}else

if(g.getKeyCode(event)==s.RETURN&&
!event.getModifiers().any)
if(ia._enter())
event.kill();});




g.listen(window,'resize',function(event){
var ja=ia.getCurrent();
ja&&ja._resetDialogObj();});},



_findButton:function(ja,ka){
if(ja)
for(var la=0;la<ja.length;++la)
if(ja[la].name==ka)
return ja[la];



return null;},


_tearDown:function(ja){
var ka=ia._stack.slice();
for(var la=ka.length-1;la>=0;la--)
if((ja&&!ka[la]._cross_transition)||
(!ja&&!ka[la]._cross_quickling))
ka[la].hide();},










_escape:function(){
var ja=ia.getCurrent();
if(!ja)
return false;


var ka=ja._semi_modal,
la=ja._buttons;

if(!la.length&&!ka)
return false;


if(ka&&!la.length){
ja.hide();
return true;}


var ma,
na=ia._findButton(la,'cancel');
if(ja._cancelHandler){
ja.cancel();
return true;}else
if(na){
ma=na;}else
if(la.length==1){
ma=la[0];}else 

return false;


ja._handleButton(ma);
return true;},








_enter:function(){
var ja=ia.getCurrent();
if(!ja||!ja._submit_on_enter)
return false;



if(document.activeElement!=ja._frame)
return false;


var ka=ja._buttons;
if(!ka)
return false;


ja._handleButton(ka[0]);
return true;},





call_or_eval:function(ja,ka,la){
if(!ka)
return undefined;

la=la||{};
if(typeof ka=='string'){
var ma=Object.keys(la).join(', ');
ka=(eval)('({f: function('+ma+') { '+ka+'}})').f;}

return ka.apply(ja,ea(la));}});




ba(ia.prototype,





{_cross_quickling:false,





_cross_transition:false,




_loading:false,




_showing:false,









show:function(){
this._showing=true;
if(this._async_request){
if(this._show_loading)
this.showLoading();}else 


this._update();

return this;},


showLoading:function(){
this._loading=true;
n.addClass(this._frame,'dialog_loading_shown');
this._renderDialog();
return this;},





hide:function(){


if(!this._showing&&!this._loading)
return this;

this._showing=false;
if(this._autohide_timeout){
clearTimeout(this._autohide_timeout);
this._autohide_timeout=null;}

if(this._fade_enabled&&ia._stack.length<=1){
this._fadeOut();}else 


this._hide();

return this;},





cancel:function(){
if(!this._cancelHandler||this._cancelHandler()!==false)
this.hide();},



getRoot:function(){
return this._obj;},






getBody:function(){
return o.scry(this._obj,'div.dialog_body')[0];},










getButtonElement:function(ja){
if(typeof ja=='string')
ja=ia._findButton(this._buttons,ja);

if(!ja||!ja.name)
return null;


var ka=o.scry(this._popup,'input'),
la=function(ma){return ma.name==ja.name;};
return ka.filter(la)[0]||null;},







getContentNode:function(){
return o.find(this._content,'div.dialog_content');},


getFormData:function(){
return q.serialize(this.getContentNode());},


















setAllowCrossPageTransition:function(ja){
this._cross_transition=ja;
return this;},








setAllowCrossQuicklingNavigation:function(ja){
this._cross_quickling=ja;
return this;},





setShowing:function(){
this.show();
return this;},





setHiding:function(){
this.hide();
return this;},






setTitle:function(ja){
var ka=this._nodes.title,
la=this._nodes.title_inner,
ma=this._nodes.content;
o.setContent(la,this._format(ja||''));
n.conditionShow(ka,!!ja);
n.conditionClass(ma,'dialog_content_titleless',!ja);
return this;},





setBody:function(ja){
o.setContent(this._nodes.body,this._format(ja));
return this;},





setExtraData:function(ja){
this._extra_data=ja;
return this;},








setReturnData:function(ja){
this._return_data=ja;
return this;},






setShowLoading:function(ja){
this._show_loading=ja;
return this;},






setFullBleed:function(ja){
this._full_bleed=ja;
this._updateWidth();
n.conditionClass(this._obj,'full_bleed',ja);
return this;},








setCausalElement:function(ja){
this._causal_elem=ja;
return this;},








setUserData:function(ja){
this._user_data=ja;
return this;},






getUserData:function(){
return this._user_data;},





setAutohide:function(ja){
if(ja){
if(this._showing){
this._autohide_timeout=setTimeout(this.hide.shield(this),ja);}else 

this._autohide=ja;}else{


this._autohide=null;
if(this._autohide_timeout){
clearTimeout(this._autohide_timeout);
this._autohide_timeout=null;}}


return this;},





setSummary:function(ja){
var ka=this._nodes.summary;
o.setContent(ka,this._format(ja||''));
n.conditionShow(ka,!!ja);
return this;},

























setButtons:function(ja){
var ka,la;








if(!(ja instanceof Array)){
ka=ca(arguments);}else 

ka=ja;


for(var ma=0;ma<ka.length;++ma)
if(typeof ka[ma]=='string'){
la=ia._findButton(ia._STANDARD_BUTTONS,ka[ma]);





ka[ma]=la;}



this._buttons=ka;

var na=[];
if(ka&&ka.length>0)
for(var oa=0;oa<ka.length;oa++){
la=ka[oa];

var pa=o.create
('input',
{type:'button',
name:la.name||'',
value:la.label}),





qa=o.create
('label',
{className:'uiButton uiButtonLarge uiButtonConfirm'},
pa);

if(la.className){

la.className.split(/\s+/).forEach(function(sa){
n.addClass(qa,sa);});



if(n.hasClass(qa,'inputaux')){
n.removeClass(qa,'inputaux');
n.removeClass(qa,'uiButtonConfirm');}




if(n.hasClass(qa,'uiButtonSpecial'))
n.removeClass(qa,'uiButtonConfirm');}



if(la.icon)


o.prependContent
(qa,
o.create('img',{src:la.icon,className:'img mrs'}));



if(la.disabled)
l.setEnabled(qa,false);


g.listen
(pa,
'click',
this._handleButton.bind(this,la.name));


for(var ra in la)
if(ra.indexOf('data-')===0&&ra.length>5)
pa.setAttribute(ra,la[ra]);



na.push(qa);}



o.setContent(this._nodes.buttons,na);
this._updateButtonVisibility();

return this;},






setButtonsMessage:function(ja){
o.setContent(this._nodes.button_message,this._format(ja||''));
this._has_button_message=!!ja;
this._updateButtonVisibility();
return this;},






_updateButtonVisibility:function(){
var ja=this._buttons.length>0||this._has_button_message;
n.conditionShow(this._nodes.button_wrapper,ja);
n.conditionClass(this._obj,'omitDialogFooter',!ja);},










setClickButtonOnEnter:function(ja,ka){









this._clickOnEnterTarget=ja;

if(!this._clickOnEnterListener)
this._clickOnEnterListener=
g.listen(this._nodes.body,'keypress',function(event){
var la=event.getTarget();
if(la&&la.id===this._clickOnEnterTarget)
if(g.getKeyCode(event)==s.RETURN){
this._handleButton(ka);

event.kill();}


return true;}.
bind(this));


return this;},












setStackable:function(ja,ka){






this._is_stackable=ja;
this._shown_while_stacked=ja&&ka;
return this;},








setHandler:function(ja){
this._handler=ja;
return this;},












setCancelHandler:function(ja){
this._cancelHandler=ia.call_or_eval.bind(null,this,ja);
return this;},







setCloseHandler:function(ja){
this._close_handler=ia.call_or_eval.bind(null,this,ja);
return this;},





clearHandler:function(){
return this.setHandler(null);},


























setPostURI:function(ja,ka){
if(ka===undefined)
ka=true;


if(ka){
this.setHandler(this._submitForm.bind(this,'POST',ja));}else 

this.setHandler(function(){
q.post(ja,this.getFormData());
this.hide();}.
bind(this));

return this;},






setGetURI:function(ja){
this.setHandler(this._submitForm.bind(this,'GET',ja));
return this;},






setModal:function(ja){






this._modal=ja;
n.conditionClass(this._obj,'generic_dialog_modal',ja);
return this;},









setSemiModal:function(ja){





if(ja){
this.setModal(true);
this._semiModalListener=g.listen(this._obj,'click',function(ka){
if(!o.contains(this._popup,ka.getTarget()))
this.hide();}.

bind(this));}else 

this._semiModalListener&&this._semiModalListener.remove();

this._semi_modal=ja;
return this;},







setWideDialog:function(ja){
this._wide_dialog=ja;
this._updateWidth();
return this;},









setContentWidth:function(ja){
this._content_width=ja;
this._updateWidth();
return this;},









setTitleLoading:function(ja){
if(ja===undefined)
ja=true;

var ka=o.find(this._popup,'h2.dialog_title');
if(ka)
n.conditionClass(ka,'loading',ja);

return this;},








setSecure:function(ja){
n.conditionClass(this._nodes.title,'secure',ja);
return this;},








setClassName:function(ja){
ja.split(/\s+/).forEach(n.addClass.bind(n,this._obj));
return this;},





setFadeEnabled:function(ja){
this._fade_enabled=ja;
return this;},






setFooter:function(ja){
var ka=this._nodes.footer;
o.setContent(ka,this._format(ja||''));
n.conditionShow(ka,!!ja);
return this;},






setAutoFocus:function(ja){
this._auto_focus=ja;
return this;},





setTop:function(ja){
this._top=ja;
this._resetDialogObj();
return this;},










onloadRegister:function(ja){
ca(ja).forEach(function(ka){
if(typeof ka=='string')
ka=new Function(ka);

this._onload_handlers.push(ka.bind(this));}.
bind(this));
return this;},







setAsyncURL:function(ja){
return this.setAsync(new j(ja));},
























setAsync:function(ja){

var ka=function(sa){
if(this._async_request!=ja)
return;

this._async_request=null;

var ta=sa.getPayload(),
ua=ta;

if(this._loading)
this._showing=true;


if(typeof ua=='string'){
this.setBody(ua);}else 

this._setFromModel(ua);


this._update();}.
bind(this),


la=ja.getData();
la.__d=1;
ja.setData(la);

var ma=ja.getHandler()||da;
ja.setHandler(function(sa){
ma(sa);
ka(sa);});

var na=ja,

oa=
na.getErrorHandler()||da,
pa=
na.getTransportErrorHandler()||da,

qa=function(){
this._async_request=null;
this._loading=false;
if(this._showing&&this._shown_while_stacked){
this._update();}else 

this._hide(this._is_stackable);}.

bind(this),

ra=
na.getServerDialogCancelHandler()||qa;

na.
setAllowCrossPageTransition(this._cross_transition).
setErrorHandler(function(sa){
qa();
oa(sa);}).

setTransportErrorHandler(function(sa){
qa();
pa(sa);}).

setServerDialogCancelHandler(ra);

ja.send();

this._async_request=ja;
if(this._showing)
this.show();

return this;},


_format:function(ja){




if(typeof ja=='string'){
ja=r(ja);}else 

ja=r.replaceJSONWrapper(ja);

if(ja instanceof r)
ja.setDeferred(true);

return ja;},


_update:function(){
if(!this._showing)
return;



if(this._autohide&&
!this._async_request&&
!this._autohide_timeout)
this._autohide_timeout=setTimeout(aa(this,'hide'),this._autohide);


n.removeClass(this._frame,'dialog_loading_shown');
this._loading=false;

this._renderDialog();
this._runOnloads();


this._previous_focus=document.activeElement;
p.set(this._frame);},





_runOnloads:function(){
for(var ja=0;ja<this._onload_handlers.length;++ja)





try{this._onload_handlers[ja]();}catch(
ka){}


this._onload_handlers=[];},


_updateWidth:function(){
var ja=2*ia._BORDER_WIDTH;
if(ia._isUsingCSSBorders())



ja+=2*ia._HALO_WIDTH;

if(this._content_width){
ja+=this._content_width;
if(!this._full_bleed)

ja+=2*ia._PADDING_WIDTH;}else

if(this._wide_dialog){
ja+=ia.SIZE.WIDE;}else 

ja+=ia.SIZE.STANDARD;

this._popup.style.width=ja+'px';},


_updateZIndex:function(){
if(!this._hasSetZIndex&&this._causal_elem){
var ja=fa(this._causal_elem),
ka=this._causal_elem;
while(!ja&&(ka=m.getContext(ka)))
ja=fa(ka);





this._hasSetZIndex=ja>(this._modal?400:200);

w.set(this._obj,'z-index',this._hasSetZIndex?ja:'');}},






_renderDialog:function(){
this._updateZIndex();
this._pushOntoStack();


this._obj.style.height=(this._modal&&y.ie()<7)?
z.getDocumentDimensions().y+'px':
null;


if(this._obj&&this._obj.style.display){
this._obj.style.visibility='hidden';
this._obj.style.display='';
this.resetDialogPosition();
this._obj.style.visibility='';



this._obj.dialog=this;}else 

this.resetDialogPosition();



clearInterval(this.active_hiding);
this.active_hiding=setInterval(this._activeResize.bind(this),500);

this._submit_on_enter=false;
if(this._auto_focus){


var ja=q.getFirstElement(this._content,
['input[type="text"]',
'textarea',
'input[type="password"]']);

if(ja){
q.focusFirst.bind(this,this._content).defer();}else 




this._submit_on_enter=true;}



var ka=z.getElementDimensions(this._content).y+
z.getElementPosition(this._content).y;
ia._bottoms.push(ka);
this._bottom=ka;
ia._updateMaxBottom();

return this;},


_buildDialog:function(){
this._obj=o.create('div',
{className:'generic_dialog',
id:this._uniqueID});

this._obj.style.display='none';



o.appendContent(document.body,this._obj);

if(!this._popup)
this._popup=o.create('div',{className:'generic_dialog_popup'});

this._obj.appendChild(this._popup);


if(y.ie()<7&&!this._shim)
k.loadModules(['IframeShim'],function(va){
this._shim=new va(this._popup);});



n.addClass(this._obj,'pop_dialog');
if(t.isRTL())
n.addClass(this._obj,'pop_dialog_rtl');


var ja;
if(ia._isUsingCSSBorders()){
ja=
'<div class="pop_container_advanced">'+
'<div class="pop_content" id="pop_content"></div>'+
'</div>';}else 

ja=
'<div class="pop_container">'+
'<div class="pop_verticalslab"></div>'+
'<div class="pop_horizontalslab"></div>'+
'<div class="pop_topleft"></div>'+
'<div class="pop_topright"></div>'+
'<div class="pop_bottomright"></div>'+
'<div class="pop_bottomleft"></div>'+
'<div class="pop_content pop_content_old" id="pop_content"></div>'+
'</div>';

o.setContent(this._popup,r(ja));

var ka=o.find(this._popup,'div.pop_content');
ka.setAttribute('tabIndex','0');
ka.setAttribute('role','alertdialog');
this._frame=this._content=ka;

var la=o.create
('div',
{className:'dialog_loading'},
"Loading..."),
ma=o.create('span'),
na=o.create
('h2',
{className:'dialog_title hidden_elem',
id:'title_'+this._uniqueID},
ma),
oa=o.create('div',{className:'dialog_summary hidden_elem'}),
pa=o.create('div',{className:'dialog_body'}),
qa=o.create('div',{className:'rfloat mlm'}),
ra=o.create('div',{className:'dialog_buttons_msg'}),
sa=o.create
('div',
{className:'dialog_buttons clearfix hidden_elem'},
[qa,ra]),
ta=o.create('div',{className:'dialog_footer hidden_elem'}),
ua=o.create
('div',
{className:'dialog_content'},
[oa,pa,sa,ta]);

this._nodes=
{summary:oa,
body:pa,
buttons:qa,
button_message:ra,
button_wrapper:sa,
footer:ta,
content:ua,
title:na,
title_inner:ma};


o.setContent(this._frame,[na,ua,la]);},


_updateShim:function(){
return this._shim&&this._shim.show();},


_activeResize:function(){
if(this.last_offset_height!=this._content.offsetHeight){
this.last_offset_height=this._content.offsetHeight;
this.resetDialogPosition();}},



resetDialogPosition:function(){
if(!this._popup)
return;

this._resetDialogObj();
this._updateShim();},


_resetDialogObj:function(){
var ja=2*ia._PAGE_MARGIN,
ka=z.getViewportDimensions(),
la=ka.x-ja,
ma=ka.y-ja,

na=2*ia._HALO_WIDTH,
oa=z.getElementDimensions(this._content),
pa=oa.x+na,
qa=oa.y+na,

ra=this._top,

sa=la-pa,
ta=ma-qa;

if(ta<0){



ra=ia._PAGE_MARGIN;}else
if(ra>ta)


ra=ia._PAGE_MARGIN+(Math.max(ta,0)/2);




var ua=ha();
if(!ua)
ra+=z.getScrollPosition().y;


w.set(this._popup,'marginTop',ra+'px');


var va=ua&&(sa<0||ta<0);
n.conditionClass(this._obj,'generic_dialog_fixed_overflow',va);
n.conditionClass
(document.documentElement,
'generic_dialog_overflow_mode',
va);},


_fadeOut:function(ja){
if(!this._popup)
return;


try{new h(this._obj).
duration(0).
checkpoint().
to('opacity',0).
hide().
duration(250).
ondone(this._hide.bind(this,ja)).
go();}catch(
ka){
this._hide(ja);}},



_hide:function(ja){
if(this._obj)
this._obj.style.display='none';


n.removeClass(document.documentElement,'generic_dialog_overflow_mode');
this._updateShim();

clearInterval(this.active_hiding);

if(this._bottom){

var ka=ia._bottoms;
ka.splice(ka.indexOf(this._bottom),1);
ia._updateMaxBottom();}



if(this._previous_focus&&
document.activeElement&&
o.contains(this._obj,document.activeElement))
p.set(this._previous_focus);


if(ja)
return;

this.destroy();},








destroy:function(){
this._popFromStack();


if(this._obj){
o.remove(this._obj);
this._obj=null;

this._shim&&this._shim.hide();
this._shim=null;}


this._clickOnEnterListener&&this._clickOnEnterListener.remove();

if(this._close_handler)


this._close_handler({return_data:this._return_data});},









_handleButton:function(ja){
if(typeof ja=='string')
ja=ia._findButton(this._buttons,ja);








var ka=ia.call_or_eval(ja,ja.handler);
if(ka===false)
return;


if(ja.name=='cancel'){
this.cancel();}else
if(ia.call_or_eval(this,this._handler,{button:ja})!==
false)
this.hide();},



_submitForm:function(ja,ka,la){
var ma=this.getFormData();

if(la)
ma[la.name]=la.label;


if(this._extra_data)
ba(ma,this._extra_data);


var na=new j().
setURI(ka).
setData(ma).
setMethod(ja).
setNectarModuleDataSafe(this._causal_elem).
setReadOnly(ja=='GET');
this.setAsync(na);
return false;},


_setFromModel:function(ja){
var ka={};
ba(ka,ja);

for(var la in ka){
if(la=='onloadRegister'){
this.onloadRegister(ka[la]);
continue;}


var ma=this['set'+la.substr(0,1).toUpperCase()+
la.substr(1)];






ma.apply(this,ca(ka[la]));}},



_updateBottom:function(){
var ja=z.getElementDimensions(this._content).y+
z.getElementPosition(this._content).y;

ia._bottoms[ia._bottoms.length-1]=ja;
ia._updateMaxBottom();},


_pushOntoStack:function(){
var ja=ia._stack;

if(!ja.length)
i.inform('layer_shown',{type:'Dialog'});



ja.remove(this);
ja.push(this);


for(var ka=ja.length-2;ka>=0;ka--){
var la=ja[ka];
if(!la._is_stackable&&!la._async_request){
la._hide();}else
if(!la._shown_while_stacked)
la._hide(true);}},




_popFromStack:function(){
var ja=ia._stack,


ka=(ja[ja.length-1]===this);

ja.remove(this);

if(ja.length){

if(ka)
ja[ja.length-1].show();}else 


i.inform('layer_hidden',{type:'Dialog'});}});





e.exports=ia;});

/** js/lib/ui/dialog.js */
__d("legacy:dialog",["Dialog"],function(a,b,c,d){



var e=b('Dialog');
a.Dialog=e;},

3);

/** js/lib/util/array.js */
__d("legacy:array-utils",["createArrayFrom","hasArrayNature"],function(a,b,c,d){



a.$A=b('createArrayFrom');
a.hasArrayNature=b('hasArrayNature');},

3);

/** js/modules/utils/throttle.js */
__d("throttle",[],function(a,b,c,d,e,f){

























function g(h,i,j,k){
if(i==null)
i=100;


var l,m,n,o,p,

q,
r,
s,
t=0,
u=Math.min(i,100);


function v(){
r&&h.call(j,l,m,n,o,p);
r=false;}


return function w(x,y,z,aa,ba){
r=true;
l=x;
m=y;
n=z;
o=aa;
p=ba;
q=Date.now();

var ca=s?i:u;
if(q-t-i>ca){
s=null;
v();}


if(!s){
t=q;

s=setTimeout(function(){
s=null;
v();},
i,!k);}};}




e.exports=g;});

/** js/modules/deferUntil.js */
__d("deferUntil",[],function(a,b,c,d,e,f){




























function g
(h,
i,
j,
k,
l){











var m=i();
if(m){
h(m);
return null;}


var n=Date.now(),
o=setInterval(function(){
m=i();
if(!m){
if(!j||(j<new Date()-n))
return;

l&&l();}

clearInterval(o);
h(m);},
20,k);
return o;}


e.exports=g;});

/** js/lib/util/function_utils.js */
__d("legacy:function-utils",["debounce","throttle","deferUntil"],function(a,b,c,d){



a.debounce=b('debounce');
a.throttle=b('throttle');
a.defer_until=b('deferUntil');},

3);

/** js/modules/computeRelativeURI.js */
__d("computeRelativeURI",["URI","isEmpty"],function(a,b,c,d,e,f){



var g=b('URI'),

h=b('isEmpty');








function i(k,l){
if(!l)
return k;

if(l.charAt(0)=='/')
return l;


var m=k.split('/').slice(0,-1);
m[0]!=='';



l.split('/').forEach(function(n){
if(!(n=='.'))

if(n=='..'){
if(m.length>1)
m=m.slice(0,-1);}else 


m.push(n);});


return m.join('/');}

























function j(k,l){
var m=new g(),n=l;
k=new g(k);
l=new g(l);
if(l.getDomain()&&!l.isFacebookURI())



return n;


var o=k,
p=['Protocol','Domain','Port',
'Path','QueryData','Fragment'];
p.forEach(function(q){
var r=q=='Path'&&o===k;
if(r)
m.setPath(i(k.getPath(),l.getPath()));


if(!h(l['get'+q]()))



o=l;


if(!r)
m['set'+q](o['get'+q]());});



return m;}


e.exports=j;});

/** js/modules/goOrReplace.js */
__d("goOrReplace",["URI","UserAgent"],function(a,b,c,d,e,f){



var g=b('URI'),
h=b('UserAgent');












function i(j,k,l){











var m=new g(k);

if(j.pathname=='/'&&m.getPath()!='/'&&
m.isQuicklingEnabled()){








var n=j.search?{}:{q:''};
m=new g().
setPath('/').
setQueryData(n).
setFragment(m.getUnqualifiedURI()).
toString();

k=m.toString();}







if(l&&!(h.ie()<8)){
j.replace(k);}else
if(j.href==k){
j.reload();}else 

j.href=k;}



e.exports=i;});

/** js/modules/HistoryManager.js */
__d("HistoryManager",["Event","function-extensions","Cookie","Env","URI","UserAgent","copyProperties","emptyFunction","goOrReplace"],function(a,b,c,d,e,f){



var g=b('Event');
b('function-extensions');

var h=b('Cookie'),
i=b('Env'),
j=b('URI'),
k=b('UserAgent'),

l=b('copyProperties'),
m=b('emptyFunction'),
n=b('goOrReplace'),

















o=

{_IFRAME_BASE_URI:'http://static.ak.facebook.com/common/history_manager.php',

history:null,
current:0,
fragment:null,

_setIframeSrcFragment:function(p){
p=p.toString();
var q=o.history.length-1;








o.iframe.src=o._IFRAME_BASE_URI+
'?|index='+q+'#'+encodeURIComponent(p);
return o;},


getIframeSrcFragment:function(){
return decodeURIComponent
(j(o.iframe.contentWindow.document.location.href).
getFragment());},


nextframe:function(p,q){


if(q){






o._setIframeSrcFragment(p);
return;}


if(p!==undefined){
o.iframeQueue.push(p);}else{

o.iframeQueue.splice(0,1);
o.iframeTimeout=null;





o.checkURI();}


if(o.iframeQueue.length&&!o.iframeTimeout){
var r=o.iframeQueue[0];
o.iframeTimeout=setTimeout(function(){
o._setIframeSrcFragment(r);},
100,false);}},




isInitialized:function(){
return !!o._initialized;},


init:function(){


if(!i.ALLOW_TRANSITION_IN_IFRAME&&window!=window.top)







return;

if(o._initialized)
return o;


var p=j(),
q=p.getFragment()||'';
if(q.charAt(0)==='!'){
q=q.substr(1);
p.setFragment(q);}



if(j.getRequestURI(false).getProtocol().toLowerCase()=='https')
o._IFRAME_BASE_URI=
'https://s-static.ak.facebook.com/common/history_manager.php';


l(o,
{_initialized:true,
fragment:q,
orig_fragment:q,
history:[p],
callbacks:[],
lastChanged:Date.now(),
canonical:j('#'),
fragmentTimeout:null,
user:0,
iframeTimeout:null,
iframeQueue:[],
enabled:true,
debug:m});


if(window.history&&history.pushState){
this.lastURI=document.URL;
window.history.replaceState(this.lastURI,null);
g.listen(window,'popstate',function(r){
if(r&&r.state&&o.lastURI!=r.state){
o.lastURI=r.state;
o.lastChanged=Date.now();
o.notify
(j(r.state).getUnqualifiedURI().toString());}}.

bind(o));
if(k.webkit()<534||k.chrome()<=13){
setInterval(o.checkURI,42,false);
o._updateRefererURI(this.lastURI);}

return o;}



o._updateRefererURI(j.getRequestURI(false));


if(k.webkit()<500||k.firefox()<2){
o.enabled=false;
return o;}


if(k.ie()<8){
o.iframe=document.createElement('iframe');

l(o.iframe.style,
{width:'0',
height:'0',
frameborder:'0',
left:'0',
top:'0',
position:'absolute'});


o._setIframeSrcFragment(q);
document.body.insertBefore(o.iframe,document.body.firstChild);}else
if('onhashchange' in window){








g.listen(window,'hashchange',
function(){o.checkURI.bind(o).defer();});}else 

setInterval(o.checkURI,42,false);


return o;},


registerURIHandler:function(p){
o.callbacks.push(p);
return o;},



















setCanonicalLocation:function(p){
o.canonical=j(p);
return o;},


notify:function(p){
if(p==o.orig_fragment)
p=o.canonical.getFragment();


for(var q=0;q<o.callbacks.length;q++)

try{if(o.callbacks[q](p))
return true;}catch(

r){


}



return false;},


checkURI:function(){

















if(Date.now()-o.lastChanged<400)
return;


if(window.history&&history.pushState){
var p=j(document.URL).removeQueryData('ref').toString(),
q=
j(o.lastURI).removeQueryData('ref').toString();
if(p!=q){
o.lastChanged=Date.now();
o.lastURI=p;



if(k.webkit()<534)
o._updateRefererURI(p);

o.notify(j(p).getUnqualifiedURI().toString());}

return;}


if(k.ie()<8&&o.iframeQueue.length)
return;


if(k.webkit()&&window.history.length==200){

if(!o.warned)
o.warned=true;





return;}


var r=j().getFragment();

if(r.charAt(0)=='!')
r=r.substr(1);


if(k.ie()<8)
r=o.getIframeSrcFragment();









r=r.replace(/%23/g,'#');

if(r!=o.fragment.replace(/%23/g,'#')){

o.debug([r,' vs ',o.fragment,
'whl: ',window.history.length,
'QHL: ',o.history.length].join(' '));

for(var s=o.history.length-1;s>=0;--s)
if(o.history[s].getFragment().replace(/%23/g,'#')==
r)
break;








++o.user;
if(s>=0){
o.go(s-o.current);}else 

o.go('#'+r);

--o.user;}},








_updateRefererURI:function(p){
p=p.toString();
if(p.charAt(0)!='/'&&p.indexOf('//')==-1)

return;

var q=new j(window.location);
if(q.isFacebookURI()){
var r=q.getPath()+window.location.search;}else 

var r='';

var s=j(p).getQualifiedURI().setFragment(r).toString(),


t=2048;
if(s.length>t)
s=s.substring(0,t)+'...';

h.set('x-referer',s);},


go:function(p,q,r){

if(window.history&&history.pushState){
q||typeof(p)=='number';





var s=j(p).removeQueryData('ref').toString();
o.lastChanged=Date.now();
this.lastURI=s;
if(r){
window.history.replaceState(p,null,s);}else 

window.history.pushState(p,null,s);




if(k.webkit()<534)
o._updateRefererURI(p);

return false;}

o.debug('go: '+p);

if(q===undefined)
q=true;


if(!o.enabled)





if(!q)
return false;



if(typeof(p)=='number'){
if(!p)
return false;


var t=p+o.current,
u=Math.max(0,Math.min(o.history.length-1,t));

o.current=u;

t=o.history[u].getFragment()||o.orig_fragment;
t=j(t).removeQueryData('ref').getUnqualifiedURI().toString();













o.fragment=t;

o.lastChanged=Date.now();













if(k.ie()<8){







if(o.fragmentTimeout)
clearTimeout(o.fragmentTimeout);














o._temporary_fragment=t;
o.fragmentTimeout=setTimeout(function(){
window.location.hash='#!'+t;
delete o._temporary_fragment;},
750,false);

if(!o.user)
o.nextframe(t,r);}else


if(!o.user)
n(window.location,







window.location.href.split('#')[0]+'#!'+t,
r);


if(q)
o.notify(t);





o._updateRefererURI(t);

return false;}


p=j(p);
if(p.getDomain()==j().getDomain())
p=j('#'+p.getUnqualifiedURI());






var v=o.history[o.current].getFragment(),
w=p.getFragment();
if(w==v||(v==o.orig_fragment&&
w==o.canonical.getFragment())){
if(q)
o.notify(w);


o._updateRefererURI(w);

return false;}


if(r)
o.current--;


var x=(o.history.length-o.current)-1;

o.history.splice(o.current+1,x);
o.history.push(j(p));
return o.go(1,q,r);},






getCurrentFragment:function(){
var p=o._temporary_fragment!==undefined?
o._temporary_fragment:j.getRequestURI(false).getFragment();
return p==o.orig_fragment?
o.canonical.getFragment():p;}};




e.exports=o;});

/** js/modules/core/escapeJSQuotes.js */
__d("escapeJSQuotes",[],function(a,b,c,d,e,f){












function g(h){
if(typeof h=='undefined'||h==null||!h.valueOf())
return '';


return h.
toString().
replace(/\\/g,'\\\\').
replace(/\n/g,'\\n').
replace(/\r/g,'\\r').
replace(/"/g,'\\x22').
replace(/'/g,'\\\'').
replace(/</g,'\\x3c').
replace(/>/g,'\\x3e').
replace(/&/g,'\\x26');}


e.exports=g;});

/** js/modules/setTimeoutAcrossTransitions.js */
__d("setTimeoutAcrossTransitions",[],function(a,b,c,d,e,f){









function g(h,i){


return setTimeout(h,i,false);}


e.exports=g;});

/** js/modules/PageTransitions.js */
__d("PageTransitions",["Arbiter","Dialog","DOMQuery","DOMScroll","Env","Event","Form","HistoryManager","JSLogger","LinkController","OnloadHooks","Parent","URI","UserAgent","Vector","areObjectsEqual","clickRefAction","computeRelativeURI","copyProperties","escapeJSQuotes","ge","goOrReplace","htmlize","setTimeoutAcrossTransitions","startsWith","tx","userAction"],function(a,b,c,d,e,f){



var g=b('Arbiter'),
h=b('Dialog'),
i=b('DOMQuery'),
j=b('DOMScroll'),
k=b('Env'),
l=b('Event'),
m=b('Form'),
n=b('HistoryManager'),
o=b('JSLogger'),
p=b('LinkController'),
q=b('OnloadHooks'),
r=b('Parent'),
s=b('URI'),
t=b('UserAgent'),
u=b('Vector'),

v=b('areObjectsEqual'),
w=b('clickRefAction'),
x=b('computeRelativeURI'),
y=b('copyProperties'),
z=b('escapeJSQuotes'),
aa=b('ge'),
ba=b('goOrReplace'),
ca=b('htmlize'),
da=b('setTimeoutAcrossTransitions'),
ea=b('startsWith'),
fa=b('tx'),
ga=b('userAction'),


ha={};

function ia(pa,qa){
ha[pa.getUnqualifiedURI()]=qa;}


function ja(pa){
return ha[pa.getUnqualifiedURI()];}


function ka(pa){
delete ha[pa.getUnqualifiedURI()];}




var la=null;

function ma(event){
la=event.getTarget();

da(function(){
la=null;},
0);}










var na=

{_transition_handlers:[],
_scroll_locked:false,

isInitialized:function(){
return !!na._initialized;},






_init:function(){


if(!k.ALLOW_TRANSITION_IN_IFRAME&&window!=window.top)

return;


if(na._initialized)
return na;

na._initialized=true;

var pa=s.getRequestURI(false),
qa=pa.getUnqualifiedURI(),
ra=s(qa).setFragment(null),
sa=qa.getFragment();
if(sa.charAt(0)==='!'&&ra.toString()===sa.substr(1))



qa=ra;


y(na,
{_current_uri:qa,
_most_recent_uri:qa,
_next_uri:qa});







var ta;
if(ea(pa.getFragment(),'/')){

ta=pa.getFragment();}else 


ta=qa;


n.init().
setCanonicalLocation('#'+ta).
registerURIHandler(na._historyManagerHandler);


p.registerFallbackHandler(na._rewriteHref);
p.registerFallbackHandler(na._onlinkclick);

l.listen(document.documentElement,
{click:ma,
submit:na._onformsubmit});


l.listen(window,'scroll',function(){




if(!na._scroll_locked)
ia
(na._current_uri,
u.getScrollPosition());});




return na;},




































registerHandler:function(pa,qa){
na._init();

qa=qa||5;

if(!na._transition_handlers[qa])
na._transition_handlers[qa]=[];


na._transition_handlers[qa].push(pa);},







getCurrentURI:function(pa){
if(!na._current_uri&&!pa)







return new s(na._most_recent_uri);


return new s(na._current_uri);},









getMostRecentURI:function(){
return new s(na._most_recent_uri);},









getNextURI:function(){
return new s(na._next_uri);},











_rewriteHref:function(pa){
var qa=pa.getAttribute('href'),
ra=x
(na._most_recent_uri.getQualifiedURI(),
qa).toString();
if(qa!=ra)
pa.setAttribute('href',ra);},






_onlinkclick:function(pa){
oa.lookBusy(pa);
na.go(pa.getAttribute('href'));
return false;},





_onformsubmit:function(event){
var pa=event.getTarget();


if(m.getAttribute(pa,'rel')||m.getAttribute(pa,'target'))
return;


w('form',pa,event).
set_namespace('page_transition');
var qa=ga('page_transitions',pa,event,{mode:'DEDUP'}).
uai_fallback(null,'form'),
ra=a.ArbiterMonitor;
if(ra)
ra.initUA(qa,[pa]);


var sa=new s(m.getAttribute(pa,'action')||''),
ta=x
(na._most_recent_uri,
sa);

pa.setAttribute('action',ta.toString());
if((m.getAttribute(pa,'method')||'GET').toUpperCase()==='GET'){
var ua=m.serialize(pa),


va=la;
if(va&&
(i.isNodeOfType(va,'input')&&va.type==='submit'||
(va=r.byTag(va,'button')))&&va.name)
ua[va.name]=va.value;


na.go(ta.addQueryData(ua));
event.kill();}},











go:function(pa,qa){



var ra=new s(pa).removeQueryData('quickling').
getQualifiedURI();

o.create('pagetransition').
debug('go',{uri:ra.toString()});


ka(ra);











!qa&&w('uri',
{href:ra.toString()},
null,
'INDIRECT');








oa.lookBusy();

na._loadPage(ra,function(sa){
if(sa){
n.go(ra.toString(),false,qa);}else 

ba(window.location,ra,qa);});},








_historyManagerHandler:function(pa){
if(pa.charAt(0)!='/')
return false;

w('h',{href:pa});
ga('page_transitions').uai(null,'history_manager');

na._loadPage(new s(pa),function(qa){
if(!qa)
ba(window.location,pa,true);});

return true;},














_loadPage:function(pa,qa){
if(s(pa).getFragment()&&
v
(s(pa).setFragment(null).getQualifiedURI(),
s(na._current_uri).setFragment(null).getQualifiedURI())){


na._current_uri=na._most_recent_uri=pa;
na.restoreScrollPosition();
oa.stopLookingBusy();
return;}


var ra;
if(na._current_uri)
ra=ja(na._current_uri);



na._current_uri=null;

na._next_uri=pa;

if(ra)







j.scrollTo(ra,false);


var sa=function(){
na._scroll_locked=true;
var ua=na._handleTransition(pa);
qa&&qa(ua);},


ta=q.runHooks('onbeforeleavehooks');
if(ta){
oa.stopLookingBusy();
na._warnBeforeLeaving(ta,sa);}else 

sa();},

















_handleTransition:function(pa){
window.onbeforeleavehooks=undefined;
oa.lookBusy();


if(!pa.isSameOrigin())
return false;


var qa=window.AsyncRequest&&window.AsyncRequest.getLastID();
g.inform("pre_page_transition",
{from:na.getMostRecentURI(),to:pa});
for(var ra=na._transition_handlers.length-1;ra>=0;--ra){
var sa=na._transition_handlers[ra];
if(!sa)
continue;

for(var ta=sa.length-1;ta>=0;--ta)
if(sa[ta](pa)===true){

var ua={sender:this,uri:pa,id:qa};

try{g.inform("page_transition",ua);}catch(
va){







}



return true;}else 



sa.splice(ta,1);}




return false;},





unifyURI:function(){
na._current_uri=
na._most_recent_uri=
na._next_uri;},







transitionComplete:function(pa){
na._executeCompletionCallback();
oa.stopLookingBusy();
na.unifyURI();

if(!pa)
na.restoreScrollPosition();




try{if(document.activeElement&&
document.activeElement.nodeName==='A')
document.activeElement.blur();}catch(

qa){
}},


_executeCompletionCallback:function(){
if(na._completionCallback)
na._completionCallback();

na._completionCallback=null;},








setCompletionCallback:function(pa){
na._completionCallback=pa;},






rewriteCurrentURI:function(pa,qa){
na.registerHandler
(function(){
if(pa==
na.getMostRecentURI().getUnqualifiedURI().toString()){
na.transitionComplete();
return true;}});



na.go(qa,true);},










_warnBeforeLeaving:function(pa,qa){
new h().
setTitle("Are you sure you want to leave this page?").
setBody(ca(pa)).
setButtons


([{name:'leave_page',
label:"Leave this Page",
handler:qa},


{name:'continue_editing',
label:"Stay on this Page",
className:'inputaux'}]).



setModal(true).
show();},







restoreScrollPosition:function(){
na._scroll_locked=false;

var pa=na._current_uri,

qa=ja(pa);
if(qa){
j.scrollTo(qa,false);
return;}


function ra(ua){


if(!ua)
return null;

var va="a[name='"+z(ua)+"']";
return i.scry(document.body,va)[0]||aa(ua);}


var sa=ra(s(pa).getFragment());
if(sa){
var ta=u.getElementPosition(sa);
ta.x=0;
j.scrollTo(ta);}}},





oa=window._BusyUIManager||

{_looking_busy:false,


_original_cursors:[],


















lookBusy:function(pa){
if(pa)
oa._giveProgressCursor(pa);


if(oa._looking_busy)
return;

oa._looking_busy=true;

oa._giveProgressCursor(document.documentElement);},





stopLookingBusy:function(){
if(!oa._looking_busy)
return;

oa._looking_busy=false;

while(oa._original_cursors.length){
var pa=oa._original_cursors.pop(),
qa=pa[0],
ra=pa[1];
if(qa.style)
qa.style.cursor=ra||'';}},








_giveProgressCursor:function(pa){
if(!t.webkit()){
oa._original_cursors.push([pa,pa.style.cursor]);
pa.style.cursor='progress';}}};





e.exports=na;});

/** js/lib/util/page_transition.js */
__d("legacy:page-transitions",["computeRelativeURI","HistoryManager","PageTransitions"],function(a,b,c,d){



a.computeRelativeURI=b('computeRelativeURI');
a.HistoryManager=a.HistoryManager||b('HistoryManager');
a.PageTransitions=a.PageTransitions||b('PageTransitions');},

3);

/** js/listeners/forms/FlipDirectionOnKeypress.js */
__d("FlipDirectionOnKeypress",["Event","DOM","Input","Style"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('DOM'),
i=b('Input'),
j=b('Style');






g.listen(document.documentElement,'keyup',function(event){
var k=event.getTarget();
if(!h.isNodeOfType(k,['input','textarea']))return;
if(h.isNodeOfType(k,'input')&&k.type=='password')
return;

if(k.getAttribute('data-prevent-auto-flip'))return;
var l=i.getValue(k),
m=(k.style&&k.style.direction);

if(!m){
var n=0,
o=true;



for(var p=0;p<l.length;p++){
var q=l.charCodeAt(p);


if(q>=48){
if(o){
o=false;
n++;}



if(q>=1470&&q<=1920){
j.set(k,'direction','rtl');
return;}

if(n==5){
j.set(k,'direction','ltr');
return;}}else 


o=true;}}else 




if(l.length===0)
j.set(k,'direction','');});});

/** js/listeners/forms/PlaceholderOnsubmitFormListener.js */
__d("PlaceholderOnsubmitFormListener",["Event","Input"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('Input');

g.listen(document.documentElement,'submit',function(i){
var j=i.getTarget().getElementsByTagName('*');
for(var k=0;k<j.length;k++)
if(j[k].getAttribute('placeholder')&&
h.isEmpty(j[k]))
h.setValue(j[k],'');});});

/** js/modules/ARIA.js */
__d("ARIA",["DOM","emptyFunction","ge"],function(a,b,c,d,e,f){



var g=b('DOM'),

h=b('emptyFunction'),
i=b('ge'),

j,
k,

l=function(){
j=i('ariaAssertiveAlert');
if(!j){
j=g.create
('div',
{id:'ariaAssertiveAlert',
className:'accessible_elem',
'aria-live':'assertive'});

g.appendContent(document.body,j);}


k=i('ariaPoliteAlert');
if(!k){
k=j.cloneNode(false);
k.setAttribute('id','ariaPoliteAlert');
k.setAttribute('aria-live','polite');
g.appendContent(document.body,k);}


l=h;};


function m(o,p){
l();
var q=p?j:k;
g.setContent(q,o);}


var n=



{owns:function(o,p){






o.setAttribute('aria-owns',g.getID(p));},


setPopup:function(o,p){
var q=g.getID(p);
o.setAttribute('aria-owns',q);
o.setAttribute('aria-controls',q);
o.setAttribute('aria-haspopup','true');
if(o.tabIndex==-1)
o.tabIndex=0;},



announce:function(o){
m(o,true);},


notify:function(o){
m(o);}};



e.exports=n;});

/** js/modules/AjaxPipeRequest.js */
__d("AjaxPipeRequest",["Arbiter","AsyncRequest","BigPipe","CSS","DOM","Env","JSCC","ScriptPathState","URI","copyProperties","goOrReplace","ge"],function(a,b,c,d,e,f){









var g=b('Arbiter'),
h=b('AsyncRequest'),
i=b('BigPipe'),
j=b('CSS'),
k=b('DOM'),
l=b('Env'),
m=b('JSCC'),
n=b('ScriptPathState'),
o=b('URI'),

p=b('copyProperties'),
q=b('goOrReplace'),
r=b('ge'),

s;

function t(w,x){





var y=r(w);
if(y){
if(!x)
y.style.minHeight='600px';



for(var z in i.pageletIDs)
if(w!==z&&k.contains(y,z)){
g.inform('ajaxpipe/clear_pagelet',{pagelet_id:z});
m.clearForPagelet(z);
delete i.pageletIDs[z];}


k.empty(y);}}



function u(w,x){
var y=r(w);
if(y&&!x)
y.style.minHeight='100px';}



function v(w,x){
this._uri=w;
this._query_data=x;
this._request=new h();
this._canvas_id=null;
this._allow_cross_page_transition=true;}


p(v.prototype,




{setCanvasId:function(w){
this._canvas_id=w;
return this;},





setURI:function(w){
this._uri=w;
return this;},





setData:function(w){
this._query_data=w;
return this;},


getData:function(w){
return this._query_data;},





setAllowCrossPageTransition:function(w){
this._allow_cross_page_transition=w;
return this;},


setAppend:function(w){
this._append=w;
return this;},





send:function(){
var w=
{ajaxpipe:1,
ajaxpipe_token:l.ajaxpipe_token};


p(w,n.getParams());
n.reset();

if(this._pageletCacheMiss)
w.pcmiss=1;

this._request.
setOption('useIframeTransport',true).
setURI(this._uri).
setData(p(w,this._query_data)).
setPreBootloadHandler(this._preBootloadHandler.bind(this)).
setInitialHandler(this._onInitialResponse.bind(this)).
setHandler(this._onResponse.bind(this)).
setMethod('GET').
setReadOnly(true).
setAllowCrossPageTransition(this._allow_cross_page_transition);

if(this._automatic){
this._relevantRequest=s;}else 

s=this._request;


this._request.send();
return this;},





_preBootloadFirstResponse:function(w){
return false;},





_fireDomContentCallback:function(){
this._arbiter.inform('ajaxpipe/domcontent_callback',
true,g.BEHAVIOR_STATE);},





_fireOnloadCallback:function(){
this._arbiter.inform('ajaxpipe/onload_callback',
true,g.BEHAVIOR_STATE);},








_isRelevant:function(w){
return this._request==s||
(this._automatic&&this._relevantRequest==s)||
this._jsNonBlock;},













_preBootloadHandler:function(w){

var x=w.getPayload();
if(!x||x.redirect||!this._isRelevant(w))
return false;


var y=false;
if(w.is_first){
!this._append&&!this._displayCallback&&t
(this._canvas_id,
this._constHeight);

this._arbiter=new g();
y=this._preBootloadFirstResponse(w);

this.pipe=new i
({arbiter:this._arbiter,
rootNodeID:this._canvas_id,
lid:this._request.lid,
isAjax:true,
domContentCallback:this._fireDomContentCallback.bind(this),
onloadCallback:this._fireOnloadCallback.bind(this),
domContentEvt:'ajaxpipe/domcontent_callback',
onloadEvt:'ajaxpipe/onload_callback',
jsNonBlock:this._jsNonBlock,
automatic:this._automatic,
displayCallback:this._displayCallback});}



return y;},





_redirect:function(w){
if(w.redirect){
if(w.force||!this.isPageActive(w.redirect)){
var x=['ajaxpipe','ajaxpipe_token'].concat
(this.getSanitizedParameters());
q
(window.location,
o(w.redirect).removeQueryData(x),
true);}else 

PageTransitions.go(w.redirect,true);

return true;}else 

return false;},



isPageActive:function(w){
return true;},


getSanitizedParameters:function(){
return [];},



_versionCheck:function(w){
return true;},


















_onInitialResponse:function(w){
var x=w.getPayload();

if(!this._isRelevant(w))
return false;


if(!x)



return true;


if(this._redirect(x)||!this._versionCheck(x))
return false;


return true;},







_processFirstResponse:function(w){
var x=w.getPayload();
if(r(this._canvas_id)&&x.canvas_class!==null)
j.setClass(this._canvas_id,x.canvas_class);},



setFirstResponseCallback:function(w){
this._firstResponseCallback=w;
return this;},


setFirstResponseHandler:function(w){
this._processFirstResponse=w;
return this;},





_onResponse:function(w){
var x=w.payload;

if(!this._isRelevant(w))
return h.suppressOnloadToken;


if(w.is_first){
this._processFirstResponse(w);
this._firstResponseCallback&&this._firstResponseCallback();
x.provides=x.provides||[];
x.provides.push('uipage_onload');
if(this._append)
x.append=this._canvas_id;}



if(x){
if('content' in x.content&&
this._canvas_id!==null&&this._canvas_id!='content'){


x.content[this._canvas_id]=x.content.content;
delete x.content.content;}


if(this._pageletCacheMiss)
if(w.is_first){



x.id=this._pageletCacheMiss.id;
x.cacheable=true;
x.cache_controller=this._pageletCacheMiss.cache_controller;
x.cache_type=this._pageletCacheMiss.cache_type;
x.key=this._pageletCacheMiss.key;}else 

x.cache_parent=this._pageletCacheMiss.id;


this.pipe.onPageletArrive(x);}


if(w.is_last)
u(this._canvas_id,this._constHeight);


return h.suppressOnloadToken;},


setNectarModuleDataSafe:function(w){
this._request.setNectarModuleDataSafe(w);
return this;},


setFinallyHandler:function(w){
this._request.setFinallyHandler(w);
return this;},


setErrorHandler:function(w){
this._request.setErrorHandler(w);
return this;},


abort:function(){
this._request.abort();
if(s==this._request)
s=null;

this._request=null;
return this;},


setJSNonBlock:function(w){
this._jsNonBlock=w;
return this;},


setAutomatic:function(w){
this._automatic=w;
return this;},


setDisplayCallback:function(w){
this._displayCallback=w;
return this;},


setPageletCacheMiss:function(w){
this._pageletCacheMiss=w;
return this;},


setConstHeight:function(w){
this._constHeight=w;
return this;},


getAsyncRequest:function(){
return this._request;}});



p(v,

{getCurrentRequest:function(){
return s;},


setCurrentRequest:function(w){
s=w;}});



e.exports=v;});

/** js/modules/AsyncRequestNectarLogging.js */
__d("AsyncRequestNectarLogging",["AsyncRequest","Nectar","copyProperties"],function(a,b,c,d,e,f){



var g=b('AsyncRequest'),
h=b('Nectar'),

i=b('copyProperties');






i(g.prototype,








{setNectarModuleData:function(j){
if(this.method=='POST')
h.addModuleData(this.data,j);},








setNectarImpressionId:function(){
if(this.method=='POST')
h.addImpressionID(this.data);}});});

/** js/modules/BehaviorsMixin.js */
__d("BehaviorsMixin",["copyProperties"],function(a,b,c,d,e,f){









var g=b('copyProperties');





function h(l){
this._behavior=l;
this._enabled=false;}










g(h.prototype,
{enable:function(){
if(!this._enabled){
this._enabled=true;
this._behavior.enable();}},


disable:function(){
if(this._enabled){
this._enabled=false;
this._behavior.disable();}}});





var i=1;

function j(l){
if(!l.__BEHAVIOR_ID)
l.__BEHAVIOR_ID=i++;

return l.__BEHAVIOR_ID;}


var k=






{enableBehavior:function(l){
if(!this._behaviors)
this._behaviors={};

var m=j(l);
if(!this._behaviors[m])
this._behaviors[m]=new h(new l(this));

this._behaviors[m].enable();
return this;},








disableBehavior:function(l){
if(this._behaviors){
var m=j(l);
if(this._behaviors[m])
this._behaviors[m].disable();}


return this;},








enableBehaviors:function(l){
l.forEach(this.enableBehavior.bind(this));
return this;},









destroyBehaviors:function(){
if(this._behaviors){
for(var l in this._behaviors)
this._behaviors[l].disable();

this._behaviors={};}}};




e.exports=k;});

/** js/modules/BootloadedReact.js */
__d("BootloadedReact",["Bootloader"],function(a,b,c,d,e,f){



var g=b('Bootloader'),

h=function(j){
g.loadModules(['React'],j);},











i=






{isValidComponent:function(j){

return (j&&
typeof j.genMarkupIntoContainer==='function'&&
typeof j.updateAllProps==='function');},


initializeTouchEvents:function(j,k){
h(function(l){
l.initializeTouchEvents(j);
k&&k();});},


createComponent:function(j,k){
h(function(l){
var m=l.createComponent(j);
k&&k(m);});},


renderComponent:function(j,k,l){
h(function(m){
var n=m.renderComponent(j,k);
l&&l(n);});},


renderOrUpdateComponent:function(j,k,l){
h(function(m){
var n=m.renderOrUpdateComponent(j,k);
l&&l(n);});},


destroyAndReleaseReactRootNode:function(j,k){
h(function(l){
l.destroyAndReleaseReactRootNode(j);
k&&k();});}};




e.exports=i;});

/** js/modules/ClickRefUtils.js */
__d("ClickRefUtils",[],function(a,b,c,d,e,f){



var g=







{get_intern_ref:function(h){
if(!!h){








var i=
{profile_minifeed:1,
gb_content_and_toolbar:1,
gb_muffin_area:1,
ego:1,
bookmarks_menu:1,
jewelBoxNotif:1,
jewelNotif:1,
BeeperBox:1,
navSearch:1};

for(var j=h;
j&&j!=document.body;
j=j.parentNode){
if(!j.id||typeof j.id!=='string')
continue;

if(j.id.substr(0,8)=='pagelet_')
return j.id.substr(8);

if(j.id.substr(0,8)=='box_app_')


return j.id;

if(i[j.id])
return j.id;}}



return '-';},








get_href:function(h){
var i=
(h.getAttribute&&
(h.getAttribute('ajaxify')||
h.getAttribute('data-endpoint'))||

h.action||
h.href||
h.name);

return typeof i==='string'?
i:
null;},









should_report:function(h,i){
if(i=='FORCE')
return true;

if(i=='INDIRECT')
return false;



return h&&(g.get_href(h)||
(h.getAttribute&&h.getAttribute('data-ft')));}};



e.exports=g;});

/** js/modules/setUECookie.js */
__d("setUECookie",["Env"],function(a,b,c,d,e,f){



var g=b('Env');

function h(i){
if(!g.no_cookies){

var j=0;
if(a.afterloaded){
j=2;}else
if(a.loaded)
j=1;

document.cookie="act="+encodeURIComponent(i+":"+j)+
"; path=/; domain="+
window.location.hostname.replace(/^.*(\.facebook\..*)$/i,'$1');}}





e.exports=h;});

/** js/modules/ClickRefLogger.js */
__d("ClickRefLogger",["Arbiter","EagleEye","ClickRefUtils","collectDataAttributes","copyProperties","ge","setUECookie","$"],function(a,b,c,d,e,f){



var g=b('Arbiter'),
h=b('EagleEye'),
i=b('ClickRefUtils'),

j=b('collectDataAttributes'),
k=b('copyProperties'),
l=b('ge'),
m=b('setUECookie'),
n=b('$');








function o(q){
if(!l('content'))
return [0,0,0,0];


var r=n('content'),
s=a.Vector2?
a.Vector2.getEventPosition(q):{x:0,y:0};
return [s.x,s.y,r.offsetLeft,r.clientWidth];}






function p(q,r,event,s){
var t=(!a.ArbiterMonitor)?'r':'a',
u=[0,0,0,0],
v,w,x;

if(!!event){
v=event.type;
if(v=='click'&&l('content'))
u=o(event);


var y=0;
event.ctrlKey&&(y+=1);
event.shiftKey&&(y+=2);
event.altKey&&(y+=4);
event.metaKey&&(y+=8);
if(y)
v+=y;}



if(!!r)
w=i.get_href(r);


var z=[];
if(a.ArbiterMonitor){
x=a.ArbiterMonitor.getInternRef(r);
z=a.ArbiterMonitor.getActFields();}



var aa=j
(!!event?(event.target||event.srcElement):r,
['ft','gt']);

k(aa.ft,s.ft||{});
k(aa.gt,s.gt||{});



if(typeof(aa.ft.ei)==='string')
delete aa.ft.ei;




var ba=
[q._ue_ts,
q._ue_count,
w||'-',
q._context,
v||'-',
x||i.get_intern_ref(r),
t,
a.URI?
a.URI.getRequestURI(true,true).getUnqualifiedURI().toString():
location.pathname+location.search+location.hash,
aa].
concat(u).concat(z);

return ba;}


g.subscribe("ClickRefAction/new",function(q,r){
if(i.should_report(r.node,r.mode)){
var s=p(r.cfa,
r.node,r.event,r.extra_data);




m(r.cfa.ue);

h.log('act',s);


if(window.chromePerfExtension)



window.postMessage({clickRef:JSON.stringify(s)},
window.location.origin);}});});

/** js/ui/layer/contextual_dialog/behaviors/ContextualDialogFooterLink.js */
__d("ContextualDialogFooterLink",["Event","copyProperties","CSS","DOM"],function(a,b,c,d,e,f){







var g=b('Event'),

h=b('copyProperties'),
i=b('CSS'),
j=b('DOM');

function k(l){
this._layer=l;}


h(k.prototype,
{_subscriptions:null,

enable:function(){
var l=this._layer.getRoot(),
m=j.scry(l,'.uiContextualDialogFooterLink')[0],








n='uiContextualDialogHoverFooterArrow';
this._subscriptions=
[g.listen(m,'mouseenter',i.addClass.curry(l,n)),
g.listen(m,'mouseleave',i.removeClass.curry(l,n))];},



disable:function(){
this._subscriptions.forEach(function(l){
l.remove();});

this._subscriptions=null;}});



e.exports=k;});

/** js/modules/KeyEventController.js */
__d("KeyEventController",["DOM","Event","Run","copyProperties","isEmpty"],function(a,b,c,d,e,f){



var g=b('DOM'),
h=b('Event'),
i=b('Run'),

j=b('copyProperties'),
k=b('isEmpty');














































function l(){
this.handlers={};
document.onkeyup=this.onkeyevent.bind(this,'onkeyup');
document.onkeydown=this.onkeyevent.bind(this,'onkeydown');
document.onkeypress=this.onkeyevent.bind(this,'onkeypress');}


j(l,

{instance:null,

getInstance:function(){
return l.instance||
(l.instance=new l());},


defaultFilter:function(event,m){
event=h.$E(event);
return l.filterEventTypes(event,m)&&
l.filterEventTargets(event,m)&&
l.filterEventModifiers(event,m);},


filterEventTypes:function(event,m){
if(m==='onkeydown')
return true;


return false;},


filterEventTargets:function(event,m){
var n=event.getTarget(),



o=n.contentEditable==='true';



return (!(o||
g.isNodeOfType(n,l._interactiveElements))||

n.type in l._uninterestingTypes||


(event.keyCode in l._controlKeys&&
((g.isNodeOfType(n,['input','textarea'])&&
n.value.length===0)||
(o&&g.getText(n).length===0))));},



filterEventModifiers:function(event,m){
if(event.ctrlKey||event.altKey||event.metaKey||event.repeat)
return false;


return true;},







registerKey:function(m,n,o,p){
if(o===undefined)
o=l.defaultFilter;


var q=l.getInstance(),
r=q.mapKey(m);

if(k(q.handlers))





i.onLeave(q.resetHandlers.bind(q));


var s={};
for(var t=0;t<r.length;t++){
m=r[t];
if(!q.handlers[m]||p)
q.handlers[m]=[];


var u=
{callback:n,
filter:o};

s[m]=u;
q.handlers[m].push(u);}




return {remove:function(){
for(var v in s){
if(q.handlers[v]&&q.handlers[v].length){
var w=q.handlers[v].indexOf(s[v]);
w>=0&&q.handlers[v].splice(w,1);}

delete s[v];}}};},






keyCodeMap:
{BACKSPACE:[8],
TAB:[9],
RETURN:[13],
ESCAPE:[27],
LEFT:[37,63234],
UP:[38,63232],
RIGHT:[39,63235],
DOWN:[40,63233],
DELETE:[46],
COMMA:[188],
PERIOD:[190],
'`':[192],
'[':[219],
']':[221]},



_interactiveElements:['input','select','textarea','object','embed'],


_uninterestingTypes:{button:1,checkbox:1,radio:1,submit:1},


_controlKeys:
{8:1,
9:1,
13:1,
27:1,
37:1,63234:1,
38:1,63232:1,
39:1,63235:1,
40:1,63233:1,
46:1}});




j(l.prototype,

{mapKey:function(m){
if(m>=0&&m<=9){


if(typeof(m)!='number')

m=m.charCodeAt(0)-48;



return [48+m,96+m];}


var n=l.keyCodeMap[m.toUpperCase()];
if(n)
return n;



return [m.toUpperCase().charCodeAt(0)];},


onkeyevent:function(m,n){
n=h.$E(n);

var o=this.handlers[n.keyCode]||this.handlers[n.which],
p,q,r;

if(o)
for(var s=0;s<o.length;s++){
p=o[s].callback;
q=o[s].filter;


try{if(!q||q(n,m)){
r=p(n,m);
if(r===false)
return h.kill(n);}}catch(


t){
}}




return true;},


resetHandlers:function(){
this.handlers={};}});




e.exports=l;});

/** js/ui/layer/Layer.js */
__d("Layer",["Event","function-extensions","ArbiterMixin","BehaviorsMixin","BootloadedReact","ContextualThing","CSS","DataStore","DOM","HTML","KeyEventController","Parent","Style","copyProperties","ge"],function(a,b,c,d,e,f){




var g=b('Event');
b('function-extensions');

var h=b('ArbiterMixin'),
i=b('BehaviorsMixin'),
j=b('BootloadedReact'),
k=b('ContextualThing'),
l=b('CSS'),
m=b('DataStore'),
n=b('DOM'),
o=b('HTML'),
p=b('KeyEventController'),
q=b('Parent'),
r=b('Style'),

s=b('copyProperties'),
t=b('ge'),



u=[];

function v(w,x){


this._config=w||{};
if(x){
this._configure(this._config,x);
var y=this._config.addedBehaviors||[];
this.enableBehaviors(this._getDefaultBehaviors().concat(y));}}



s(v,h);








s(v,
{init:function(w,x){
w.init(x);},

initAndShow:function(w,x){
w.init(x).show();},

show:function(w){
w.show();},








getTopmostLayer:function(){
return u[u.length-1];}});



s(v.prototype,h,i,
{_initialized:false,
_root:null,
_shown:false,
_hiding:false,
_causalElement:null,
_reactContainer:null,











init:function(w){






this._configure(this._config,w);

var x=this._config.addedBehaviors||[];
this.enableBehaviors(this._getDefaultBehaviors().concat(x));

this._initialized=true;
return this;},











_configure:function(w,x){
if(x){
var y=n.isNode(x),
z=typeof x==='string'||o.isHTML(x);
this.containsReactComponent=j.isValidComponent(x);







if(z){
x=o(x).getRootNode();}else
if(this.containsReactComponent){
var aa=document.createElement('div');





j.renderComponent(x,aa);
x=this._reactContainer=aa;}}


this._root=this._buildWrapper(w,x);
if(w.attributes)
n.setAttributes(this._root,w.attributes);

if(w.classNames)
w.classNames.forEach(l.addClass.curry(this._root));

l.addClass(this._root,'uiLayer');
if(w.causalElement)
this._causalElement=t(w.causalElement);

m.set(this._root,'layer',this);},








_getDefaultBehaviors:function(){
return [];},






getCausalElement:function(){
return this._causalElement;},


setCausalElement:function(w){
this._causalElement=w;
return this;},









getInsertParent:function(){
return this._insertParent||document.body;},





getRoot:function(){








return this._root;},





_getContentRoot:function(){
return this._root;},





_buildWrapper:function(w,x){
return x;},












setInsertParent:function(w){
if(w){
if(this._shown&&w!==this.getInsertParent()){
n.appendContent(w,this.getRoot());
this.updatePosition();}

this._insertParent=w;}

return this;},


show:function(){
if(this._shown)
return this;


var w=this.getRoot();
this.inform('beforeshow');



r.set(w,'visibility','hidden');


r.set(w,'overflow','hidden');

l.show(w);
n.appendContent(this.getInsertParent(),w);
if(this.updatePosition()!==false){
this._shown=true;
this.inform('show');
v.inform('show',this);



!function(){
if(this._shown)
u.push(this);}.

bind(this).defer();}else 

l.hide(w);

r.set(w,'visibility','');
r.set(w,'overflow','');
this.inform('aftershow');
return this;},


hide:function(){

if(this._hiding||!this._shown||this.inform('beforehide')===false)
return this;




this._hiding=true;




if(this.inform('starthide')!==false)
this.finishHide();


return this;},


conditionShow:function(w){
return w?this.show():this.hide();},








finishHide:function(){
if(this._shown){
u.remove(this);
this._hiding=false;
this._shown=false;
l.hide(this.getRoot());
this.inform('hide');
v.inform('hide',this);}},



isShown:function(){
return this._shown;},






updatePosition:function(){
return true;},









destroy:function(){
if(this.containsReactComponent)
j.destroyAndReleaseReactRootNode(this._reactContainer);

this.finishHide();
var w=this.getRoot();
n.remove(w);
this.destroyBehaviors();
this.inform('destroy');
v.inform('destroy',this);
m.remove(w,'layer');
this._root=this._causalElement=null;}});




g.listen(document.documentElement,'keydown',function(event){



if(p.filterEventTargets(event,'keydown'))
for(var w=u.length-1;w>=0;w--)
if(u[w].inform('key',event)===false)
return false;},



g.Priority.URGENT);


g.listen(document.documentElement,'click',function(event){
var w=u.length;
if(!w)
return;


var x=event.getTarget();



if(!n.contains(document.documentElement,x))
return;






if(q.byClass(x,'generic_dialog'))
return;


while(w--){
var y=u[w],
z=y.getContentRoot();


if(k.containsIncludingLayers(z,x))
return;



if(y.inform('blur')===false||y.isShown())
return;}});




e.exports=v;});

/** js/ui/layer/behaviors/LayerButtons.js */
__d("LayerButtons",["Event","Parent","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('Parent'),

i=b('copyProperties');

function j(k){
this._layer=k;}


i(j.prototype,
{_listener:null,

enable:function(){
this._listener=g.listen
(this._layer.getRoot(),
'click',
this._handle.bind(this));},



disable:function(){
this._listener.remove();
this._listener=null;},


_handle:function(k){
var l=k.getTarget(),
m=h.byClass(l,'layerConfirm');
if(m){
if(this._layer.inform('confirm',m)===false)
k.prevent();

return;}


var n=h.byClass(l,'layerCancel');
if(n){
if(this._layer.inform('cancel',n)!==false)

this._layer.hide();

k.prevent();
return;}


var o=h.byClass(l,'layerButton');
if(o)
if(this._layer.inform('button',o)===false)
k.prevent();}});





e.exports=j;});

/** js/ui/layer/behaviors/LayerDestroyOnHide.js */
__d("LayerDestroyOnHide",["function-extensions","copyProperties"],function(a,b,c,d,e,f){



b('function-extensions');

var g=b('copyProperties');

function h(i){
this._layer=i;}


g(h.prototype,
{_subscription:null,
enable:function(){
this._subscription=this._layer.subscribe
('hide',
Function.prototype.defer.shield(this._layer.destroy.bind(this._layer)));},


disable:function(){
if(this._subscription){
this._subscription.unsubscribe();
this._subscription=null;}}});




e.exports=h;});

/** js/ui/layer/behaviors/LayerFadeOnHide.js */
__d("LayerFadeOnHide",["Animation","Layer","Style","UserAgent","copyProperties"],function(a,b,c,d,e,f){



var g=b('Animation'),
h=b('Layer'),
i=b('Style'),
j=b('UserAgent'),

k=b('copyProperties');




function l(m){
this._layer=m;}


k(l.prototype,
{_subscription:null,

enable:function(){
if(j.ie()<9)
return;

this._subscription=this._layer.subscribe
('starthide',
this._handleStartHide.bind(this));},



disable:function(){
if(this._subscription){
this._subscription.unsubscribe();
this._subscription=null;}},



_handleStartHide:function(){
var m=true,

n=h.subscribe('show',function(){
n.unsubscribe();
m=false;});

(function(){
n.unsubscribe();
n=null;
if(m){
this._animate();}else 

this._layer.finishHide();}).

bind(this).defer();
return false;},


_animate:function(){
new g(this._layer.getRoot()).
from('opacity',1).
to('opacity',0).
duration(150).
ondone(this._finish.bind(this)).
go();},


_finish:function(){
i.set(this._layer.getRoot(),'opacity','');
this._layer.finishHide();}});



e.exports=l;});

/** js/ui/layer/behaviors/LayerFadeOnShow.js */
__d("LayerFadeOnShow",["Animation","Style","UserAgent","copyProperties"],function(a,b,c,d,e,f){



var g=b('Animation'),
h=b('Style'),
i=b('UserAgent'),

j=b('copyProperties');




function k(l){
this._layer=l;}


j(k.prototype,
{_subscriptions:null,
enable:function(){
if(i.ie()<9)
return;

this._subscriptions=
[this._layer.subscribe('beforeshow',function(){
h.set(this._layer.getRoot(),'opacity',0);}.
bind(this)),
this._layer.subscribe('show',this._animate.bind(this))];},



disable:function(){
if(this._subscriptions){
while(this._subscriptions.length)
this._subscriptions.pop().unsubscribe();

this._subscriptions=null;}},



_getDuration:function(){
return 100;},


_animate:function(){
var l=this._layer.getRoot();
new g(l).
from('opacity',0).
to('opacity',1).
duration(this._getDuration()).
ondone(h.set.curry(l,'opacity','')).
go();}});



e.exports=k;});

/** js/ui/layer/behaviors/LayerFormHooks.js */
__d("LayerFormHooks",["Event","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('copyProperties');

function i(j){
this._layer=j;}


h(i.prototype,
{_subscriptions:null,

enable:function(){
var j=this._layer.getRoot();
this._subscriptions=
[g.listen(j,'submit',this._onSubmit.bind(this)),
g.listen(j,'success',this._onSuccess.bind(this)),
g.listen(j,'error',this._onError.bind(this))];},



disable:function(){
this._subscriptions.forEach(function(j){
j.remove();});

this._subscriptions=null;},


_onSubmit:function(event){
if(this._layer.inform('submit',event)===false)

event.kill();},



_onSuccess:function(event){
if(this._layer.inform('success',event)===false)
event.kill();},



_onError:function(event){
var j=event.getData();
if(this._layer.inform('error',{response:j.response})===false)

event.kill();}});




e.exports=i;});

/** js/ui/layer/behaviors/LayerHideOnBlur.js */
__d("LayerHideOnBlur",["copyProperties"],function(a,b,c,d,e,f){



var g=b('copyProperties');





function h(i){
this._layer=i;}


g(h.prototype,
{_subscriptions:null,
_onBlur:null,

enable:function(){
this._subscriptions=
[this._layer.subscribe('show',this._attach.bind(this)),
this._layer.subscribe('hide',this._detach.bind(this))];

if(this._layer.isShown())
this._attach();},



disable:function(){
this._detach();
while(this._subscriptions.length)
this._subscriptions.pop().unsubscribe();

this._subscriptions=null;},


_detach:function(){
this._onBlur&&this._onBlur.unsubscribe();
this._onBlur=null;},


_attach:function(){
this._onBlur=this._layer.subscribe('blur',function(){
this._layer.hide();
return false;}.
bind(this));}});



e.exports=h;});

/** js/ui/layer/behaviors/LayerHideOnEscape.js */
__d("LayerHideOnEscape",["Event","copyProperties","Focus","Keys"],function(a,b,c,d,e,f){






var g=b('Event'),

h=b('copyProperties'),
i=b('Focus'),
j=b('Keys');

function k(l){
this._layer=l;}


h(k.prototype,
{_subscription:null,

enable:function(){
this._subscription=this._layer.subscribe('key',this._handle.bind(this));},


disable:function(){
this._subscription.unsubscribe();
this._subscription=null;},


_handle:function(l,event){
if(g.getKeyCode(event)===j.ESC){
var m=this._layer.getCausalElement();
if(m)
if(m.tabIndex!=-1)
i.setWithoutOutline(m);










this._layer.hide();
return false;}}});




e.exports=k;});

/** js/ui/layer/behaviors/LayerHideOnSuccess.js */
__d("LayerHideOnSuccess",["copyProperties"],function(a,b,c,d,e,f){




var g=b('copyProperties');

function h(i){
this._layer=i;}


g(h.prototype,
{_subscription:null,
enable:function(){
this._subscription=this._layer.subscribe
('success',
this._layer.hide.bind(this._layer));},


disable:function(){
if(this._subscription){
this._subscription.unsubscribe();
this._subscription=null;}}});




e.exports=h;});

/** js/ui/layer/behaviors/LayerHideOnTransition.js */
__d("LayerHideOnTransition",["function-extensions","PageTransitions","copyProperties"],function(a,b,c,d,e,f){





b('function-extensions');

var g=b('PageTransitions'),

h=b('copyProperties');

function i(j){
this._layer=j;}


h(i.prototype,
{_enabled:false,
_subscribed:false,

enable:function(){
this._enabled=true;





if(!this._subscribed){


this._subscribe.bind(this).defer();
this._subscribed=true;}},



disable:function(){
this._enabled=false;},


_subscribe:function(){
g.registerHandler(function(){
if(this._enabled)
this._layer.hide();

this._subscribed=false;}.
bind(this));}});



e.exports=i;});

/** js/modules/TabbableElements.js */
__d("TabbableElements",["Style","createArrayFrom"],function(a,b,c,d,e,f){



var g=b('Style'),

h=b('createArrayFrom');

function i(l){

if(l.tabIndex>=0)
return true;



switch(l.tagName){
case "A":
return l.href&&l.rel!="ignore";
case "INPUT":
return l.type!="hidden"&&l.type!="file"&&!l.disabled;
case "BUTTON":
case "SELECT":
case "TEXTAREA":
return !l.disabled;}


return false;}


function j(l){

if(l.offsetHeight===0&&l.offsetWidth===0)
return false;




while(l!==document&&g.get(l,'visibility')!='hidden')
l=l.parentNode;



return l===document;}


var k=




{find:function(l){
var m=h(l.getElementsByTagName("*"));
return m.filter(k.isTabbable);},


isTabbable:function(l){
return i(l)&&j(l);}};



e.exports=k;});

/** js/ui/behavior/TabIsolation.js */
__d("TabIsolation",["Event","DOMQuery","Focus","Keys","TabbableElements","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('DOMQuery'),
i=b('Focus'),
j=b('Keys'),
k=b('TabbableElements'),

l=b('copyProperties');


function m(n){
this._root=n;
this._eventHandler=null;}


l(m.prototype,
{enable:function(){

this._eventHandler=g.listen(window,'keydown',function(n){
this._tabHandler(n);}.
bind(this),g.Priority.URGENT);},


disable:function(){
if(this._eventHandler){
this._eventHandler.remove();
this._eventHandler=null;}},






_tabHandler:function(n){
if(g.getKeyCode(n)!==j.TAB)
return;


var o=n.getTarget();

if(!o)
return;


var p=k.find(this._root),
q=p[0],
r=p[p.length-1],
s=n.getModifiers().shift;

if(s&&o===q){
n.preventDefault();
i.set(r);}else
if((!s&&o===r)||
!h.contains(this._root,o)){
n.preventDefault();
i.set(q);}}});




e.exports=m;});

/** js/ui/layer/behaviors/LayerTabIsolation.js */
__d("LayerTabIsolation",["TabIsolation","copyProperties"],function(a,b,c,d,e,f){







var g=b('TabIsolation'),

h=b('copyProperties');

function i(j){
this._layer=j;
this._tabIsolation=null;}


h(i.prototype,
{_subscriptions:[],

enable:function(){
this._tabIsolation=new g(this._layer.getRoot());

this._subscriptions=
[this._layer.subscribe
('show',
this._tabIsolation.enable.bind(this._tabIsolation)),

this._layer.subscribe
('hide',
this._tabIsolation.disable.bind(this._tabIsolation))];},




disable:function(){
while(this._subscriptions.length)
this._subscriptions.pop().unsubscribe();


this._tabIsolation.disable();
this._tabIsolation=null;}});



e.exports=i;});

/** js/ui/layer/behaviors/LayerMouseHooks.js */
__d("LayerMouseHooks",["Event","function-extensions","Arbiter","ContextualThing","Layer","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event');
b('function-extensions');

var h=b('Arbiter'),
i=b('ContextualThing'),
j=b('Layer'),

k=b('copyProperties'),



l=new h();

function m(n){
this._layer=n;
this._subscriptions=[];
this._currentlyActive=false;}


k(m.prototype,
{enable:function(){
this._subscriptions=
[l.subscribe('mouseenter',this._handleActive.bind(this)),
l.subscribe('mouseleave',this._handleInactive.bind(this)),
this._layer.subscribe('hide',function(){
this._currentlyActive=false;}.
bind(this))];},



disable:function(){
while(this._subscriptions.length)
this._subscriptions.pop().unsubscribe();

this._subscriptions=[];
this._currentlyActive=false;},











_handleActive:function(n,o){
if(!this._currentlyActive&&this._isNodeWithinStack(o)){
this._layer.inform('mouseenter');
this._currentlyActive=true;}},













_handleInactive:function(n,o){
if(this._currentlyActive)
if(!o||!this._isNodeWithinStack(o)){
this._layer.inform('mouseleave');
this._currentlyActive=false;}},









_isNodeWithinStack:function(n){
return i.containsIncludingLayers
(this._layer.getContentRoot(),
n);}});








j.subscribe('show',function(n,o){
var p=o.getContentRoot(),
q=
[g.listen(p,'mouseenter',function(){
l.inform('mouseenter',p);}),

g.listen(p,'mouseleave',function(s){
l.inform('mouseleave',s.getRelatedTarget());})],




r=o.subscribe('hide',function(){
while(q.length)
q.pop().remove();

r.unsubscribe();
q=r=null;});});



e.exports=m;});

/** js/modules/Overlay.js */
__d("Overlay",["Class","CSS","DataStore","DOM","Layer","LayerButtons","LayerDestroyOnHide","LayerFadeOnHide","LayerFadeOnShow","LayerFormHooks","LayerHideOnBlur","LayerHideOnEscape","LayerHideOnSuccess","LayerHideOnTransition","LayerTabIsolation","LayerMouseHooks","copyProperties"],function(a,b,c,d,e,f){




var g=b('Class'),
h=b('CSS'),
i=b('DataStore'),
j=b('DOM'),
k=b('Layer'),
l=b('LayerButtons'),
m=b('LayerDestroyOnHide'),
n=b('LayerFadeOnHide'),
o=b('LayerFadeOnShow'),
p=b('LayerFormHooks'),
q=b('LayerHideOnBlur'),
r=b('LayerHideOnEscape'),
s=b('LayerHideOnSuccess'),
t=b('LayerHideOnTransition'),
u=b('LayerTabIsolation'),
v=b('LayerMouseHooks'),

w=b('copyProperties');

function x(y,z){
y=w
({buildWrapper:true},
y||{});

this._shouldBuildWrapper=y.buildWrapper;
this.parent.construct(this,y,z);}


g.extend(x,k);

w(x.prototype,







{_configure:function(y,z){
this.parent._configure(y,z);

var aa=this.getRoot();
this._overlay=j.scry(aa,'div.uiOverlay')[0]||aa;



h.hide(aa);
j.appendContent(this.getInsertParent(),aa);

i.set(this._overlay,'overlay',this);

var ba=i.get(this._overlay,'width');
ba&&this.setWidth(ba);


if(this.setFixed)
this.setFixed(i.get(this._overlay,'fixed')=='true');



if(i.get(this._overlay,'fadeonshow')!='false')
this.enableBehavior(o);



if(i.get(this._overlay,'fadeonhide')!='false')
this.enableBehavior(n);



if(i.get(this._overlay,'hideonsuccess')!='false')
this.enableBehavior(s);



if(i.get(this._overlay,'hideonblur')=='true')
this.enableBehavior(q);




if(i.get(this._overlay,'destroyonhide')!='false')
this.enableBehavior(m);


return this;},


_getDefaultBehaviors:function(){
return this.parent._getDefaultBehaviors().concat
([l,
p,
v,
r,
t,
u]);},









initWithoutBuildingWrapper:function(){
this._shouldBuildWrapper=false;
return this.init.apply(this,arguments);},


_buildWrapper:function(y,z){
z=this.parent._buildWrapper(y,z);
if(!this._shouldBuildWrapper){
this._contentRoot=z;
return z;}


this._contentRoot=
j.create('div',{className:'uiOverlayContent'},z);
return j.create('div',{className:'uiOverlay'},this._contentRoot);},


getContentRoot:function(){
return this._contentRoot;},


destroy:function(){
i.remove(this.getRoot(),'overlay');
this.parent.destroy();}});



e.exports=x;});

/** js/modules/ContextualDialogX.js */
__d("ContextualDialogX",["Event","ARIA","Arbiter","ArbiterMixin","Bootloader","Class","ContextualDialogFooterLink","ContextualThing","CSS","DataStore","DOM","Locale","Overlay","Parent","Style","Vector","$","copyProperties","getOverlayZIndex"],function(a,b,c,d,e,f){




var g=b('Event'),

h=b('ARIA'),
i=b('Arbiter'),
j=b('ArbiterMixin'),
k=b('Bootloader'),
l=b('Class'),
m=b('ContextualDialogFooterLink'),
n=b('ContextualThing'),
o=b('CSS'),
p=b('DataStore'),
q=b('DOM'),
r=b('Locale'),
s=b('Overlay'),
t=b('Parent'),
u=b('Style'),
v=b('Vector'),

w=b('$'),
x=b('copyProperties'),
y=b('getOverlayZIndex');

function z(aa,ba){
this.parent.construct(this,aa,ba);}


l.extend(z,s);

x(z,j,
{ARROW_OFFSET:15,
ARROW_LENGTH:16,
ARROW_INSET:22,
TOP_MARGIN:8,
BOTTOM_MARGIN:30,
LEFT_MARGIN:15,
RIGHT_MARGIN:30,

POSITION_TO_CLASS:
{above:'uiContextualDialogAbove',
below:'uiContextualDialogBelow',
left:'uiContextualDialogLeft',
right:'uiContextualDialogRight'},

RIGHT_ALIGNED_CLASS:'uiContextualDialogRightAligned',


ARROW_CLASS:
{bottom:'uiContextualDialogArrowBottom',
top:'uiContextualDialogArrowTop',
right:'uiContextualDialogArrowRight',
left:'uiContextualDialogArrowLeft'},


POSITION_TO_ARROW:
{above:'bottom',
below:'top',
left:'right',
right:'left'},











getInstance:function(aa){
var ba=p.get(aa,'ContextualDialogX');
if(!ba){
var ca=t.byClass(aa,'uiOverlay');
if(ca)
ba=p.get(ca,'overlay');}


return ba;}});




x(z.prototype,

{_scrollListener:null,
_scrollParent:null,
_width:null,
_fixed:false,
_hasFooter:false,
_showSubscription:null,
_hideSubscription:null,
_setContextSubscription:null,
_resizeListener:null,
_reflowSubscription:null,

_configure:function(aa,ba){
this.parent._configure(aa,ba);

var ca=this.getRoot(),
da=p.get.curry(ca);
this.setAlignH(da('alignh','left'));
this.setOffsetX(da('offsetx',0));
this.setOffsetY(da('offsety',0));
this.setPosition(da('position','above'));
this._hasFooter=da('hasfooter',false);

if(this._hasFooter){
var ea=q.scry(ca,'.uiContextualDialogFooterLink')[0];
ea&&this.enableBehavior(m);}



this._setContextSubscription=this.subscribe('beforeshow',function(){
this.unsubscribe(this._setContextSubscription);
this._setContextSubscription=null;
var fa=da('context');
if(fa){
this.setContext(w(fa));}else{

fa=da('contextselector');
if(fa)
this.setContext(q.find(document,fa));}}.


bind(this));

this._content=q.scry(ca,'.uiContextualDialogContent')[0];

this._showSubscription=this.subscribe('show',function(){
var fa=this.updatePosition.shield(this);
this._resizeListener=g.listen(window,'resize',fa);
this._reflowSubscription=i.subscribe('reflow',fa);
this._setupScrollListener(this._scrollParent);
n.register(ca,this.context);
i.inform('layer_shown',{type:'ContextualDialog'});}.
bind(this));
this._hideSubscription=this.subscribe('hide',function(){
this._teardownResizeAndReflowListeners();
this._teardownScrollListener();
i.inform('layer_hidden',{type:'ContextualDialog'});}.
bind(this));

return this;},


_buildWrapper:function(aa,ba){
var ca=this.parent._buildWrapper(aa,ba);
if(!this._shouldBuildWrapper)return ca;

o.addClass(ca,'uiContextualDialog');
return q.create
('div',
{className:'uiContextualDialogPositioner'},
ca);},


setWidth:function(aa){
this._width=Math.floor(aa);
return this;},


setFixed:function(aa){
aa=!!aa;
o.conditionClass(this.getRoot(),'uiContextualDialogFixed',aa);
this._fixed=aa;
return this;},









setAlignH:function(aa){
this.alignH=aa;
this._updateAlignmentClass();
this._shown&&this.updatePosition();
this.position&&this._updateArrow();
return this;},













getContent:function(){
return this._content;},







getContext:function(){
return this.context;},








setContext:function(aa){
if(this._setContextSubscription){
this.unsubscribe(this._setContextSubscription);
this._setContextSubscription=null;}


aa=w(aa);

if(this.context&&this.context!=aa)
p.remove(this.context,'ContextualDialogX');


this.context=aa;

h.setPopup(this.getCausalElement(),this.getRoot());




var ba=t.byClass(aa,'fbPhotoSnowlift');
this.setInsertParent(ba||document.body);



if(this._scrollListener&&this._scrollParent!==ba){
this._teardownScrollListener();
this._setupScrollListener(ba);}


this._scrollParent=ba;


var ca=y(aa,this._insertParent);
u.set(this.getRoot(),'z-index',ca>200?ca:'');

p.set(this.context,'ContextualDialogX',this);
return this;},






getCausalElement:function(){
return this.parent.getCausalElement()||this.context;},










listen:function(aa,ba){
return g.listen(this.getRoot(),aa,ba);},








setOffsetX:function(aa){
this.offsetX=parseInt(aa,10)||0;
this._shown&&this.updatePosition();
return this;},








setOffsetY:function(aa){
this.offsetY=parseInt(aa,10)||0;
this._shown&&this.updatePosition();
return this;},









setPosition:function(aa){
this.position=aa;
for(var ba in z.POSITION_TO_CLASS)
o.conditionClass
(this.getRoot(),
z.POSITION_TO_CLASS[ba],
aa==ba);

this._updateAlignmentClass();
this._shown&&this.updatePosition();
this._updateArrow();
return this;},







updatePosition:function(){
if(!this.context)return false;

if(this._width)
u.set(this._overlay,'width',this._width+'px');



var aa=this._fixed?'viewport':'document',
ba=v.getElementPosition(this.context,aa),


ca=this._scrollParent;
if(ca)
ba=ba.
sub(v.getElementPosition(ca,'document')).
add(ca.scrollLeft,ca.scrollTop);


var da=v.getElementDimensions(this.context),
ea=this.position=='above'||this.position=='below',
fa=r.isRTL();



if((this.position=='right'||
(ea&&this.alignH=='right'))!=fa)
ba=ba.add(da.x,0);



if(this.position=='below')
ba=ba.add(0,da.y);


var ga=new v(0,0);

if(ea&&this.alignH=='center'){
ga=ga.add((da.x-this._width)/2,0);}else{



var ha=ea?da.x:da.y,
ia=2*z.ARROW_INSET;
if(ha<ia){
var ja=ha/2-z.ARROW_INSET;
if(ea&&(this.alignH=='right'!=fa))
ja=-ja;

ga=ga.add(ea?ja:0,ea?0:ja);}}




ga=ga.add(this.offsetX,this.offsetY);

if(fa)
ga=ga.mul(-1,1);


ba=ba.add(ga);





if(this._fixed)
ba=new v(ba.x,ba.y,'document');



ba.setElementPosition(this.getRoot());


this._adjustVerticalPosition();
this._adjustHorizontalPosition();

return true;},





scrollTo:function(){
if(this.context)
k.loadModules(['DOMScroll'],
function(aa){
aa.scrollTo
(this.context,
true,
true);}.
bind(this));},








destroy:function(){
this.unsubscribe(this._showSubscription);
this.unsubscribe(this._hideSubscription);
if(this._setContextSubscription){
this.unsubscribe(this._setContextSubscription);
this._setContextSubscription=null;}

this._teardownScrollListener();
this._teardownResizeAndReflowListeners();
this.context&&p.remove(this.context,'ContextualDialogX');
this.parent.destroy();},








_adjustVerticalPosition:function(){

if(this.position!='left'&&this.position!='right'){
u.set(this._overlay,'top','');
return;}


var aa=this.getRoot(),
ba=v.getElementPosition(aa,'viewport').y,
ca=v.getElementDimensions(this._overlay).y,
da=v.getViewportDimensions().y,
ea=z.TOP_MARGIN,

fa=
Math.min



(Math.max(0,
ba+
ca+
z.BOTTOM_MARGIN-
da),




Math.max(-ea,ba-ea),






ca-2*z.ARROW_INSET);


u.set(this._overlay,'top',(-1*fa)+'px');
u.set(this._arrow,'top',z.ARROW_OFFSET+'px');
u.set(this._arrow,'marginTop',fa+'px');},


_adjustHorizontalPosition:function(){

if((this.position!='above'&&this.position!='below')||
this.alignH!='left'){
u.set(this._overlay,'left','');
u.set(this._overlay,'right','');
return;}


var aa=this.getRoot(),
ba=v.getElementPosition(aa,'viewport').x,
ca=v.getElementDimensions(this._overlay).x,
da=v.getViewportDimensions().x,

ea=r.isRTL(),
fa;


if(!ea){
fa=ba+
ca+
z.RIGHT_MARGIN-
da;}else 

fa=z.LEFT_MARGIN+
ca-
ba;


fa=Math.min

(Math.max(0,fa),


ca-2*z.ARROW_INSET);


u.set
(this._overlay,
ea?'right':'left',-1*fa+'px');

u.set
(this._arrow,
ea?'right':'left',z.ARROW_OFFSET+'px');

u.set
(this._arrow,
ea?'marginRight':'marginLeft',fa+'px');},






_updateArrow:function(){
var aa=0;
if(this.position=='above'||this.position=='below')
switch(this.alignH){
case 'center':
aa=50;
break;
case 'right':
aa=100;
break;}



this._renderArrow
(z.POSITION_TO_ARROW[this.position],
aa);},









_renderArrow:function(aa,ba){
for(var ca in z.ARROW_CLASS)
o.conditionClass
(this._overlay,
z.ARROW_CLASS[ca],
aa==ca);



o.conditionClass
(this._overlay,
'uiContextualDialogWithFooterArrowBottom',
aa=='bottom'&&this._hasFooter);


if(aa=='none')
return;



if(!this._arrow){
this._arrow=q.create('i',{className:'uiContextualDialogArrow'});
q.appendContent(this._overlay,this._arrow);}



u.set(this._arrow,'top','');
u.set(this._arrow,'left','');
u.set(this._arrow,'right','');
u.set(this._arrow,'margin','');


var da=aa=='top'||aa=='bottom',
ea=da?(r.isRTL()?'right':'left'):'top';

ba=ba||0;
u.set(this._arrow,ea,ba+'%');
var fa=
z.ARROW_LENGTH+
z.ARROW_OFFSET*2,
ga=
-(fa*ba/100-z.ARROW_OFFSET);
u.set
(this._arrow,
'margin-'+ea,
ga+'px');},



_updateAlignmentClass:function(){
o.conditionClass
(this.getRoot(),
z.RIGHT_ALIGNED_CLASS,
(this.position=='above'||this.position=='below')&&
this.alignH=='right');},







_setupScrollListener:function(aa){
this._scrollListener=g.listen
(aa||window,
'scroll',
this._adjustVerticalPosition.shield(this));},





_teardownScrollListener:function(){
if(this._scrollListener){
this._scrollListener.remove();
this._scrollListener=null;}},



_teardownResizeAndReflowListeners:function(){
if(this._resizeListener){
this._resizeListener.remove();
this._resizeListener=null;}

if(this._reflowSubscription){
this._reflowSubscription.unsubscribe();
this._reflowSubscription=null;}}});





e.exports=z;});

/** js/modules/Rect.js */
__d("Rect",["Vector","$","copyProperties"],function(a,b,c,d,e,f){



var g=b('Vector'),

h=b('$'),
i=b('copyProperties');

















function j(k,l,m,n,o){
if(arguments.length===1){
if(k instanceof j)
return k;

if(k instanceof g)
return new j(k.y,k.x,k.y,k.x,k.domain);

return j.getElementBounds(h(k));}


i(this,
{t:k,
r:l,
b:m,
l:n,
domain:o||'pure'});}




i(j.prototype,

{w:function(){return this.r-this.l;},
h:function(){return this.b-this.t;},

toString:function(){
return '(('+this.l+', '+this.t+'), ('+this.r+', '+this.b+'))';},





contains:function(k){
k=new j(k).convertTo(this.domain);
var l=this;

return (l.l<=k.l&&l.r>=k.r&&l.t<=k.t&&l.b>=k.b);},






add:function(k,l){
if(arguments.length==1){
if(k.domain!='pure')
k=k.convertTo(this.domain);

return this.add(k.x,k.y);}

var m=parseFloat(k),
n=parseFloat(l);
return new j
(this.t+n,
this.r+m,
this.b+n,
this.l+m,
this.domain);},






sub:function(k,l){
if(arguments.length==1){
return this.add(k.mul(-1));}else 

return this.add(-k,-l);},















boundWithin:function(k){
var l=0,m=0;

if(this.l<k.l){
l=k.l-this.l;}else
if(this.r>k.r)
l=k.r-this.r;


if(this.t<k.t){
m=k.t-this.t;}else
if(this.b>k.b)
m=k.b-this.b;


return this.add(l,m);},


getCenter:function(){
return new g
(this.l+this.w()/2,
this.t+this.h()/2,
this.domain);},



getPositionVector:function(){
return new g(this.l,this.t,this.domain);},


getDimensionVector:function(){
return new g(this.w(),this.h(),'pure');},


convertTo:function(k){
if(this.domain==k)
return this;


if(k=='pure')
return new j(this.t,this.r,this.b,this.l,'pure');


if(this.domain=='pure')



return new j(0,0,0,0);


var l=new g(this.l,this.t,this.domain).convertTo(k);

return new j(l.y,l.x+this.w(),l.y+this.h(),l.x,k);}});




i(j,

{deserialize:function(k){
var l=k.split(':');
return new j
(parseFloat(l[1]),
parseFloat(l[2]),
parseFloat(l[3]),
parseFloat(l[0]));},



newFromVectors:function(k,l){
return new j(k.y,k.x+l.x,k.y+l.y,k.x,k.domain);},


getElementBounds:function(k){
return j.newFromVectors
(g.getElementPosition(k),
g.getElementDimensions(k));},


getViewportBounds:function(){
return j.newFromVectors
(g.getScrollPosition(),
g.getViewportDimensions());},


minimumBoundingBox:function(k){
var l=new j
(Math.min(),
Math.max(),
Math.max(),
Math.min()),


m;
for(var n=0;n<k.length;n++){
m=k[n];
l.t=Math.min(l.t,m.t);
l.r=Math.max(l.r,m.r);
l.b=Math.max(l.b,m.b);
l.l=Math.min(l.l,m.l);}

return l;}});




e.exports=j;});

/** js/ui/layer/ContextualLayer.js */
__d("ContextualLayer",["array-extensions","Event","Arbiter","ARIA","Class","ContextualThing","CSS","DataStore","DOM","Layer","LayerHideOnTransition","Locale","Parent","Rect","Style","Vector","copyProperties","throttle","emptyFunction","getOverlayZIndex"],function(a,b,c,d,e,f){






b('array-extensions');
var g=b('Event'),

h=b('Arbiter'),
i=b('ARIA'),
j=b('Class'),
k=b('ContextualThing'),
l=b('CSS'),
m=b('DataStore'),
n=b('DOM'),
o=b('Layer'),
p=b('LayerHideOnTransition'),
q=b('Locale'),
r=b('Parent'),
s=b('Rect'),
t=b('Style'),
u=b('Vector'),

v=b('copyProperties'),
w=b('throttle'),
x=b('emptyFunction'),
y=b('getOverlayZIndex');

function z(ga){
return ga.getPosition()==='left'||
(ga.isVertical()&&ga.getAlignment()==='right');}














function aa(ga){
var ha=ga.parentNode;
if(ha){
var ia=t.get(ha,'position');
if(ia==='static'){
if(ha===document.body){


ha=document.documentElement;}else 

ha=aa(ha);}else 


return ha;}else 


ha=document.documentElement;

return ha;}

































function ba(ga,ha){
this.parent.construct(this,ga,ha);}



var ca=[];





h.subscribe('reflow',function(){
ca.forEach(function(ga){
if(ga.updatePosition()===false)
ga.hide();});});




j.extend(ba,o);

v(ba.prototype,
{_contentWrapper:null,

_content:null,
_contextNode:null,
_contextBounds:null,
_contextSelector:null,
_parentLayer:null,
_parentSubscription:null,
_orientation:null,
_orientationClass:null,

_configure:function(ga,ha){
this.parent._configure(ga,ha);
if(ga.context){
this.setContext(ga.context);}else
if(ga.contextID){
this._setContextID(ga.contextID);}else
if(ga.contextSelector)
this._setContextSelector(ga.contextSelector);

this.setPosition(ga.position);
this.setAlignment(ga.alignment);
this.setOffsetX(ga.offsetX);
this.setOffsetY(ga.offsetY);
this._content=ha;},


_getDefaultBehaviors:function(){
return this.parent._getDefaultBehaviors().concat
([p]);},



_buildWrapper:function(ga,ha){
this._contentWrapper=
n.create('div',{className:'uiContextualLayer'},ha);
return n.create
('div',
{className:'uiContextualLayerPositioner'},
this._contentWrapper);},











getInsertParent:function(){
var ga=this._insertParent;
if(!ga){
var ha=this.getContext();
if(ha)
ga=r.byClass(ha,'uiContextualLayerParent');}


return ga||this.parent.getInsertParent();},






setContent:function(ga){
this._content=ga;
n.setContent(this._contentWrapper,this._content);
this._shown&&this.updatePosition();
return this;},






setContext:function(ga){
return this.setContextWithBounds(ga,null);},















setContextWithBounds:function(ga,ha){
this._contextNode=ga;
this._contextBounds=ha||null;
this._contextSelector=this._contextScrollParent=null;
if(this._shown){
k.register(this.getRoot(),this._contextNode);
this.updatePosition();}

this._setParentSubscription();
i.setPopup(this.getCausalElement(),this.getRoot());
return this;},







_setContextID:function(ga){
this._contextSelector='#'+ga;
this._contextNode=null;},







_setContextSelector:function(ga){
this._contextSelector=ga;
this._contextNode=null;},






getCausalElement:function(){
return this.parent.getCausalElement()||this.getContext();},







_setParentSubscription:function(){

var ga=this.getContext(),
ha=null;
while(ga!==null){
ha=m.get(ga,'layer');
if(ha)
break;

ga=ga.parentNode;}




if(ha===this._parentLayer)
return;




if(this._parentLayer&&this._parentSubscription){
this._parentLayer.unsubscribe(this._parentSubscription);
this._parentSubscription=null;}



if(ha)
this._parentSubscription=ha.subscribe
('hide',
this.hide.bind(this));



this._parentLayer=ha;},






setPosition:function(ga){
if(this._getOrientation().setDefaultPosition(ga))
this._shown&&this.updatePosition();

return this;},






setAlignment:function(ga){
if(this._getOrientation().setDefaultAlignment(ga))
this._shown&&this.updatePosition();

return this;},






setOffsetX:function(ga){
if(this._getOrientation().setDefaultOffsetX(ga))
this._shown&&this.updatePosition();

return this;},






setOffsetY:function(ga){
if(this._getOrientation().setDefaultOffsetY(ga))
this._shown&&this.updatePosition();

return this;},





_getOrientation:function(){
if(!this._orientation)
this._orientation=new fa();

return this._orientation;},


getContentRoot:function(){
return this._contentWrapper;},





getContent:function(){
return this._content;},





getContext:function(){
if(!this._contextNode)





this._contextNode=n.find(document,this._contextSelector);

return this._contextNode;},









getContextBounds:function(ga){
if(this._contextBounds)
return this._contextBounds.convertTo(ga);


var ha=this.getContext();
return s.newFromVectors
(u.getElementPosition(ha,ga),
u.getElementDimensions(ha));},






getContextScrollParent:function(){
if(!this._contextScrollParent)
this._contextScrollParent=t.getScrollParent(this.getContext());

return this._contextScrollParent;},


setInsertParent:function(ga){
this._insertScrollParent=null;
return this.parent.setInsertParent(ga);},





getInsertScrollParent:function(){
if(!this._insertScrollParent)
this._insertScrollParent=t.getScrollParent(this.getInsertParent());

return this._insertScrollParent;},






show:function(){
if(this._shown)
return this;

this.parent.show();


if(this._shown){
k.register(this.getRoot(),this.getContext());
ca.push(this);
this._resizeListener=this._resizeListener||
g.listen
(window,
'resize',
w(this.updatePosition.bind(this)));}


return this;},






finishHide:function(){
ca.remove(this);
this._resizeListener&&this._resizeListener.remove();
this._resizeListener=null;
return this.parent.finishHide();},










updatePosition:function(){

var ga=this.getContext();
if(!ga)
return false;


var ha=
t.isFixed(ga)&&
!t.isFixed(this.getInsertParent());


if(!ha&&!ga.offsetParent)
return false;


var ia=this._getOrientation();

this.inform('adjust',ia.reset());
if(!ia.isValid())
return false;

this._updateWrapperPosition(ia);
this._updateWrapperClass(ia);

var ja=this.getRoot();



l.conditionClass
(ja,
'uiContextualLayerPositionerFixed',
ha);

var ka,la,
ma=ha?'viewport':'document',
na=ha?document.documentElement:aa(ja);
if(na===document.documentElement){
ka=new u(0,0);


la=document.documentElement.clientWidth;}else
if(!ja.offsetParent){

return false;}else{

ka=u.getElementPosition(na,ma);
la=na.offsetWidth;
if(na!==document.body)
ka=ka.sub
(new u(na.scrollLeft,na.scrollTop));}



var oa=this.getContextBounds(ma),

pa=oa.l-ka.x,
qa=oa.t-ka.y,
ra=oa.h(),
sa=oa.w(),

ta=q.isRTL();


if(ia.getPosition()==='below')
qa+=ra;




if((ia.getPosition()==='right'||
(ia.isVertical()&&
ia.getAlignment()==='right'))!=ta)
pa+=sa;


var ua=ia.getOffsetX();
if(ia.isVertical()&&ia.getAlignment()==='center')
ua+=(sa-this.getContentRoot().offsetWidth)/2;

if(ta)
ua*=-1;





var va='left',
wa=pa+ua;
if(z(ia)!==ta){
va='right';
wa=la-wa;}

t.set(ja,va,wa+'px');
t.set(ja,va==='left'?'right':'left','');


var xa=this.getInsertScrollParent(),
ya;
if(xa!==window){
ya=xa.clientWidth;}else 

ya=document.documentElement.clientWidth;

var za=u.getElementPosition(ja).x;
if(va==='left'){
if(ya-za>0){
t.set(ja,'width',(ya-za)+'px');}else 

t.set(ja,'width','');}else 


t.set(ja,'width',za+ja.offsetWidth+'px');


t.set(ja,'top',(qa+ia.getOffsetY())+'px');

var ab=y(ga,this.getInsertParent());
t.set(ja,'z-index',ab>200?ab:'');

this.inform('reposition',ia);
return true;},






_updateWrapperPosition:function(ga){

var ha=ga.getPosition()==='above';
t.set(this._contentWrapper,'bottom',ha?'0':null);


var ia=q.isRTL()?'left':'right',
ja=z(ga);
t.set(this._contentWrapper,ia,ja?'0':null);},





_updateWrapperClass:function(ga){
var ha=ga.getClassName();
if(ha===this._orientationClass)
return;

if(this._orientationClass)
l.removeClass(this._contentWrapper,this._orientationClass);

this._orientationClass=ha;
l.addClass(this._contentWrapper,ha);},











simulateOrientation:function(ga,ha){
var ia=ga.getClassName();
if(ia===this._orientationClass){
return ha();}else{

if(this._orientationClass)
l.removeClass(this._contentWrapper,this._orientationClass);

l.addClass(this._contentWrapper,ia);
var ja=ha();
l.removeClass(this._contentWrapper,ia);
if(this._orientationClass)
l.addClass(this._contentWrapper,this._orientationClass);

return ja;}},







destroy:function(){
this.parent.destroy();
this._contentWrapper=null;
this._content=null;
return this;}});




var da=x.thatReturnsArgument,
ea=x.thatReturnsArgument;
























function fa(){
this._default=
{_position:'above',
_alignment:'left',
_offsetX:0,
_offsetY:0,
_valid:true};

this.reset();}


fa.OPPOSITE=
{above:'below',
below:'above',
left:'right',
right:'left'};


v(fa.prototype,

{setPosition:function(ga){
this._position=da(ga);
return this;},


setAlignment:function(ga){
this._alignment=ea(ga);
return this;},


getOppositePosition:function(){
return fa.OPPOSITE[this.getPosition()];},


invalidate:function(){
this._valid=false;
return this;},


getPosition:function(){
return this._position||'above';},


getAlignment:function(){
return this._alignment||'left';},







getOffsetX:function(){
var ga=this._offsetX||0;
if(!this.isVertical()){
if(this._default._position!==this._position)
ga*=-1;}else

if(this._default._alignment!==this._alignment)
ga*=-1;

return ga;},


getOffsetY:function(){
var ga=this._offsetY||0;
if(this.isVertical()&&this._default._position!==this._position)
ga*=-1;

return ga;},


getClassName:function(){
var ga=this.getAlignment(),
ha=this.getPosition();
if(ha==='below'){
if(ga==='left'){
return 'uiContextualLayerBelowLeft';}else
if(ga==='right'){
return 'uiContextualLayerBelowRight';}else 

return 'uiContextualLayerBelowCenter';}else

if(ha==='above'){
if(ga==='left'){
return 'uiContextualLayerAboveLeft';}else
if(ga==='right'){
return 'uiContextualLayerAboveRight';}else 

return 'uiContextualLayerAboveCenter';}else

if(ha==='left'){
return 'uiContextualLayerLeft';}else 

return 'uiContextualLayerRight';},



isValid:function(){
return this._valid;},


isVertical:function(){
return this.getPosition()==='above'||this.getPosition()==='below';},


reset:function(ga,ha){
v(this,this._default);
return this;},






setDefaultPosition:function(ga){
var ha=this._default._position;
this._default._position=da(ga);
return ha!==ga;},


setDefaultAlignment:function(ga){
var ha=this._default._alignment;
this._default._alignment=ea(ga);
return ha!==ga;},


setDefaultOffsetX:function(ga){
var ha=this._default._offsetX;
this._default._offsetX=ga;
return ha!==ga;},


setDefaultOffsetY:function(ga){
var ha=this._default._offsetY;
this._default._offsetY=ga;
return ha!==ga;}});




e.exports=ba;});

/** js/ui/layer/behaviors/ContextualLayerDimensions.js */
__d("ContextualLayerDimensions",["DOM","Locale","Rect","Vector","ViewportBounds","ge","getOverlayZIndex"],function(a,b,c,d,e,f){



var g=b('DOM'),
h=b('Locale'),
i=b('Rect'),
j=b('Vector'),
k=b('ViewportBounds'),

l=b('ge'),
m=b('getOverlayZIndex'),

n=




{getViewportRect:function(o){
var p=l('globalContainer'),
q=o.getContext(),
r=
(p&&g.contains(p,q))||
m(q)<300,

s=i.getViewportBounds();
if(r){
s.t+=k.getTop();
if(h.isRTL()){
s.l+=k.getRight();}else 

s.r-=k.getRight();}


return s;},








getLayerRect:function(o,p){
var q=o.getContextBounds('viewport'),
r=o.simulateOrientation(p,function(){
return j.getElementDimensions(o.getContent());}),


s=q.t+p.getOffsetY();
if(p.getPosition()==='above'){
s-=r.y;}else
if(p.getPosition()==='below')
s+=q.b-q.t;


var t=q.l+p.getOffsetX(),
u=q.r-q.l;
if(p.isVertical()){
var v=p.getAlignment();
if(v==='center'){
t+=(u-r.x)/2;}else
if((v==='right')!==h.isRTL())
t+=u-r.x;}else 


if((p.getPosition()==='right')!==h.isRTL()){
t+=u;}else 

t-=r.x;



return new i
(s,
t+r.x,
s+r.y,
t,
'viewport');}};




e.exports=n;});

/** js/ui/layer/behaviors/ContextualLayerAutoFlip.js */
__d("ContextualLayerAutoFlip",["array-extensions","ContextualLayerDimensions","DOM","Vector","copyProperties"],function(a,b,c,d,e,f){



b('array-extensions');

var g=b('ContextualLayerDimensions'),
h=b('DOM'),
i=b('Vector'),

j=b('copyProperties');












function k(l){
this._layer=l;}


j(k.prototype,
{_subscription:null,

enable:function(){
this._subscription=this._layer.subscribe
('adjust',
this._adjustOrientation.bind(this));

if(this._layer.isShown())
this._layer.updatePosition();},



disable:function(){
this._subscription.unsubscribe();
this._subscription=null;
if(this._layer.isShown())
this._layer.updatePosition();},










_adjustOrientation:function(l,m){
var n=this._getValidPositions(m);
if(!n.length){
m.invalidate();
return;}

var o=g.getViewportRect(this._layer),
p=this._getValidAlignments(m),
q,r,s;
for(q=0;q<p.length;q++){
m.setAlignment(p[q]);
for(r=0;r<n.length;r++){
m.setPosition(n[r]);
s=g.getLayerRect
(this._layer,
m);

if(o.contains(s))
return;}}





m.setPosition
(n.contains('below')?'below':n[0]);




for(q=0;q<p.length;q++){
m.setAlignment(p[q]);
s=g.getLayerRect
(this._layer,
m);

if(s.l>=o.l&&
s.r<=o.r)

return;}



m.setAlignment(p[0]);},








_getValidPositions:function(l){
var m=
[l.getPosition(),
l.getOppositePosition()],

n=this._layer.getContextScrollParent();
if(n===window||
n===h.getDocumentScrollElement())

return m;

var o=this._layer.getContext(),
p=i.getElementPosition(n,'viewport').y,
q=i.getElementPosition(o,'viewport').y;

if(l.isVertical()){
return m.filter(function(s){
if(s==='above'){

return q>=p;}else{


var t=p+n.offsetHeight,
u=q+o.offsetHeight;
return u<=t;}});}else{




var r=p+n.offsetHeight;
if(q>=p&&
q+o.offsetHeight<=r){
return m;}else 

return [];}},







_getValidAlignments:function(l){
var m=['left','right','center'],
n=l.getAlignment(),
o=m.indexOf(n);
if(o>0){
m.splice(o,1);
m.unshift(n);}

return m;}});




e.exports=k;});

/** js/ui/layer/behaviors/ContextualLayerHideOnScroll.js */
__d("ContextualLayerHideOnScroll",["Event","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('copyProperties');













function i(j){
this._layer=j;}


h(i.prototype,
{_subscriptions:[],

enable:function(){
this._subscriptions=
[this._layer.subscribe
('contextchange',
this._handleContextChange.bind(this)),
this._layer.subscribe('show',this.attach.bind(this)),
this._layer.subscribe('hide',this.detach.bind(this))];},



disable:function(){
while(this._subscriptions.length)
this._subscriptions.pop().unsubscribe();

this.detach();},


attach:function(){
if(this._listener)
return;

var j=this._layer.getContextScrollParent();
if(j===window)
return;

this._listener=g.listen
(j,
'scroll',
this._layer.hide.bind(this._layer));},



detach:function(){
this._listener&&this._listener.remove();
this._listener=null;},


_handleContextChange:function(){
this.detach();
if(this._layer.isShown())
this.attach();}});





e.exports=i;});

/** js/ui/xhp/typeahead/renderers/BasicTypeaheadRenderer.js */
__d("BasicTypeaheadRenderer",["DOM"],function(a,b,c,d,e,f){




var g=b('DOM');







function h(i,j){
var k=[];

if(i.icon)
k.push(g.create('img',{alt:'',src:i.icon}));


if(i.text)
k.push(g.create('span',{className:'text'},[i.text]));


if(i.subtext)
k.push(g.create('span',{className:'subtext'},[i.subtext]));


var l=g.create('li',{className:i.type||''},k);
if(i.text)
l.setAttribute('aria-label',i.text);

return l;}


h.className='basic';

e.exports=h;});

/** js/modules/TypeaheadView.js */
__d("TypeaheadView",["Event","ArbiterMixin","BasicTypeaheadRenderer","CSS","DOM","Parent","$","copyProperties","emptyFunction"],function(a,b,c,d,e,f){




var g=b('Event'),

h=b('ArbiterMixin'),
i=b('BasicTypeaheadRenderer'),
j=b('CSS'),
k=b('DOM'),
l=b('Parent'),

m=b('$'),
n=b('copyProperties'),
o=b('emptyFunction');











function p(q,r){
this.element=this.content=m(q);
n(this,r);}


n(p.prototype,h,



{events:
['highlight',
'render',
'reset',
'select',
'beforeRender',
'next',
'prev'],







renderer:i,






autoSelect:false,

ignoreMouseover:false,










init:function(){
this.init=o;
this.initializeEvents();
this.reset();},






initializeEvents:function(){
g.listen(this.element,
{mouseup:this.mouseup.bind(this),
mouseover:this.mouseover.bind(this)});},






setTypeahead:function(q){
this.typeahead=q;},





setAccessibilityControlElement:function(q){
this.accessibilityElement=q;},





getElement:function(){
return this.element;},







mouseup:function(event){



if(event.button!=2){
this.select(true);
event.kill();}},








mouseover:function(event){
if(this.ignoreMouseover){
this.ignoreMouseover=false;
return;}

if(this.visible)
this.highlight(this.getIndex(event));},









reset:function(q){
if(!q)
this.disableAutoSelect=false;

this.justRendered=false;
this.justShown=false;
this.index=-1;
this.items=[];
this.results=[];
this.value='';
this.content.innerHTML='';
this.inform('reset');
return this;},










getIndex:function(event){
return this.items.indexOf(l.byTag(event.getTarget(),'li'));},










getSelection:function(){
var q=this.results[this.index]||null;
return this.visible?q:null;},







isEmpty:function(){
return !this.results.length;},







isVisible:function(){
return this.visible;},







show:function(){
j.show(this.element);
if(this.results&&this.results.length)


if(this.autoSelect&&this.accessibilityElement&&this.selected)
this.accessibilityElement.setAttribute
('aria-activedescendant',
k.getID(this.selected));



this.accessibilityElement&&
this.accessibilityElement.setAttribute('aria-expanded','true');
this.visible=true;
return this;},





hide:function(){
j.hide(this.element);
if(this.accessibilityElement){
this.accessibilityElement.setAttribute('aria-expanded','false');
this.accessibilityElement.removeAttribute('aria-activedescendant');}

this.visible=false;
return this;},














render:function(q,r,s){
this.value=q;

if(!r.length){
this.accessibilityElement&&
this.accessibilityElement.removeAttribute('aria-activedescendant');
this.reset(true);
return;}


this.justRendered=true;
if(!this.results.length)
this.justShown=true;


var t={results:r,value:q};
this.inform('beforeRender',t);
r=t.results;
var u=this.getDefaultIndex(r);

if(this.index>0&&this.index!==this.getDefaultIndex(this.results)){


var v=this.results[this.index];
for(var w=0,x=r.length;w<x;++w)
if(v.uid==r[w].uid){
u=w;break;}}




this.results=r;
k.setContent(this.content,this.buildResults(r));
this.items=this.getItems();



this.highlight(u,false);
this.inform('render',r);},








getItems:function(){
return k.scry(this.content,'li');},












buildResults:function(q){
var r,
s=null;
if(typeof this.renderer=='function'){
r=this.renderer;
s=this.renderer.className||'';}else{

r=a.TypeaheadRenderers[this.renderer];
s=this.renderer;}


r=r.bind(this);
var t=q.map(function(v,w){
var x=v.node||r(v,w);
x.setAttribute('role','option');
return x;}),


u=
k.create
('ul',

{className:s,
id:'typeahead_list_'+
(this.typeahead?
k.getID(this.typeahead):k.getID(this.element))},

t);

u.setAttribute('role','listbox');
return u;},





getDefaultIndex:function(q){
var r=(this.autoSelect&&!this.disableAutoSelect);

return this.index<0&&!r?-1:0;},





next:function(){
this.highlight(this.index+1);
this.inform('next',this.selected);},





prev:function(){
this.highlight(this.index-1);
this.inform('prev',this.selected);},


getItemText:function(q){
var r='';
if(q){
r=q.getAttribute('aria-label');
if(!r){





r=k.getText(q);
q.setAttribute('aria-label',r);}}


return r;},






setIsViewingSelectedItems:function(q){
this.viewingSelected=q;
return this;},

getIsViewingSelectedItems:function(){
return this.viewingSelected;},










highlight:function(q,r){
var s=true;
if(this.selected){
j.removeClass(this.selected,'selected');
this.selected.setAttribute('aria-selected','false');}

if(q>this.items.length-1){q=-1;}else
if(q<-1)q=this.items.length-1;
if(q>=0&&q<this.items.length){
if(this.selected&&
this.getItemText(this.items[q])===
this.getItemText(this.selected))
s=false;

this.selected=this.items[q];
j.addClass(this.selected,'selected');
this.selected.setAttribute('aria-selected','true');
this.accessibilityElement&&this.accessibilityElement.setAttribute
('aria-activedescendant',
k.getID(this.selected));}else 


this.accessibilityElement&&
this.accessibilityElement.removeAttribute('aria-activedescendant');

this.index=q;
this.disableAutoSelect=(q==-1);









var t=(q!==-1),
u=this.getItemText(this.selected);
if(q!==-1&&this.isVisible()&&u&&this.autoSelect)
if(this.justShown){
this.justRendered=false;
this.justShown=false;
t=false;}else
if(s&&this.justRendered){
this.justRendered=false;
t=false;}



if(r!==false)
this.inform
('highlight',
{index:q,selected:this.results[q],element:this.selected});},














select:function(q){
var r=this.index,
s=this.results[r],
t=this.element.getAttribute('id');

if(s){
this.inform('select',
{index:r,
clicked:!!q,
selected:s,
id:t});

this.inform('afterSelect');}}});





e.exports=p;});

/** js/ui/xhp/typeahead/BucketedTypeaheadView.js */
__d("BucketedTypeaheadView",["Class","DOM","TypeaheadView","copyProperties"],function(a,b,c,d,e,f){




var g=b('Class'),
h=b('DOM'),
i=b('TypeaheadView'),

j=b('copyProperties');





function k(l,m){
this.parent.construct(this,l,m);}


g.extend(k,i);

j(k.prototype,

{render:function(l,m,n){
m=this.buildBuckets(l,m);
return this.parent.render(l,m,n);},












highlight:function(l,m){



if(l==-1&&this.index!==0)
l=this.index;




if(l>=0&&l<this.items.length&&
this.results[l].type=='header')


l=l+1;

this.parent.highlight(l,m);},


buildBuckets:function(l,m){
if(!this.typeObjects)
return m;


var n=[],
o={};

for(var p=0;p<m.length;++p){
var q=m[p],
r=q.render_type||q.type;

if(!o.hasOwnProperty(r)){

o[r]=n.length;
n.push([this.buildBucketHeader(r)]);}


q.classNames=r;
q.groupIndex=o[r];
q.indexInGroup=n[q.groupIndex].length-1;
n[q.groupIndex].push(q);}



var s=[];

if(this.typeObjectsOrder){
for(var t=0;t<this.typeObjectsOrder.length;++t){
var u=this.typeObjectsOrder[t];
if(o.hasOwnProperty(u))
s=
s.concat(n[o[u]]);}}else 



for(var v=0;v<n.length;++v)
s=s.concat(n[v]);



return s;},


buildBucketHeader:function(l){
var m=this.typeObjects[l];

if(m.markup){
m.text=m.markup;
delete m.markup;}

return this.typeObjects[l];},


buildResults:function(l){
var m=this.parent.buildResults(l);
if(this.typeObjects){
return h.create('div',{className:'bucketed'},[m]);}else 

return m;},



select:function(l){
var m=this.results[this.index];
if(m&&m.type!='header')
this.parent.select(l);},






getDefaultIndex:function(l){
var m=(this.autoSelect&&!this.disableAutoSelect),
n=l.length===0?-1:
(l[0].type=='header'?1:0);
return this.index<0&&!m?-1:n;},


prev:function(){
var l=this.results[this.index-1];
if(l&&l.type=='header')
this.index--;

return this.parent.prev();},


next:function(){
var l=this.results[this.index+1];
if(l&&l.type=='header')
this.index++;

return this.parent.next();}});




e.exports=k;});

/** js/modules/ContextualTypeaheadView.js */
__d("ContextualTypeaheadView",["Class","ContextualLayer","ContextualLayerAutoFlip","ContextualLayerHideOnScroll","CSS","DOM","Style","BucketedTypeaheadView","Vector","copyProperties"],function(a,b,c,d,e,f){




var g=b('Class'),
h=b('ContextualLayer'),
i=b('ContextualLayerAutoFlip'),
j=b('ContextualLayerHideOnScroll'),
k=b('CSS'),
l=b('DOM'),
m=b('Style'),
n=b('BucketedTypeaheadView'),
o=b('Vector'),

p=b('copyProperties');









function q(r,s){
this.parent.construct(this,r,s);}


g.extend(q,n);

p(q.prototype,






{init:function(){
this.initializeLayer();
this.parent.init();},






initializeLayer:function(){
this.context=this.getContext();



this.wrapper=l.create('div');
l.appendContent(this.wrapper,this.element);

k.addClass(this.element,'uiContextualTypeaheadView');

this.layer=new h
({context:this.context,
position:'below',
alignment:this.alignment,
causalElement:this.causalElement},
this.wrapper);
this.layer.enableBehavior(j);

if(m.isFixed(this.context)||this.autoflip)
this.layer.enableBehavior(i);


this.subscribe('render',this.renderLayer.bind(this));},







show:function(){
if(!this.autoWidth)
o.getElementDimensions(this.context).setElementWidth(this.wrapper);

var r=this.parent.show();
this.layer.show();
return r;},





hide:function(){
this.layer.hide();
return this.parent.hide();},


renderLayer:function(){
if(!this.isVisible())
return;

if(this.layer.isShown()){
this.layer.updatePosition();}else 


this.layer.show();},



getContext:function(){
return this.element.parentNode;}});




e.exports=q;});

/** js/modules/DOMClone.js */
__d("DOMClone",[],function(a,b,c,d,e,f){



var g=





{shallowClone:function(i){
return h(i,false);},







deepClone:function(i){
return h(i,true);}};



function h(i,j){
var k=i.cloneNode(j);


if(typeof k.__FB_TOKEN!=='undefined')
delete k.__FB_TOKEN;

return k;}


e.exports=g;});

/** js/modules/DialogHideOnSuccess.js */
__d("DialogHideOnSuccess",["copyProperties","CSS","cx"],function(a,b,c,d,e,f){



var g=b('copyProperties'),
h=b('CSS'),
i=b('cx');

function j(k){
this._layer=k;}


g(j.prototype,
{_subscription:null,
enable:function(){
this._subscription=this._layer.subscribe
('success',
this._handle.bind(this));},


disable:function(){
this._subscription.unsubscribe();
this._subscription=null;},

_handle:function(k,event){
if(h.hasClass(event.getTarget(),"_s"))
this._layer.hide();}});




e.exports=j;});

/** js/modules/DocumentTitle.js */
__d("DocumentTitle",["Arbiter"],function(a,b,c,d,e,f){




















var g=b('Arbiter'),

h=document.title,
i=null,
j=1500,
k=[],
l=0,
m=null,
n=false;

function o(){
if(k.length>0){
if(!n){
p(k[l].title);
l=++l%k.length;}else 

q();}else{



clearInterval(m);
m=null;

q();}}



function p(s){
document.title=s;
n=true;}


function q(){
r.set(i||h,true);
n=false;}


var r=






{get:function(){
return h;},











set:function(s,t){
document.title=s;
if(!t){
h=s;
i=null;
g.inform('update_title',s);}else 

i=s;},
















blink:function(s){
var t={title:s};

k.push(t);
if(m===null)
m=setInterval(o,j);


return {stop:function(){
var u=k.indexOf(t);
if(u>=0){
k.splice(u,1);



if(l>u){
l--;}else
if(l==u&&
l==k.length)
l=0;}}};}};







e.exports=r;});

/** js/modules/Ease.js */
__d("Ease",[],function(a,b,c,d,e,f){





































var g=












{makePowerOut:function(h){
return function(i){
var j=1-Math.pow(1-i,h);


return (j*10000|0)/10000;};},








makePowerIn:function(h){
return function(i){
var j=Math.pow(i,h);
return (j*10000|0)/10000;};},








makePowerInOut:function(h){
return function(i){
var j=((i*=2)<1)?
Math.pow(i,h)*.5:
1-Math.abs(Math.pow(2-i,h))*.5;
return (j*10000|0)/10000;};},






sineOut:function(h){
return Math.sin(h*Math.PI*.5);},


sineIn:function(h){
return 1-Math.cos(h*Math.PI*.5);},


sineInOut:function(h){
return -.5*(Math.cos(Math.PI*h)-1);},






circOut:function(h){
return Math.sqrt(1-(--h)*h);},


circIn:function(h){
return -(Math.sqrt(1-h*h)-1);},


circInOut:function(h){
return ((h*=2)<1)?
-.5*(Math.sqrt(1-h*h)-1):
.5*(Math.sqrt(1-(h-=2)*h)+1);},






bounceOut:function(h){
if(h<1/2.75){
return (7.5625*h*h);}else
if(h<2/2.75){
return (7.5625*(h-=1.5/2.75)*h+.75);}else
if(h<2.5/2.75){
return (7.5625*(h-=2.25/2.75)*h+.9375);}else 

return (7.5625*(h-=2.625/2.75)*h+.984375);},






bounceIn:function(h){
return 1-g.bounceOut(1-h);},





bounceInOut:function(h){
return (h<.5)?
g.bounceIn(h*2)*.5:
g.bounceOut(h*2-1)*.5+.5;},










makeElasticOut:function(h,i){
h<1&&(h=1);
var j=Math.PI*2;
return function(k){
if(k===0||k===1)
return k;

var l=i/j*Math.asin(1/h);
return h*Math.pow(2,-10*k)*
Math.sin((k-l)*j/i)+1;};},










makeElasticIn:function(h,i){
h<1&&(h=1);
var j=Math.PI*2;
return function(k){
if(k===0||k===1)
return k;

var l=i/j*Math.asin(1/h);
return -(h*Math.pow(2,10*(k-=1))*
Math.sin((k-l)*j/i));};},








makeElasticInOut:function(h,i){
h<1&&(h=1);
i*=1.5;
var j=Math.PI*2;
return function(k){
var l=i/j*Math.asin(1/h);
return ((k*=2)<1)?
-.5*h*Math.pow(2,10*(k-=1))*
Math.sin((k-l)*j/i):
1+.5*h*Math.pow(2,-10*(k-=1))*
Math.sin((k-l)*j/i);};},










makeBackOut:function(h){
return function(i){
return (--i*i*((h+1)*i+h)+1);};},









makeBackIn:function(h){
return function(i){
return i*i*((h+1)*i-h);};},








makeBackInOut:function(h){
h*=1.525;
return function(i){
return ((i*=2)<1)?
.5*(i*i*((h+1)*i-h)):
.5*((i-=2)*i*((h+1)*i+h)+2);};}};








g.elasticOut=g.makeElasticOut(1,.3);
g.elasticIn=g.makeElasticIn(1,.3);
g.elasticInOut=g.makeElasticInOut(1,.3);
g.backOut=g.makeBackOut(1.7);
g.backIn=g.makeBackIn(1.7);
g.backInOut=g.makeBackInOut(1.7);


e.exports=g;});

/** js/modules/FileInput.js */
__d("FileInput",["Event","ArbiterMixin","DOM","DOMClone","Focus","UserAgent","copyProperties","cx"],function(a,b,c,d,e,f){




var g=b('Event'),

h=b('ArbiterMixin'),
i=b('DOM'),
j=b('DOMClone'),
k=b('Focus'),
l=b('UserAgent'),

m=b('copyProperties'),
n=b('cx'),

o=l.ie();

function p(q,r,s){
this.container=q;
this.control=r;
this.input=s;

var t=i.scry(this.container,'a')[0];


t&&t.removeAttribute('href');


var u=i.create('div',{className:"_3jk"},this.input);



i.appendContent(this.control,u);

this._initListeners();}


m(p.prototype,h,

{getValue:function(){
return this.input.value;},


getInput:function(){
return this.input;},






clear:function(){


if(o){
var q=j.deepClone(this.input);
i.replace(this.input,q);
this.input=q;
while(this._listeners.length)
this._listeners.pop().remove();

this._initListeners();}else{

this.input.value='';
this.input.files=null;}},



_initListeners:function(){
k.relocate(this.input,this.control);

this._listeners=
[g.listen
(this.input,
'change',
o===7?
this._handleChangeInIE7.bind(this):
this._handleChange.bind(this))];},









_handleChangeInIE7:function(event){
if(this._blurring){
this._blurring=false;
return;}

this._handleChange(event);
(function(){
this._blurring=true;
this.input.blur();}).
bind(this).defer();},


_handleChange:function(event){
this.inform('change',event);

var q=this.input.form;
if(q&&o<9)
g.fire(q,'change',event);}});





e.exports=p;});

/** js/modules/JSONPTransport.js */
__d("JSONPTransport",["ArbiterMixin","DOM","HTML","URI","copyProperties"],function(a,b,c,d,e,f){



var g=b('ArbiterMixin'),
h=b('DOM'),
i=b('HTML'),
j=b('URI'),

k=b('copyProperties'),


l={},


m=2,


n='jsonp',
o='iframe';

function p(r){
delete l[r];}









function q(r,s){





this._type=r;
this._uri=s;

l[this.getID()]=this;}


k(q,








{respond:function(r,s,t){
var u=l[r];
if(u){
if(!t)
p(r);

if(u._type==o)






s=JSON.parse(JSON.stringify(s));


a.async_callback
(u.handleResponse.bind(u),
'json')
(s);}else 


if(a.logJSError&&!t)
a.logJSError('ajax',
{error:'UnexpectedJsonResponse',
extra:
{id:r,
uri:(s.payload&&s.payload.uri)||''}});}});








k(q.prototype,g,

{getID:function(){
return this._id||(this._id=m++);},


hasFinished:function(){
return !(this.getID() in l);},


getRequestURI:function(){

return j(this._uri).addQueryData
({__a:1,
__adt:this.getID(),
__req:'jsonp_'+this.getID()});},



getTransportFrame:function(){
if(this._iframe)
return this._iframe;

var r='transport_frame_'+this.getID(),




s=i
('<iframe class="hidden_elem" name="'+r+'" src="javascript:void(0)" />');

return this._iframe=h.appendContent(document.body,s)[0];},


send:function(){






if(this._type===n){


(function(){
h.appendContent
(document.body,
h.create('script',
{src:this.getRequestURI().toString(),
type:'text/javascript'}));}).


bind(this).defer();}else 

this.getTransportFrame().src=this.getRequestURI().toString();},



handleResponse:function(r){
this.inform('response',r);
if(this.hasFinished())


this._cleanup.bind(this).defer();},



abort:function(){
if(this._aborted)
return;

this._aborted=true;
this._cleanup();
p(this.getID());
this.inform('abort');},


_cleanup:function(){
if(this._iframe){

h.remove(this._iframe);
this._iframe=null;}}});





e.exports=q;});

/** js/modules/JSXDOM.js */
__d("JSXDOM",["DOM","flattenArray"],function(a,b,c,d,e,f){

































var g=b('DOM'),

h=b('flattenArray'),


i=
['a',
'br',
'button',
'checkbox',
'dd',
'div',
'dl',
'dt',
'form',
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'hr',
'i',
'iframe',
'img',
'input',
'label',
'li',
'option',
'p',
'pre',
'select',
'span',
'strong',
'table',
'tbody',
'thead',
'td',
'textarea',
'th',
'tr',
'ul'],


j={};
i.forEach(function(k){
var l=function(m){
var n;
if(m.children){
n=Array.isArray(m.children)?
h(m.children):
h([m.children]);
delete m.children;}

return g.create(k,m,n);};

j[k]=l;});


e.exports=j;});

/** js/modules/KeyStatus.js */
__d("KeyStatus",["Event"],function(a,b,c,d,e,f){









var g=b('Event'),

h=null,
i=null;





function j(){
if(!i)
i=g.listen(window,'blur',function(){
h=null;
k();});}




function k(){
if(i){
i.remove();
i=null;}}







g.listen(document.documentElement,'keydown',function(m){
h=g.getKeyCode(m);
j();},
g.Priority.URGENT);
g.listen(document.documentElement,'keyup',function(m){
h=null;
k();},
g.Priority.URGENT);

var l=
{isKeyDown:function(){
return !!h;},


getKeyDownCode:function(){
return h;}};



e.exports=l;});

/** js/modules/Menu.js */
__d("Menu",["Event","Arbiter","CSS","DataStore","DOM","HTML","Keys","Parent","Run","Style","UserAgent","copyProperties"],function(a,b,c,d,e,f){










var g=b('Event'),

h=b('Arbiter'),
i=b('CSS'),
j=b('DataStore'),
k=b('DOM'),
l=b('HTML'),
m=b('Keys'),
n=b('Parent'),
o=b('Run'),
p=b('Style'),
q=b('UserAgent'),

r=b('copyProperties'),

s=null,
t='menu:mouseover',
u=null;






function v(da){
if(i.hasClass(da,'uiMenuContainer'))
return da;

return n.byClass(da,'uiMenu');}








function w(da){
return n.byClass(da,'uiMenuItem');}








function x(da){
if(document.activeElement){
var ea=w(document.activeElement);
return da.indexOf(ea);}

return -1;}







function y(da){
return k.find(da,'a.itemAnchor');}







function z(da){
return i.hasClass(da,'checked');}







function aa(da){
return !i.hasClass(da,'disabled')&&
p.get(da,'display')!=='none';}







function ba(event){
var da=document.activeElement;
if(!da||
!n.byClass(da,'uiMenu')||
!k.isNodeOfType(da,['input','textarea'])){
var ea=w(event.getTarget());
ea&&s.focusItem(ea);}}








function ca(da){
q.firefox()&&y(da).blur();
s.inform('select',{menu:v(da),item:da});}






o.onLoad(function(){
var da={};


da.click=function(event){
var ea=w(event.getTarget());
if(ea&&aa(ea)){
ca(ea);





var fa=y(ea),
ga=fa.href,
ha=fa.getAttribute('rel');
return (ha&&ha!=='ignore')||
(ga&&ga.charAt(ga.length-1)!=='#');}};





da.keydown=function(event){
var ea=event.getTarget();


if(event.getModifiers().any)
return;



if(!u||k.isNodeOfType(ea,['input','textarea']))
return;


var fa=g.getKeyCode(event),
ga;
switch(fa){
case m.UP:
case m.DOWN:

var ha=s.getEnabledItems(u);
ga=x(ha);
s.focusItem(ha[ga+(fa===m.UP?-1:1)]);
return false;
case m.SPACE:
var ia=w(ea);
if(ia){
ca(ia);
event.prevent();}

break;





default:var ja=String.fromCharCode(fa).toLowerCase(),
ka=s.getEnabledItems(u);
ga=x(ka);
var la=ga,
ma=ka.length;



while((~ga&&(la=++la%ma)!==ga)||(!~ga&&++la<ma)){
var na=s.getItemLabel(ka[la]);
if(na&&na.charAt(0).toLowerCase()===ja){
s.focusItem(ka[la]);
return false;}}


}};



g.listen(document.body,da);});


s=e.exports=r(new h(),




{focusItem:function(da){
if(da&&aa(da)){
this._removeSelected(v(da));
i.addClass(da,'selected');
y(da).focus();}},








getEnabledItems:function(da){
return s.getItems(da).filter(aa);},







getCheckedItems:function(da){
return s.getItems(da).filter(z);},







getItems:function(da){
return k.scry(da,'li.uiMenuItem');},







getItemLabel:function(da){
return da.getAttribute('data-label',2)||'';},






isItemChecked:function(da){
return i.hasClass(da,'checked');},













register:function(da,ea){
da=v(da);



if(!j.get(da,t))
j.set(da,t,
g.listen(da,'mouseover',ba));


if(ea!==false)
u=da;},








setItemEnabled:function(da,ea){



if(!ea&&!k.scry(da,'span.disabledAnchor')[0])
k.appendContent
(da,
k.create
('span',
{className:k.find(da,'a').className+' disabledAnchor'},
l(y(da).innerHTML)));





i.conditionClass(da,'disabled',!ea);},






toggleItem:function(da){
var ea=!s.isItemChecked(da);
s.setItemChecked(da,ea);},







setItemChecked:function(da,ea){
i.conditionClass(da,'checked',ea);
y(da).setAttribute('aria-checked',ea);},







unregister:function(da){
da=v(da);

var ea=j.remove(da,t);
ea&&ea.remove();

u=null;

this._removeSelected(da);},


_removeSelected:function(da){
s.getItems(da).
filter(function(ea){return i.hasClass(ea,'selected');}).
forEach(function(ea){i.removeClass(ea,'selected');});}});});

/** js/modules/MenuXItemInterface.js */
__d("MenuXItemInterface",["copyProperties","emptyFunction"],function(a,b,c,d,e,f){



var g=b('copyProperties'),
h=b('emptyFunction');

function i(){}

g(i.prototype,
{_root:null,

getRoot:function(){
if(!this._root)
this._root=this.render();

return this._root;},


render:h,

getAccessKey:h,

hasAction:h.thatReturnsFalse,

focus:h.thatReturnsFalse,

blur:h.thatReturnsFalse,

handleClick:h.thatReturnsFalse});


e.exports=i;});

/** js/modules/MenuXItemBase.js */
__d("MenuXItemBase",["Class","copyProperties","DOM","HTML","MenuXItemInterface"],function(a,b,c,d,e,f){




var g=b('Class'),
h=b('copyProperties'),
i=b('DOM'),
j=b('HTML'),
k=b('MenuXItemInterface');

function l(m){
this.parent.construct(this);
this._data=m;}


g.extend(l,k);

h(l.prototype,
{render:function(){
var m='uiMenuXItem';
if(this._data.className)
m+=' '+this._data.className;

var n={className:m,'aria-selected':'false'};

for(var o in this._data)
if(o.indexOf('data-')===0)
n[o]=this._data[o];


return i.create('li',n,this._renderItemContent());},


_renderItemContent:function(){
return j(this._data.markup).getNodes();}});



e.exports=l;});

/** js/modules/MenuXItem.js */
__d("MenuXItem",["Class","CSS","DOM","MenuXItemBase","copyProperties","emptyFunction"],function(a,b,c,d,e,f){





var g=b('Class'),
h=b('CSS'),
i=b('DOM'),
j=b('MenuXItemBase'),

k=b('copyProperties'),
l=b('emptyFunction');

function m(n){
this.parent.construct(this,n);}


g.extend(m,j);

k(m.prototype,
{getValue:function(){
return this._data.value;},


getAccessKey:function(){
return this._data.label&&this._data.label.charAt(0);},


hasAction:l.thatReturnsTrue,

focus:function(n){

if(!this._root.offsetParent)
return false;

h.addClass(this._anchor,'highlighted');
h.addClass(this._root,'selected');
this._root.setAttribute('aria-selected','true');


n||this._anchor.focus();},


blur:function(){
h.removeClass(this._anchor,'highlighted');
h.removeClass(this._root,'selected');
this._root.setAttribute('aria-selected','false');},


handleClick:function(){
if(typeof this._onclickHandler==='function')
return this._onclickHandler();





return !!((this._data.rel&&this._data.rel!=='ignore')||
this._data.href);},


setOnClickHandler:function(n){
this._onclickHandler=n;},


_renderItemContent:function(){
this._anchor=i.create('a',
{className:'itemAnchor'},
i.create
('span',
{className:'itemLabel'},
this._data.markup||this._data.label));



if(this._data.icon){
i.prependContent(this._anchor,this._data.icon);
h.addClass(this._anchor,'hasIcon');}


this._anchor.setAttribute('href',this._data.href||'#');
if(this._data.rel){
this._anchor.setAttribute('rel',this._data.rel);}else
if(!this._data.href)
this._anchor.setAttribute('rel','ignore');

if(this._data.ajaxify)
this._anchor.setAttribute('ajaxify',this._data.ajaxify);

if(this._data.target)
this._anchor.setAttribute('target',this._data.target);


this._anchor.setAttribute('role','menuitem');








this._anchor.setAttribute('title',this._data.title);
return this._anchor;}});



e.exports=m;});

/** js/modules/core/requestAnimationFrame.js */
__d("requestAnimationFrame",["emptyFunction"],function(a,b,c,d,e,f){



var g=b('emptyFunction'),

h=
window.requestAnimationFrame||
window.webkitRequestAnimationFrame||
window.mozRequestAnimationFrame||
window.oRequestAnimationFrame||
window.msRequestAnimationFrame||
function(i){



return window.setTimeout(i,33);};



h(g);

e.exports=h;});

/** js/modules/queryThenMutateDOM.js */
__d("queryThenMutateDOM",["function-extensions","requestAnimationFrame"],function(a,b,c,d,e,f){



b('function-extensions');

var g=b('requestAnimationFrame');










function h(n,o,p){
if(!n&&!o)





return;


if(p&&i.hasOwnProperty(p)){
return;}else
if(p)
i[p]=1;


m();

o&&j.push(o);
n&&k.push(n);}


var i={},
j=[],
k=[];


function l(){
var n=k;
k=[];

var o=j;
j=[];

i={};

var p;
for(p=0;p<n.length;++p)
n[p]();


for(p=0;p<o.length;++p)
o[p]();}





function m(){
if(!k.length&&!j.length)
g(g.curry
(l));}




e.exports=h;});

/** js/modules/OnVisible.js */
__d("OnVisible",["Event","Arbiter","Run","Vector","ViewportBounds","coalesce","copyProperties","queryThenMutateDOM"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('Arbiter'),
i=b('Run'),
j=b('Vector'),
k=b('ViewportBounds'),

l=b('coalesce'),
m=b('copyProperties'),
n=b('queryThenMutateDOM'),

o=[],
p,
q=[],
r,
s,
t,
u;

function v(){
o.forEach(function(ba){
ba.remove();});


if(s){
s.remove();
r.remove();
p.unsubscribe();
s=r=p=null;}


o.length=0;}


function w(){
if(!o.length){
v();
return;}


q.length=0;
t=j.getScrollPosition().y;
u=j.getViewportDimensions().y;





for(var ba=0;ba<o.length;++ba){
var ca=o[ba];

if(isNaN(ca.elementHeight))
q.push(ba);


ca.elementHeight=j.getElementDimensions(ca.element).y;
ca.elementPos=j.getElementPosition(ca.element);}}



function x(){
var ba=k.getTop();


for(var ca=o.length-1;ca>=0;--ca){
var da=o[ca];


if(!da.elementPos||da.removed){
o.splice(ca,1);
continue;}



var ea=t+u+da.buffer;



if(ea>da.elementPos.y){
var fa=!da.strict||
(t+ba-da.buffer<
(da.elementPos.y+da.elementHeight));

if(fa){
da.remove();
da.handler(q.indexOf(ca)!==-1);}}}}





function y(){

z();

if(o.length)
return;


s=g.listen(window,'scroll',z);
r=g.listen(window,'resize',z);
p=h.subscribe('dom-scroll',z);}


function z(){
n(w,x,'OnVisible/positionCheck');}




















function aa(ba,ca,da,ea){
this.element=ba;
this.handler=ca;
this.strict=da;
this.buffer=l(ea,300);

if(o.length===0)
i.onLeave(v);


y();
o.push(this);}


m(aa.prototype,
{remove:function(){
this.removed=true;},


reset:function(){
this.elementHeight=null;
o.indexOf(this)===-1&&o.push(this);
y();},


setBuffer:function(ba){
this.buffer=ba;
z();},


checkBuffer:function(){
z();}});



e.exports=aa;});

/** js/modules/PixelRatio.js */
__d("PixelRatio",["Arbiter","Cookie","Run"],function(a,b,c,d,e,f){















var g=b('Arbiter'),
h=b('Cookie'),
i=b('Run'),

j='dpr',

k,
l;

function m(){
return window.devicePixelRatio||1;}


function n(){
h.set(j,m());}


function o(){
h.clear(j);}


function p(){
var r=m();
if(r!==k){
n();}else 

o();}



var q=
{startDetecting:function(r){
k=r||1;

o();

if(l)
return;


l=
[g.subscribe('pre_page_transition',p)];


i.onBeforeUnload(p);}};



e.exports=q;});

/** js/modules/PostLoadJS.js */
__d("PostLoadJS",["Bootloader","Run","emptyFunction"],function(a,b,c,d,e,f){



var g=b('Bootloader'),
h=b('Run'),

i=b('emptyFunction');

function j(l,m){
h.onAfterLoad(function(){


g.loadModules.call(g,[l],m);});}



var k=
{loadAndRequire:function(l){
j(l,i);},


loadAndCall:function(l,m,n){
j(l,function(o){
o[m].apply(o,n);});}};




e.exports=k;});

/** js/ui/UIPagelet.js */
__d("UIPagelet",["AjaxPipeRequest","AsyncRequest","DOM","HTML","ScriptPathState","URI","copyProperties","emptyFunction","ge"],function(a,b,c,d,e,f){
























var g=b('AjaxPipeRequest'),
h=b('AsyncRequest'),
i=b('DOM'),
j=b('HTML'),
k=b('ScriptPathState'),
l=b('URI'),

m=b('copyProperties'),
n=b('emptyFunction'),
o=b('ge');

function p(q,
r,
s,
t){

this._id=q||null;
this._element=o(q||i.create('div'));
this._src=r||null;
this._context_data=s||{};
this._data=t||{};
this._handler=n;
this._request=null;
this._use_ajaxpipe=false;
this._is_bundle=true;
this._allow_cross_page_transition=false;
this._append=false;
return this;}




































































p.loadFromEndpoint=function(q,
r,
s,
t){

t=t||{};

var u='/ajax/pagelet/generic.php/';
if(t.intern)
u='/intern'+u;


var v=new l((u+q).replace(/\/+/g,'/'));
if(t.subdomain)
v.setSubdomain(t.subdomain);










var w=new p(r,v,s).
setUseAjaxPipe(t.usePipe).
setPageletCacheMiss(t.pageletCacheMiss).


setBundleOption(q.substring(0,8)!='/intern/'&&
t.bundle!==false).
setAppend(t.append).
setJSNonBlock(t.jsNonblock).
setAutomatic(t.automatic).
setDisplayCallback(t.displayCallback).
setConstHeight(t.constHeight).
setAllowCrossPageTransition(t.crossPage);

t.handler&&w.setHandler(t.handler);
w.go();

return w;};


m(p.prototype,





{getElement:function(q){
q=q||false;
if(q)
this._element=o(this._id);

return this._element;},











setHandler:function(q){
this._handler=q;
return this;},















go:function(q,r){
if(arguments.length>=2||typeof q=='string'){
this._src=q;
this._data=r||{};}else
if(arguments.length==1)
this._data=q;


this.refresh();
return this;},


setAllowCrossPageTransition:function(q){
this._allow_cross_page_transition=q;
return this;},


setBundleOption:function(q){
this._is_bundle=q;
return this;},


refresh:function(q){
var r=function(u){
this._request=null;
if(q&&this._id)
this._element=o(this._id);

var v=j(u.getPayload());
if(this._append){
i.appendContent(this._element,v);}else 

i.setContent(this._element,v);

this._handler();}.
bind(this);

if(this._use_ajaxpipe){
k.setIsUIPageletRequest(true);
this._request=new g();
this._request.setCanvasId(this._id).
setAppend(this._append).
setConstHeight(this._constHeight).
setJSNonBlock(this._jsNonblock).
setAutomatic(this._automatic).
setPageletCacheMiss(this._pageletCacheMiss).
setDisplayCallback(this._displayCallback);}else{

var s=this._displayCallback;
this._request=new h().
setMethod('GET').
setReadOnly(true).
setOption('bundle',this._is_bundle).
setHandler(function(u){
if(s){
s(r.curry(u));}else 

r(u);});}



var t={};
m(t,this._context_data);
m(t,this._data);
this._request.
setURI(this._src).
setAllowCrossPageTransition(this._allow_cross_page_transition).
setData({data:JSON.stringify(t)}).
send();
return this;},







cancel:function(){
if(this._request)
this._request.abort();},













setUseAjaxPipe:function(q){
this._use_ajaxpipe=!!q;
return this;},


setPageletCacheMiss:function(q){
this._pageletCacheMiss=q;
return this;},


setAppend:function(q){
this._append=!!q;
return this;},


setJSNonBlock:function(q){
this._jsNonblock=!!q;
return this;},


setAutomatic:function(q){
this._automatic=!!q;
return this;},


setDisplayCallback:function(q){








this._displayCallback=q;
return this;},


setConstHeight:function(q){
this._constHeight=!!q;
return this;}});



e.exports=p;});

/** js/modules/ScrollingPager.js */
__d("ScrollingPager",["Arbiter","copyProperties","CSS","OnVisible","UIPagelet","$","ge"],function(a,b,c,d,e,f){



var g=b('Arbiter'),
h=b('copyProperties'),
i=b('CSS'),
j=b('OnVisible'),
k=b('UIPagelet'),

l=b('$'),
m=b('ge'),

n={};





















function o(p,
q,
r,
s){
this.scroll_loader_id=p;
this.pagelet_src=q;
this.data=r;
this.options=s||{};

if(this.options.target_id){
this.target_id=this.options.target_id;
this.options.append=true;}else 

this.target_id=p;


this.handler=null;}


h(o,
{REGISTERED:'ScrollingPager/registered',

getInstance:function(p){
return n[p];}});



h(o.prototype,




{setBuffer:function(p){
this.options.buffer=p;
this.onvisible&&this.onvisible.setBuffer(p);},


getBuffer:function(){
return this.options.buffer;},


register:function(){
this.onvisible=new j
(l(this.scroll_loader_id),
this.getHandler(),
false,
this.options.buffer,
this.options);

n[this.scroll_loader_id]=this;
g.inform(o.REGISTERED,{id:this.scroll_loader_id});},


getInstance:function(p){
return n[p];},


getHandler:function(){
if(this.handler)
return this.handler;


function p(q){
var r=m(this.scroll_loader_id);
if(!r){
this.onvisible.remove();
return;}

i.addClass(r.firstChild,'async_saving');

var s=this.options.handler;
this.options.handler=function(){
g.inform('ScrollingPager/loadingComplete');
s&&s.apply(null,arguments);};


if(q)
this.data.pager_fired_on_init=true;

k.loadFromEndpoint
(this.pagelet_src,
this.target_id,
this.data,
this.options);}



return p.bind(this);},









setHandler:function(p){
this.handler=p;},


removeOnVisible:function(){
this.onvisible.remove();},


checkBuffer:function(){
this.onvisible&&this.onvisible.checkBuffer();}});



e.exports=o;});

/** js/modules/Selection.js */
__d("InputSelection",["DOM","Focus"],function(a,b,c,d,e,f){



var g=b('DOM'),
h=b('Focus'),

i=







{get:function(j){







if(!document.selection)

return {start:j.selectionStart,end:j.selectionEnd};


var k=document.selection.createRange();
if(k.parentElement()!==j)



return {start:0,end:0};


var l=j.value.length;

if(g.isNodeOfType(j,'input')){

return {start:-k.moveStart('character',-l),
end:-k.moveEnd('character',-l)};}else{


var m=k.duplicate();
m.moveToElementText(j);
m.setEndPoint('StartToEnd',k);
var n=l-m.text.length;
m.setEndPoint('StartToStart',k);

return {start:l-m.text.length,
end:n};}},












set:function(j,k,l){






if(typeof l=='undefined')
l=k;

if(document.selection){


if(j.tagName=='TEXTAREA'){
var m=
(j.value.slice(0,k).match(/\r/g)||[]).length,
n=
(j.value.slice(k,l).match(/\r/g)||[]).length;
k-=m;
l-=m+n;}

var o=j.createTextRange();
o.collapse(true);
o.moveStart('character',k);
o.moveEnd('character',l-k);
o.select();}else{

j.selectionStart=k;
j.selectionEnd=Math.min(l,j.value.length);
h.set(j);}}};





e.exports=i;});

/** js/modules/Toggler.js */
__d("Toggler",["array-extensions","Event","Arbiter","ArbiterMixin","ContextualThing","CSS","DataStore","Dialog","DOM","Parent","cx","copyProperties","createArrayFrom","emptyFunction","ge","getContextualParent","getObjectValues"],function(a,b,c,d,e,f){









b('array-extensions');
var g=b('Event'),

h=b('Arbiter'),
i=b('ArbiterMixin'),
j=b('ContextualThing'),
k=b('CSS'),
l=b('DataStore'),
m=b('Dialog'),
n=b('DOM'),
o=b('Parent'),

p=b('cx'),
q=b('copyProperties'),
r=b('createArrayFrom'),
s=b('emptyFunction'),
t=b('ge'),
u=b('getContextualParent'),
v=b('getObjectValues'),

w=[],
x;




function y(){
y=s;




g.listen(document.documentElement,'click',function(event){
var ca=event.getTarget();
w.forEach(function(da){
da.clickedTarget=ca;
da.active&&
!da.sticky&&
!j.containsIncludingLayers
(da.getActive(),
ca)&&
!da.inTargetFlyout(ca)&&
da.inActiveDialog()&&
!da.isIgnoredByModalLayer(ca)&&
da.hide();});},

g.Priority.URGENT);}


var z=function(){
this.active=null;
this.togglers={};



this.setSticky(false);


w.push(this);


this.subscribe(['show','hide'],z.inform.bind(z));

return y();};


q(z.prototype,i,




{show:function(ca){
var da=aa(this,ca),

ea=da.active;
if(ca!==ea){

ea&&da.hide();


da.active=ca;



k.addClass(ca,'openToggler');


var fa=n.scry(ca,'a[rel="toggle"]');


if(fa.length>0&&fa[0].getAttribute('data-target'))
k.removeClass
(t(fa[0].getAttribute('data-target')),
'toggleTargetClosed');




n.appendContent(ca,da.getToggler('next'));
n.prependContent(ca,da.getToggler('prev'));


da.inform('show',da);}},








hide:function(ca){
var da=aa(this,ca),

ea=da.active;
if(ea&&(!ca||ca===ea)){

k.removeClass(ea,'openToggler');


var fa=n.scry(ea,'a[rel="toggle"]');


if(fa.length>0&&fa[0].getAttribute('data-target'))
k.addClass
(t(fa[0].getAttribute('data-target')),
'toggleTargetClosed');




v(da.togglers).forEach(n.remove);


da.inform('hide',da);


da.active=null;}},









toggle:function(ca){
var da=aa(this,ca);
if(da.active===ca){

da.hide();}else 


da.show(ca);},







getActive:function(){
return aa(this).active;},






isShown:function(){
return aa(this).active&&
k.hasClass(aa(this).active,'openToggler');},







inTargetFlyout:function(ca){
var da=ba(this.getActive());
return da&&
j.containsIncludingLayers(da,ca);},






inActiveDialog:function(){
var ca=m.getCurrent();
return !ca||n.contains(ca.getRoot(),this.getActive());},








isIgnoredByModalLayer:function(ca){
return o.byClass(ca,"_3qw")&&
!o.byClass(this.getActive(),"_3qw");},









getToggler:function(ca){
var da=aa(this);
if(!da.togglers[ca]){
da.togglers[ca]=n.create('button',
{className:'hideToggler',
onfocus:function(){
var ea=n.scry(da.active,'a[rel="toggle"]')[0];
ea&&ea.focus();
da.hide();}});


da.togglers[ca].setAttribute('type','button');}

return this.togglers[ca];},








setSticky:function(ca){
var da=aa(this);

ca=ca!==false;


if(ca!==da.sticky){
da.sticky=ca;


if(ca){
da._pt&&da._pt.unsubscribe();}else 

da._pt=h.subscribe
('pre_page_transition',
da.hide.bind(da,null));}



return da;}});





q(z,z.prototype);


q(z,




{bootstrap:function(ca){
var da=ca.parentNode;
z.getInstance(da).toggle(da);},









createInstance:function(ca){
var da=new z().setSticky(true);


l.set(ca,'toggler',da);

return da;},


destroyInstance:function(ca){
l.remove(ca,'toggler');},










getInstance:function(ca){


while(ca){
var da=l.get(ca,'toggler');
if(da)
return da;

if(k.hasClass(ca,'uiToggleContext'))
return z.createInstance(ca);

ca=u(ca);}


return (x=x||new z());},









listen:function(ca,da,ea){

return z.subscribe
(r(ca),function(fa,ga){
if(ga.getActive()===da)
return ea(fa,ga);});},













subscribe:(function(ca){
return function(da,ea){
da=r(da);




if(da.contains('show'))
w.forEach(function(fa){
if(fa.getActive())
ea.curry('show',fa).defer();});




return ca(da,ea);};})

(z.subscribe.bind(z))});








function aa(ca,da){
if(ca instanceof z)
return ca;

return z.getInstance(da);}








function ba(ca){
var da=n.scry(ca,'a[rel="toggle"]');
if(da.length>0&&da[0].getAttribute('data-target'))
return t(da[0].getAttribute('data-target'));}



e.exports=z;});

/** js/modules/Tooltip.js */
__d("Tooltip",["Event","AsyncRequest","ContextualLayer","ContextualLayerAutoFlip","CSS","DataStore","DOM","Style","URI","copyProperties","emptyFunction","tx"],function(a,b,c,d,e,f){




var g=b('Event'),

h=b('AsyncRequest'),
i=b('ContextualLayer'),
j=b('ContextualLayerAutoFlip'),
k=b('CSS'),
l=b('DataStore'),
m=b('DOM'),
n=b('Style'),
o=b('URI'),

p=b('copyProperties'),
q=b('emptyFunction'),
r=b('tx'),


s=null,


t=null,


u=null,


v=[];

function w(){
if(!t){
u=m.create('div',{className:'tooltipContent'});
var da=m.create('i',{className:'arrow'}),
ea=
m.create('div',{className:'uiTooltipX'},[u,da]);

t=new i({},ea);
t.enableBehavior(j);}}






function x(da){
return p
({content:da.getAttribute('aria-label'),
position:da.getAttribute('data-tooltip-position')||'above',
alignH:da.getAttribute('data-tooltip-alignh')||'left'},
l.get(da,'tooltip'));}






function y(da,ea){
var fa=x(da);
l.set(da,'tooltip',
{content:ea.content||fa.content,
position:ea.position||fa.position,
alignH:ea.alignH||fa.alignH});

da.setAttribute('data-hover','tooltip');}





function z(da,ea){

ca.set(da,"Loading...");

new h(ea).
setHandler(function(fa){
ca.set(da,fa.getPayload());}).

setErrorHandler(q).
send();}



var aa=/(\r\n|[\r\n])/;
function ba(da){
return da.split(aa).map(function(ea){
return aa.test(ea)?m.create('br'):ea;});}



var ca=






{process:function(da,ea){

if(!m.contains(da,ea))return;
if(da!==s){

var fa=da.getAttribute('data-tooltip-uri');
if(fa){
da.removeAttribute('data-tooltip-uri');
z(da,fa);}

ca.show(da);}},







remove:function(da){







l.remove(da,'tooltip');
da.removeAttribute('data-hover');
da.removeAttribute('data-tooltip-position');
da.removeAttribute('data-tooltip-alignh');


da===s&&ca.hide();},





hide:function(){
if(s){
t.hide();
s=null;

while(v.length)
v.pop().remove();}},















set:function(da,ea,fa,ga){









if(fa||ga)
y(da,{position:fa,alignH:ga});


if(ea instanceof o){
if(da===s){

z(da,ea);}else 


da.setAttribute('data-tooltip-uri',ea);}else{



if(typeof ea!=='string'){

ea=m.create('div',{},ea);

da.setAttribute('aria-label',m.getText(ea));}else 

da.setAttribute('aria-label',ea);


y(da,{content:ea});


da===s&&ca.show(da);}},







show:function(da){






w();
ca.hide();


var ea=x(da);
if(!ea.content)
return;





var fa=0,
ga=0;
if(ea.position==='left'||ea.position==='right'){
ga=(da.offsetHeight-20)/2;}else
if(ea.alignH!=='center'){
var ha=da.offsetWidth;
if(ha<18)
fa=(ha-18)/2*(ea.alignH==='right'?-1:1);}




t.
setContext(da).
setOffsetX(fa).
setOffsetY(ga).
setPosition(ea.position).
setAlignment(ea.alignH);

if(typeof ea.content==='string'){
k.addClass(t,'invisible_elem');


var ia=m.create('span',{},ba(ea.content)),
ja=m.create('div',{className:'tooltipText'},ia);
m.setContent(u,ja);
t.show();


var ka;


if(ja.getClientRects){
var la=ja.getClientRects()[0];
if(la)
ka=Math.round(la.right-la.left);}


if(!ka)
ka=ja.offsetWidth;

if(ka<ia.offsetWidth){
k.addClass(ja,'tooltipWrap');
t.updatePosition();}


k.removeClass(t,'invisible_elem');}else{

m.setContent(u,ea.content);
t.show();}



var ma=function(oa){
if(!m.contains(s,oa.getTarget()))
ca.hide();};


v.push
(g.listen(document.documentElement,'mouseover',ma),
g.listen(document.documentElement,'focusin',ma));



var na=n.getScrollParent(da);
if(na!==window)
v.push(g.listen(na,'scroll',ca.hide));



v.push(g.listen(da,'click',ca.hide));

s=da;}};



g.listen(window,'scroll',ca.hide);

e.exports=ca;});

/** js/modules/Selector.js */
__d("Selector",["Event","Arbiter","Button","ContextualLayer","CSS","DataStore","DOM","HTML","Keys","KeyStatus","Menu","Parent","Style","Toggler","Tooltip","Vector","copyProperties","emptyFunction"],function(a,b,c,d,e,f){







var g=b('Event'),

h=b('Arbiter'),
i=b('Button'),
j=b('ContextualLayer'),
k=b('CSS'),
l=b('DataStore'),
m=b('DOM'),
n=b('HTML'),
o=b('Keys'),
p=b('KeyStatus'),
q=b('Menu'),
r=b('Parent'),
s=b('Style'),
t=b('Toggler'),
u=b('Tooltip'),
v=b('Vector'),

w=b('copyProperties'),
x=b('emptyFunction'),

y,


z,
aa=[],
ba;







function ca(na){
return r.byClass(na,'uiSelector');}








function da(na){
return r.byClass(na,'uiSelectorButton');}


function ea(){
if(!z){
z=new j({position:'below'},m.create('div'));
k.addClass(z.getRoot(),'uiSelectorContextualLayer');}

return z;}







function fa(na){
return m.scry(na,'select')[0];}







function ga(na){
return m.find(na,'div.uiSelectorMenuWrapper');}






function ha(){
ha=x;


q.subscribe('select',function(na,oa){

if(!y||!oa||
oa.menu!==ma.getSelectorMenu(y))
return;


var pa=ia(y),
qa=ja(oa.item);

if(qa){
var ra=y,
sa=ma.isOptionSelected(oa.item),


ta=ma.inform
('select',
{selector:ra,option:oa.item,clone:ba});


if(ta===false)
return;




if(pa||!sa){
ma.setSelected
(ra,
ma.getOptionValue(oa.item),
!sa);



ma.inform('toggle',{selector:ra,option:oa.item});


ma.inform('change',{selector:ra});
h.inform('Form/change',{node:ra});




if(ka(ra))
l.set(ra,'dirty',true);}}





if(!pa||!qa)
y&&ma.toggle(y);});}








function ia(na){
return !!na.getAttribute('data-multiple');}







function ja(na){
return k.hasClass(na,'uiSelectorOption');}







function ka(na){
return !!na.getAttribute('data-autosubmit');}







var la=


{keydown:function(event){
var na=event.getTarget();


if(m.isNodeOfType(na,['input','textarea']))
return;


switch(g.getKeyCode(event)){
case o.DOWN:
case o.SPACE:
case o.UP:
if(da(na)){
var oa=ca(na);
ma.toggle(oa);
return false;}

break;
case o.ESC:
if(y){
ma.toggle(y);
return false;}

break;}},




mouseover:function(event){
var na=r.byAttribute(event.getTarget(),'ajaxify');
if(na&&k.hasClass(na,'uiSelectorButton'))
ma.loadMenu(ca(na));}};





g.listen(document.body,la);


t.subscribe(['show','hide'],function(na,oa){
var pa=ca(oa.getActive());
if(pa){

ha();

var qa=ma.getSelectorButton(pa),
ra=ma.getSelectorMenu(pa),

sa=na==='show';
qa.setAttribute('aria-expanded',sa?'true':'false');
if(sa){
y=pa;


if(k.hasClass(qa,'uiButtonDisabled')){
ma.setEnabled(pa,false);
return false;}


ra=ra||ma.loadMenu(pa);


var ta=s.getScrollParent(pa),
ua=ta!==window&&
ta!==m.getDocumentScrollElement();
if(ua||
k.hasClass(pa,'uiSelectorUseLayer')){

if(ua)

aa.push
(g.listen(ta,'scroll',function(){
oa.hide();}));






ba=m.create('div',{className:pa.className});
k.addClass(ba,'invisible_elem');
v.
getElementDimensions(pa).
setElementDimensions(ba);

m.replace(pa,ba);


var va=k.hasClass(pa,'uiSelectorRight'),
wa=k.hasClass(pa,'uiSelectorBottomUp');
ea().
setContext(ba).
setContent(pa).
setPosition(wa?'above':'below').
setAlignment(va?'right':'left').
show();}



q.register(ra);

if(p.isKeyDown()){


var xa=q.getCheckedItems(ra);
if(!xa.length)
xa=q.getEnabledItems(ra);

q.focusItem(xa[0]);}}else{


y=null;


if(ba){

while(aa.length)
aa.pop().remove();



m.replace(ba,pa);
ea().hide();

ba=null;}



ra&&q.unregister(ra);

if(ka(pa)&&l.get(pa,'dirty')){
var ya=m.scry(pa,'input.submitButton')[0];
ya&&ya.click();

l.remove(pa,'dirty');}}




k.conditionClass
(ma.getSelectorButton(pa),'selected',sa);


ma.inform
(sa?'open':'close',
{selector:pa,clone:ba});}});


























var ma=w(new h(),







{attachMenu:function(na,oa,pa){
na=ca(na);
if(na){
y&&q.unregister(ma.getSelectorMenu(y));
m.setContent(ga(na),oa);
y&&q.register(ma.getSelectorMenu(na));

ba&&ea().updatePosition();

if(pa){

var qa=na.getAttribute('data-name');
qa&&pa.setAttribute('name',qa);
if(!ia(na))
pa.setAttribute('multiple',false);



var ra=fa(na);
if(ra){
m.replace(ra,pa);}else 

m.insertAfter(na.firstChild,pa);}


return true;}},










getOption:function(na,oa){
var pa=ma.getOptions(na),qa=pa.length;
while(qa--)
if(oa===ma.getOptionValue(pa[qa]))
return pa[qa];


return null;},







getOptions:function(na){
var oa=q.getItems(ma.getSelectorMenu(na));
return oa.filter(ja);},







getEnabledOptions:function(na){
var oa=q.getEnabledItems(ma.getSelectorMenu(na));
return oa.filter(ja);},







getSelectedOptions:function(na){
return q.getCheckedItems(ma.getSelectorMenu(na));},







getOptionText:function(na){
return q.getItemLabel(na);},








getOptionValue:function(na){
var oa=ca(na),
pa=fa(oa),
qa=ma.getOptions(oa).indexOf(na);
return qa>=0?pa.options[qa+1].value:'';},







getSelectorButton:function(na){
return m.find(na,'a.uiSelectorButton');},







getSelectorMenu:function(na){
return m.scry(na,'div.uiSelectorMenu')[0];},









getValue:function(na){
var oa=fa(na);
if(!oa)
return null;



if(!ia(na))
return oa.value;


var pa=[],
qa=oa.options;
for(var ra=1,sa=qa.length;ra<sa;ra++)
if(qa[ra].selected)
pa.push(qa[ra].value);


return pa;},







isOptionSelected:function(na){
return q.isItemChecked(na);},











listen:function(na,oa,pa){
return this.subscribe(oa,function(qa,ra){
if(ra.selector===na)
return pa(ra,qa);});},











loadMenu:function(na){
var oa=ma.getSelectorMenu(na);
if(!oa){

var pa=ma.getSelectorButton(na),
qa=pa.getAttribute('ajaxify');
if(qa){


d(['AsyncRequest'],function(sa){
sa.bootstrap(qa,pa);});




var ra=
n
('<div class="uiSelectorMenuWrapper uiToggleFlyout">'+
'<div class="uiMenu uiSelectorMenu loading">'+
'<ul class="uiMenuInner">'+
'<li><span></span></li>'+
'</ul>'+
'</div>'+
'</div>');


m.appendContent(pa.parentNode,ra);

oa=ma.getSelectorMenu(na);


pa.removeAttribute('onmouseover');}}


return oa;},







setButtonLabel:function(na,oa){
var pa=ma.getSelectorButton(na),
qa=parseInt(pa.getAttribute('data-length'),10);

oa=oa||pa.getAttribute('data-label')||'';
i.setLabel(pa,oa);

if(typeof oa==='string'){


k.conditionClass
(pa,
'uiSelectorBigButtonLabel',
oa.length>qa);


if(qa&&oa.length>qa){
pa.setAttribute('title',oa);}else 

pa.removeAttribute('title');}},









setButtonTooltip:function(na,oa){
var pa=ma.getSelectorButton(na),
qa=r.byTag(pa,'a');
qa&&u.set
(qa,
oa||pa.getAttribute('data-tooltip')||'');},








updateButtonARIALabel:function(na,oa){
var pa=ma.getSelectorButton(na),
qa=r.byTag(pa,'a');
if(qa){
var ra=pa.getAttribute('data-ariaprefix');
if(ra)
pa.setAttribute
('aria-label',
ra+': '+oa);}},










setEnabled:function(na,oa){

if(!oa&&y&&ca(na)===y)
ma.toggle(na);

i.setEnabled(ma.getSelectorButton(na),oa);},







setOptionEnabled:function(na,oa){
q.setItemEnabled(na,oa);},









setSelected:function(na,oa,pa){
pa=pa!==false;

var qa=ma.getOption(na,oa);
if(!qa)
return;


var ra=ma.isOptionSelected(qa);
if(pa!==ra){
if(!ia(na)&&!ra){

var sa=ma.getSelectedOptions(na)[0];
sa&&q.toggleItem(sa);}



q.toggleItem(qa);}



ma.updateSelector(na);},






toggle:function(na){
t.toggle(m.scry(ca(na),'div.wrap')[0]);},







updateSelector:function(na){
var oa=ma.getOptions(na),
pa=ma.getSelectedOptions(na),
qa=fa(na).options,
ra=[],
sa=[];


for(var ta=0,ua=oa.length;ta<ua;ta++){
var va=pa.contains(oa[ta]);


qa[ta+1].selected=va;

if(va){
var wa=ma.getOptionText(oa[ta]);
ra.push(wa);
sa.push(oa[ta].getAttribute('data-tooltip')||wa);}}




qa[0].selected=!pa.length;


var xa=k.hasClass(na,'uiSelectorDynamicLabel'),
ya=k.hasClass(na,'uiSelectorDynamicTooltip');
if(xa||ya){
var za='';
if(ia(na)){
var ab=ma.getSelectorButton(na);
za=ab.getAttribute('data-delimiter')||', ';}

ra=ra.join(za);
sa=sa.join(za);
if(xa){
ma.setButtonLabel(na,ra);
ma.updateButtonARIALabel(na,ra);}

ya&&ma.setButtonTooltip(na,sa);}}});




e.exports=ma;});

/** js/modules/TextInputControl.js */
__d("TextInputControl",["Event","function-extensions","Class","DOMControl","Input","copyProperties","debounce"],function(a,b,c,d,e,f){



var g=b('Event');
b('function-extensions');

var h=b('Class'),
i=b('DOMControl'),
j=b('Input'),

k=b('copyProperties'),
l=b('debounce');

function m(n){
this.parent.construct(this,n);
var o=this.getRoot(),

p=l(this.update.bind(this),0);
g.listen(o,{input:p,keydown:p,paste:p});}


h.extend(m,i);

k(m.prototype,

{setMaxLength:function(n){
j.setMaxLength(this.getRoot(),n);
return this;},


getValue:function(){
return j.getValue(this.getRoot());},


isEmpty:function(){
return j.isEmpty(this.getRoot());},


setValue:function(n){
j.setValue(this.getRoot(),n);
this.update();
return this;},


clear:function(){
return this.setValue('');},


setPlaceholderText:function(n){
j.setPlaceholder(this.getRoot(),n);
return this;}});




e.exports=m;});

/** js/modules/TextMetrics.js */
__d("TextMetrics",["array-extensions","Event","DOM","Style","UserAgent","debounce"],function(a,b,c,d,e,f){




b('array-extensions');
var g=b('Event'),

h=b('DOM'),
i=b('Style'),
j=b('UserAgent'),

k=b('debounce'),


l;
function m(){
if(typeof l==='undefined'){
var o=h.create('div',{className:'webkitZoomTest'}),
p=function(){
h.appendContent(document.body,o);
l=100/o.clientHeight;
h.remove(o);};

g.listen(window,'resize',k(p,100));
p();}

return l;}


function n(o,p){
this._node=o;
this._flexible=!!p;

var q='textarea',
r='textMetrics';
if(this._flexible){
q='div';
r+=' textMetricsInline';}

this._shadow=h.create(q,{className:r});

var s=
['fontSize',
'fontStyle',
'fontWeight',
'fontFamily',
'wordWrap'];


s.forEach(function(u){
i.set(this._shadow,u,i.get(o,u));}.
bind(this));

var t=i.get(o,'lineHeight');

if(j.chrome()||j.webkit())
t=Math.round(parseInt(t,10)*m())+'px';

i.set(this._shadow,'lineHeight',t);

document.body.appendChild(this._shadow);}


n.prototype.measure=function(o){
var p=this._node,
q=this._shadow;

o=(o||p.value)+'...';




if(!this._flexible){
var r=p.clientWidth-
i.getFloat(p,'paddingLeft')-
i.getFloat(p,'paddingRight');
i.set(q,'width',Math.max(r,0)+'px');}

h.setContent(q,o);


return {width:q.scrollWidth,
height:q.scrollHeight};};



n.prototype.destroy=function(){
h.remove(this._shadow);};


e.exports=n;});

/** js/modules/TextAreaControl.js */
__d("TextAreaControl",["Event","Arbiter","ArbiterMixin","Class","CSS","DOMControl","Style","TextInputControl","TextMetrics","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('Arbiter'),
i=b('ArbiterMixin'),
j=b('Class'),
k=b('CSS'),
l=b('DOMControl'),
m=b('Style'),
n=b('TextInputControl'),
o=b('TextMetrics'),

p=b('copyProperties');

function q(s,t){




return m.getFloat(s,t)||0;}


function r(s){
this.autogrow=k.hasClass(s,'uiTextareaAutogrow');
this.parent.construct(this,s);
this.width=null;

g.listen(s,'focus',this._handleFocus.bind(this));}


j.extend(r,n);

p(r.prototype,i,

{setAutogrow:function(s){
this.autogrow=s;
return this;},


onupdate:function(){
this.parent.onupdate();
if(this.autogrow){
var s=this.getRoot();
if(!this.metrics)
this.metrics=new o(s);

if(typeof this.initialHeight==='undefined'){
this.isBorderBox=
m.get(s,'box-sizing')==='border-box'||
m.get(s,'-moz-box-sizing')==='border-box'||
m.get(s,'-webkit-box-sizing')==='border-box';

this.borderBoxOffset=
q(s,'padding-top')+
q(s,'padding-bottom')+
q(s,'border-top-width')+
q(s,'border-bottom-width');

this.initialHeight=s.offsetHeight-this.borderBoxOffset;}

var t=this.metrics.measure(),

u=Math.max(this.initialHeight,t.height);

if(this.isBorderBox)
u+=this.borderBoxOffset;


if(u!==this.height){
this.height=u;
m.set(s,'height',u+'px');
h.inform('reflow');
this.inform('resize');}}else

if(this.metrics){
this.metrics.destroy();
this.metrics=null;}},



resetHeight:function(){
this.height=-1;
this.update();},


_handleFocus:function(){
this.width=null;}});



r.getInstance=function(s){
return l.getInstance(s)||new r(s);};


e.exports=r;});

/** js/modules/Typeahead.js */
__d("Typeahead",["array-extensions","Event","ArbiterMixin","BehaviorsMixin","DataStore","DOM","Parent","Run","copyProperties","emptyFunction","ge"],function(a,b,c,d,e,f){




b('array-extensions');
var g=b('Event'),

h=b('ArbiterMixin'),
i=b('BehaviorsMixin'),
j=b('DataStore'),
k=b('DOM'),
l=b('Parent'),
m=b('Run'),

n=b('copyProperties'),
o=b('emptyFunction'),
p=b('ge');

























function q(r,s,t,u){
this.args={data:r,view:s,core:t};
j.set(u,'Typeahead',this);
this.element=u;}


q.getInstance=function(r){
var s=l.byClass(r,'uiTypeahead');
return s?j.get(s,'Typeahead'):null;};


n(q.prototype,h,i,

{init:function(r){

this.init=o;





this.getCore();
this.getView().setAccessibilityControlElement(this.getCore().getElement());
this.proxyEvents();
this.initBehaviors(r||[]);
this.inform('init',this);
this.data.bootstrap();
this.core.focus();},


getData:function(){
if(!this.data){
var r=this.args.data;
this.data=r;
this.data.init();}

return this.data;},


getView:function(){
if(!this.view){
var r=this.args.view,
s=r.node||p(r.node_id);
if(!s){
s=k.create('div',{className:'uiTypeaheadView'});
k.appendContent(this.element,s);}

if(typeof r.ctor==='string'){
this.view=new window[r.ctor](s,r.options||{});}else 

this.view=new r.ctor(s,r.options||{});

this.view.init();
this.view.setTypeahead(this.element);}

return this.view;},


getCore:function(){
if(!this.core){
var r=this.args.core;
if(typeof r.ctor==='string'){
this.core=new window[r.ctor](r.options||{});}else 

this.core=new r.ctor(r.options||{});

this.core.init(this.getData(),this.getView(),this.getElement());}

return this.core;},


getElement:function(){
return this.element;},





swapData:function(r){
var s=this.core;
this.data=this.args.data=r;
r.init();
if(s){
s.data=r;
s.initData();
s.reset();}

r.bootstrap();
return r;},


proxyEvents:function(){
[this.data,this.view,this.core].forEach(function(r){
r.subscribe(r.events,this.inform.bind(this));},
this);},


initBehaviors:function(r){



r.forEach(function(s){


if(typeof s==='string'){
if(a.TypeaheadBehaviors&&a.TypeaheadBehaviors[s]){
a.TypeaheadBehaviors[s](this);}else 

m.onLoad(function(){
if(a.TypeaheadBehaviors)
(a.TypeaheadBehaviors[s]||o)(this);}.

bind(this));}else 


this.enableBehavior(s);},

this);}});




q.initNow=function(r,s,t){
if(t)
t.init(r);

r.init(s);};


q.init=function(r,s,t,u){

if(!k.isNodeOfType(r,['input','textarea']))
r=
k.scry(r,'input')[0]||
k.scry(r,'textarea')[0];


var v=false;



try{v=document.activeElement===r;}catch(
w){}

if(v){
q.initNow(s,t,u);}else 

var x=g.listen(r,'focus',function(){
q.initNow(s,t,u);
x.remove();});};




e.exports=q;});

/** js/modules/TypeaheadCore.js */
__d("TypeaheadCore",["Event","Arbiter","ArbiterMixin","CSS","DOM","Input","InputSelection","Keys","UserAgent","bind","copyProperties","emptyFunction"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('Arbiter'),
i=b('ArbiterMixin'),
j=b('CSS'),
k=b('DOM'),
l=b('Input'),
m=b('InputSelection'),
n=b('Keys'),
o=b('UserAgent'),

p=b('bind'),
q=b('copyProperties'),
r=b('emptyFunction');

















function s(t){
q(this,t);}


q(s.prototype,i,



{events:['blur','focus','click','unselect','loading'],











keepFocused:true,







resetOnSelect:false,







resetOnKeyup:true,






setValueOnSelect:false,











queryTimeout:250,









preventFocusChangeOnTab:false,










init:function(t,u,v){
this.init=r;
this.data=t;
this.view=u;
this.root=v;
this.initInput();

this.inputWrap=k.find(v,'div.wrap');
this.hiddenInput=k.find(v,'input.hiddenInput');

this.value='';
this.nextQuery=null;

this.selectedText=null;
if(this.setValueOnSelect&&j.hasClass(this.inputWrap,'selected'))
this.selectedText=this.getValue();


this.initView();
this.initData();
this.initEvents();
this.initToggle();

this._exclusions=[];},





initInput:function(){
this.element=k.find(this.root,'.textInput');


var t=k.scry(this.element,'input')[0];
if(t)
this.element=t;},







initView:function(){
this.view.subscribe('highlight',function(t,u){
this.element.focus();
this.element.setAttribute
('aria-activedescendant',
(u.index!==-1)?k.getID(u.element):'');}.

bind(this));
this.view.subscribe('select',function(t,u){
this.select(u.selected);}.
bind(this));
this.view.subscribe('afterSelect',function(){
this.afterSelect();}.
bind(this));},






initData:function(){
this.data.subscribe('respond',function(t,u){


if(u.forceDisplay||
u.value==this.getValue()&&!this.element.disabled)
this.view.render(u.value,u.results,u.isAsync);}.

bind(this));
this.data.subscribe('activity',function(t,u){
this.fetching=u.activity;
if(!this.fetching)
this.nextQuery&&this.performQuery();





if(this.loading!=this.fetching){
this.loading=this.fetching;
this.inform('loading',{loading:this.loading});}}.

bind(this));},






initEvents:function(){
g.listen(this.view.getElement(),
{mouseup:this.viewMouseup.bind(this),
mousedown:this.viewMousedown.bind(this)});


var t=
{blur:p(this,'blur'),
focus:p(this,'focus'),
click:p(this,'click'),
keyup:p(this,'keyup'),
keydown:p(this,'keydown')};


if(o.firefox())

t.text=t.keyup;


if(o.firefox()<4){

t.keypress=t.keydown;

delete t.keydown;}


g.listen(this.element,t);


g.listen(this.element,'keypress',p(this,'keypress'));},






initToggle:function(){
this.subscribe('blur',this.view.hide.bind(this.view));
this.subscribe('focus',this.view.show.bind(this.view));},







viewMousedown:function(){
this.selecting=true;},






viewMouseup:function(){
this.selecting=false;},







blur:function(){
if(this.selecting){
this.selecting=false;
return;}

this.inform('blur');},






click:function(){
var t=m.get(this.element);
if(t.start==t.end)
this.element.select();

this.inform('click');},






focus:function(){
this.checkValue();
this.inform('focus');},






keyup:function(){
if(this.resetOnKeyup&&!this.getValue())
this.view.reset();

this.checkValue();},







keydown:function(event){
if(!this.view.isVisible()||this.view.isEmpty()){
this.checkValue.bind(this).defer();
return;}


switch(g.getKeyCode(event)){
case n.TAB:
this.handleTab(event);
return;
case n.UP:
this.view.prev();
break;
case n.DOWN:
this.view.next();
break;
case n.ESC:
this.view.reset();
break;

default:this.checkValue.bind(this).defer();
return;
}


event.kill();},







keypress:function(event){
if(this.view.getSelection()&&g.getKeyCode(event)==n.RETURN){
this.view.select();
event.kill();}},






handleTab:function(event){
if(this.preventFocusChangeOnTab)
if(this.view.getSelection()){
event.kill();}else 

event.prevent();


this.view.select();},








select:function(t){
if(t&&this.setValueOnSelect){
this.setValue(t.text);
this.setHiddenValue(t.uid);
this.selectedText=t.text;
j.addClass(this.inputWrap,'selected');}},



afterSelect:function(){
this.keepFocused?this.element.focus():this.element.blur();
this.resetOnSelect?this.reset():this.view.reset();},







unselect:function(){
if(this.setValueOnSelect){
this.selectedText=null;
j.removeClass(this.inputWrap,'selected');}


this.setHiddenValue();
this.inform('unselect',this);},







setEnabled:function(t){
var u=t===false;
this.element.disabled=u;
j.conditionClass(this.root,'uiTypeaheadDisabled',u);},








reset:function(){
this.unselect();
this.setValue();
!this.keepFocused&&l.reset(this.element);
this.view.reset();
this.inform('reset');},





getElement:function(){
return this.element;},







setExclusions:function(t){
this._exclusions=t;},






getExclusions:function(){
return this._exclusions;},









setValue:function(t){
this.value=this.nextQuery=t||'';
l.setValue(this.element,this.value);},







setHiddenValue:function(t){
this.hiddenInput.value=(t||t===0)?t:'';
h.inform('Form/change',{node:this.hiddenInput});},










getValue:function(){
return l.getValue(this.element);},








getHiddenValue:function(){
return this.hiddenInput.value||'';},






checkValue:function(){
var t=this.getValue();
if(t==this.value)
return;


if(this.selectedText&&this.selectedText!=t)
this.unselect();


var u=Date.now(),
v=u-this.time;

this.time=u;
this.value=this.nextQuery=t;
this.performQuery(v);},








performQuery:function(t){

if(this.selectedText)return;




t=t||0;
if(this.fetching&&t<this.queryTimeout){

this.data.query(this.nextQuery,true,this._exclusions,t);}else{

this.data.query(this.nextQuery,false,this._exclusions,t);
this.nextQuery=null;}}});





e.exports=s;});

/** js/modules/utils/throttleAcrossTransitions.js */
__d("throttleAcrossTransitions",["throttle"],function(a,b,c,d,e,f){



var g=b('throttle');

function h(i,j,k){
return g(i,j,k,true);}


e.exports=h;});

/** js/modules/UserActionHistory.js */
__d("UserActionHistory",["Arbiter","ClickRefUtils","throttleAcrossTransitions"],function(a,b,c,d,e,f){


var g=b('Arbiter'),
h=b('ClickRefUtils'),
i=b('throttleAcrossTransitions'),

j={click:1,submit:1},
k=false,
l={log:[],len:0},

m=i(function(){

try{k._ua_log=JSON.stringify(l);}catch(
p){



k=false;}},

1000);


function n(){

try{if(a.sessionStorage){
k=a.sessionStorage;
k._ua_log&&(l=JSON.parse(k._ua_log));}}catch(

p){



k=false;}


l.log[l.len%10]=
{ts:Date.now(),
path:'-',
index:l.len,
type:'init',
iref:'-'};

l.len++;

g.subscribe("UserAction/new",function(q,r){
var s=r.ua,t=r.node,event=r.event;
if(!event||!(event.type in j))
return;


var u=
{path:window._script_path,
type:event.type,
ts:s._ue_ts,
iref:h.get_intern_ref(t)||'-',
index:l.len};



l.log[l.len++%10]=u;
k&&m();});}



function o(){
return l.log.sort(function(p,q){
return (q.ts!=p.ts)?(q.ts-p.ts):(q.index-p.index);});}



n();

e.exports=
{getHistory:o};});

/** js/modules/UserActivity.js */
__d("UserActivity",["Arbiter","Event"],function(a,b,c,d,e,f){



var g=b('Arbiter'),
h=b('Event'),








i=5000,
j=500,
k=-5,
l=Date.now(),
m=l,

n=
{subscribeOnce:function(p){
var q=n.subscribe(function(){
n.unsubscribe(q);
p();});},






subscribe:function(p){
return g.subscribe('useractivity/activity',p);},






unsubscribe:function(p){
p.unsubscribe();},







isActive:function(p){
return (new Date()-l<
(p||i));},





getLastInformTime:function(){
return m;}};




function o(event){
l=Date.now();
var p=l-m;
if(p>j){
m=l;
g.inform('useractivity/activity',
{event:event,
idleness:p,
last_inform:m});}else


if(p<k)
m=l;}



h.listen(window,'scroll',o);
h.listen(window,'focus',o);
h.listen(document.documentElement,
{DOMMouseScroll:o,
mousewheel:o,
keydown:o,
mouseover:o,
click:o});







g.subscribe('Event/stop',function(p,q){
o(q.event);});


e.exports=n;});

/** js/modules/csx.js */
__d("csx",[],function(a,b,c,d,e,f){

















function g(h){
throw new Error('csx(...): Unexpected class selector transformation.');}


e.exports=g;});

/** js/modules/enforceMaxLength.js */
__d("enforceMaxLength",["Event","function-extensions","DOM","Input","InputSelection"],function(a,b,c,d,e,f){



var g=b('Event');
b('function-extensions');

var h=b('DOM'),
i=b('Input'),
j=b('InputSelection'),

k=function(n,o){
var p=i.getValue(n),
q=p.length,
r=q-o;
if(r>0){
var s,
t;





try{s=j.get(n);
t=s.end;}catch(
u){
s=null;
t=0;}


if(t>=r)
q=t;

var v=q-r;
if(v&&(p.charCodeAt(v-1)&64512)===55296)

v--;

t=Math.min(t,v);
i.setValue(n,p.slice(0,v)+p.slice(q));
if(s)
j.set(n,Math.min(s.start,t),t);}},




l=function(event){
var n=event.getTarget(),
o=n.getAttribute&&parseInt(n.getAttribute('maxlength'),10);
if(o>0&&h.isNodeOfType(n,['input','textarea']))

k.bind(null,n,o).defer();},



m='maxLength' in h.create('input')&&
'maxLength' in h.create('textarea');

if(!m)
g.listen(document.documentElement,{keydown:l,paste:l});


e.exports=k;});

/** js/modules/guid.js */
__d("guid",[],function(a,b,c,d,e,f){








function g(){
return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}


e.exports=g;});

/** js/modules/reportData.js */
__d("reportData",["EagleEye","userAction"],function(a,b,c,d,e,f){


















var g=b('EagleEye'),
h=b('userAction');


function i(j,k){
k=k||{};
var l=
{ft:(k.ft||{}),
gt:(k.gt||{})},

m='-',
n=a.ArbiterMonitor,
o=(!!n)?n.getActFields():[],
p=(!n)?'r':'a',
q=
[Date.now(),
h.getCurrentUECount(),
m,
j,
m,
m,
p,
a.URI?
a.URI.getRequestURI(true,true).getUnqualifiedURI().toString():
location.pathname+location.search+location.hash,
l,
0,0,0,0].
concat(o);

g.log('act',q);}


e.exports=i;});

/** js/onvisible.js */
__d("legacy:onvisible",["OnVisible"],function(a,b,c,d){



a.OnVisible=b('OnVisible');},

3);

/** js/profile/timeline/modules/TimelineConstants.js */
__d("TimelineConstants",[],function(a,b,c,d,e,f){





var g=


{DS_HEIGHT:'timeline-unit-height',
DS_LOADED:'timeline-capsule-loaded',
DS_SIDEORG:'timeline-unit-sideorg',
DS_TAILBALANCE:'timeline-capsule-tailbalance',
DS_COLUMN_HEIGHT_DIFFERENTIAL:'timeline-column-diff-height',


FIXED_SIDE_LEFT:'left',

FIXED_SIDE_RIGHT:'right',

FIXED_SIDE_BOTH:'both',

FIXED_SIDE_NONE:'none',

SCROLL_TO_OFFSET:30,
SUBSECTION_SCROLL_TO_OFFSET:90,

SCRUBBER_DEFAULT_OFFSET:38,

SECTION_LOADING:'TimelineConstants/sectionLoading',
SECTION_LOADED:'TimelineConstants/sectionLoaded',
SECTION_FULLY_LOADED:'TimelineConstants/sectionFullyLoaded',
SECTION_REGISTERED:'TimelineConstants/sectionRegistered'};


e.exports=g;});

/** js/profile/timeline/modules/TimelineLegacySections.js */
__d("TimelineLegacySections",[],function(a,b,c,d,e,f){



var g={},

h=
{get:function(i){
return g[i];},


getAll:function(){
return g;},


remove:function(i){
delete g[i];},


removeAll:function(){
g={};},


set:function(i,j){
g[i]=j;}};



e.exports=h;});

/** js/profile/timeline/modules/TimelineURI.js */
__d("TimelineURI",["URI"],function(a,b,c,d,e,f){



var g=b('URI'),

h=
{TIMELINE_KEY:'timeline',
WALL_KEY:'wall',

parseURI:function(i){
i=g(i);
var j=i.getQueryData(),
k=i.getPath(),
l=k.split('/').slice(1);



if(l[0]=='people'||l[0]=='pages')
l=l.slice(2);



var m=j.sk||l[1]||h.TIMELINE_KEY;
if(m==h.WALL_KEY)
m=h.TIMELINE_KEY;



var n=null,
o=null;
if(m==h.TIMELINE_KEY){
o=parseInt(l[2],10)||null;
n=parseInt(l[3],10)||null;}




return {path:k,
id:j.id||l[0],
key:m,
viewas:j.viewas?j.viewas:0,
filter:j.filter?j.filter:null,
year:o,
month:n,
friendship:!!j.and};}};




e.exports=h;});

/** js/profile/timeline/modules/TimelineController.js */
__d("TimelineController",["Event","Arbiter","CSS","DataStore","DOMQuery","Run","ScrollingPager","TimelineConstants","TimelineLegacySections","TimelineURI","Vector","ViewportBounds","$","ge","queryThenMutateDOM"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('Arbiter'),
i=b('CSS'),
j=b('DataStore'),
k=b('DOMQuery'),
l=b('Run'),
m=b('ScrollingPager'),
n=b('TimelineConstants'),
o=b('TimelineLegacySections'),
p=b('TimelineURI'),
q=b('Vector'),
r=b('ViewportBounds'),

s=b('$'),
t=b('ge'),
u=b('queryThenMutateDOM'),









v=484,
w=48,
x=740,
y=1285,

z=null,
aa=false,
ba,
ca,
da,
ea,
fa={},
ga={},
ha=[],
ia=null,
ja=null,
ka=false,

la=0,
ma=false,
na=false,
oa=false,



pa=
{allactivity:true,
approve:true,
games:true,
map:true,
music:true,
video:true};

pa[p.TIMELINE_KEY]=true;
var qa=[],
ra=false;

function sa(){
ia&&
ia.remove();
ia=null;}










function ta(eb,fb,gb){
gb=gb||[];
if(fa[eb])
return fa[eb][fb].
apply(fa[eb],gb);

ga[eb]=ga[eb]||{};
ga[eb][fb]=gb;
return false;}


function ua(){
if(!(ma||
oa||
na)){
sa();
return;}


var eb=q.getScrollPosition();

ma=
ma&&
ya(t('rightCol'),eb,'paddingTop',true);

na=
na&&
ya(s('pagelet_above_header_timeline'),eb,'top');

oa=
oa&&
ya(s('blueBar'),eb,'paddingTop');}


var va=0;
function wa(){
va=q.getScrollPosition();}


function xa(){
u
(wa,
function(){
var eb=la===0||
va.y>=la;

ta(db.STICKY_HEADER,'toggle',[eb]);
ta(db.CONTENT,'checkCurrentSectionChange');},

'TimelineController/scrollListener');}



function ya(eb,fb,gb,hb){
if(!eb){

sa();
return;}


if(fb.y<=0){
za(eb,gb);
return false;}else{

var ib=hb&&db.getCurrentScrubber();
if(ib&&i.hasClass(ib.getRoot(),'fixed_elem')){
za(eb,gb);
return false;}else{

var jb=parseInt(eb.style[gb],10)||0;
if(fb.y<jb){
i.addClass(eb,'timeline_fixed');
eb.style[gb]=fb.y+'px';}else 

i.removeClass(eb,'timeline_fixed');}}



return true;}


function za(eb,fb){
eb.style[fb]='0px';
i.removeClass(eb,'timeline_fixed');}





function ab(){
u
(db.shouldShowWideAds,
function(){
ta
(db.ADS,
'adjustAdsType',
[ka]);

ta(db.ADS,'adjustAdsToFit');
ta(db.CONTENT,'adjustContentPadding');
ta(db.STICKY_HEADER_NAV,'adjustMenuHeights');},

'TimelineController/resize');}






function bb(eb,fb){
if(eb=='sidebar/initialized')
ra=true;

ta
(db.ADS,
'adjustAdsType',
[db.shouldShowWideAds()]);}






function cb(){
while(ha.length)
ha.pop().remove();

for(var eb in fa)
fa[eb].reset&&fa[eb].reset();

sa();
ea.unsubscribe();
ea=null;
z=null;
ba=null;
fa={};
ga={};
ja=null;

la=0;
na=false;
if(ma){
var fb=t('rightCol');
if(fb){
fb.style.paddingTop='';
i.removeClass(fb,'timeline_fixed');}}


ma=false;
if(oa){
s('blueBar').style.paddingTop='';
i.removeClass(s('blueBar'),'timeline_fixed');}

oa=false;
qa=[];
ra=false;

aa=false;

j.purge(n.DS_HEIGHT);
j.purge(n.DS_LOADED);
j.purge(n.DS_SIDEORG);
j.purge(n.DS_TAILBALANCE);
j.purge(n.DS_COLUMN_HEIGHT_DIFFERENTIAL);}


var db=
{NAV:'nav',
STICKY_HEADER:'sticky_header',
STICKY_HEADER_NAV:'sticky_header_nav',
SCRUBBER:'scrubber',
CONTENT:'content',
ADS:'ads',
COVER:'cover',
LOGGING:'logging',

init:function(eb,fb,gb){
if(aa)
return;

if(fb==p.WALL_KEY)
fb=p.TIMELINE_KEY;

aa=true;
ba=eb;
ca=gb.has_fixed_ads;
da=gb.force_wide_ads;

ta(db.CONTENT,'adjustContentPadding');

ha.push
(g.listen(window,'scroll',xa),
g.listen(window,'resize',ab));


ea=h.subscribe
(['sidebar/initialized','sidebar/show','sidebar/hide'],
bb);


l.onLeave(cb);
db.registerCurrentKey(fb);},


setAdsTracking:function(eb){
ta(db.ADS,'start',[eb]);},


coverHasExpanded:function(eb){
var fb=t('rightCol');
if(fb){
fb.style.paddingTop=eb+'px';
ma=true;}



var gb=s('pagelet_above_header_timeline');
if(gb.firstChild){
s('above_header_timeline_placeholder').style.height=
gb.offsetHeight+'px';
gb.style.top=eb+'px';
na=true;}




var hb=document.documentElement;
oa=
hb.clientHeight<400||hb.clientWidth<hb.scrollWidth;
if(oa)
s('blueBar').style.paddingTop=eb+'px';


ia=
g.listen(window,'scroll',ua);


h.inform('reflow');},


pageHasScrubber:function(eb){
return !eb||eb.match(/^(og_)?app_/)||(eb in pa);},


fixedAds:function(){
return ca;},


registerCurrentKey:function(eb){
z=eb;


ja=
eb!=='map'&&
q.getViewportDimensions().y<x&&
db.pageHasScrubber(eb);


ja=ja||s('blueBar').offsetTop;

ta(db.ADS,'setShortMode',[ja]);

ta(db.ADS,'updateCurrentKey',[eb]);

la=
eb==p.TIMELINE_KEY?
v-w:
0;},


getCurrentKey:function(){
return z;},


getSectionKeys:function(){
return qa;},


getCurrentScrubber:function(){
return fa[db.SCRUBBER];},


getCurrentStickyHeaderNav:function(){
return fa[db.STICKY_HEADER_NAV];},


scrubberHasLoaded:function(eb){
ta
(db.STICKY_HEADER_NAV,
'addTimePeriods',
[qa]);


i.conditionClass(eb.getRoot(),'fixed_elem',!ja);
ta(db.ADS,'registerScrubber',[eb]);},


registerSectionKey:function(eb,fb){


if(fa[db.STICKY_HEADER_NAV]){
ta
(db.STICKY_HEADER_NAV,
'addTimePeriod',
[eb]);}else 


qa[fb]=eb;},



scrubberHasChangedState:function(){
ta(db.ADS,'adjustAdsToFit');},


scrubberWasClicked:function(eb){
ta(db.LOGGING,'logScrubberClick',[eb]);},


sectionHasChanged:function(eb,fb){
ta
(db.STICKY_HEADER_NAV,
'updateSection',
[eb,fb]);

ta(db.SCRUBBER,'updateSection',[eb,fb]);
ta(db.ADS,'loadAdsIfEnoughTimePassed');
ta(db.LOGGING,'logSectionChange',[eb,fb]);},


navigateToSection:function(eb){
ta(db.CONTENT,'navigateToSection',[eb]);},


shouldShowWideAds:function(){
if(da){
ka=true;}else
if(!ra){





ka=false;}else{

var eb=y+r.getRight();
ka=q.getViewportDimensions().x>=eb;}


return ka;},


sidebarInitialized:function(){
return ra;},


adjustStickyHeaderWidth:function(){
ta(db.STICKY_HEADER,'adjustWidth');},










register:function(eb,fb){
fa[eb]=fb;
if(ga[eb]){
for(var gb in ga[eb])
ta(eb,gb,ga[eb][gb]);

delete ga[eb];}},



adjustScrollingPagerBuffer:function(eb,fb){
var gb=j.get
(n.DS_COLUMN_HEIGHT_DIFFERENTIAL,
fb);

if(!gb)
return;

var hb=m.getInstance(eb);
hb&&hb.setBuffer(hb.getBuffer()+Math.abs(gb));},


runOnceWhenSectionFullyLoaded:
function(eb,
fb,
gb){
var hb=o.get(fb);
if(hb){
var ib=false;

k.scry(hb.node,'.fbTimelineCapsule').forEach
(function(kb){
if(!ib&&
parseInt
(j.get(n.DS_LOADED,kb.id),10)>=
parseInt(gb,10)){

eb();
ib=true;}});



if(ib)
return;}



var jb=h.subscribe
(n.SECTION_FULLY_LOADED,
function(kb,lb){
if(lb.scrubberKey===fb&&
lb.pageIndex===gb){
eb();
jb.unsubscribe();}});}};






e.exports=db;});

/** js/profile/timeline/modules/TimelineStickyHeader.js */
__d("TimelineStickyHeader",["Arbiter","Bootloader","CSS","DOM","TimelineController","TimelineURI","Vector","ViewportBounds","$","ge","queryThenMutateDOM"],function(a,b,c,d,e,f){



var g=b('Arbiter'),
h=b('Bootloader'),
i=b('CSS'),
j=b('DOM'),
k=b('TimelineController'),
l=b('TimelineURI'),
m=b('Vector'),
n=b('ViewportBounds'),

o=b('$'),
p=b('ge'),
q=b('queryThenMutateDOM'),

r=false,
s=false,
t,
u,
v,
w,

x=
{VISIBLE:'TimelineStickyHeader/visible',
ADJUST_WIDTH:'TimelineStickyHeader/adjustWidth',

init:function(y){
if(r)
return;

r=true;
t=y;
u=j.find(y,'div.name');
v=j.find(y,'div.actions');
s=i.hasClass(y,'fbTimelineStickyHeaderVisible');

var z=o('blueBar'),
aa,
ba,
ca,
da=false;

q
(function(){
aa=y.offsetTop;
ba=y.scrollHeight;
if(z.offsetTop&&
!p('page_admin_panel')&&
k.getCurrentKey()!==l.TIMELINE_KEY){
ca=m.getElementDimensions(z).y;
da=true;}},


function(){
w=n.addTop(function(){
return s?aa+ba:0;});




if(da){
h.loadModules
(['StickyController'],
function(ea){
new ea(y,ca).start();});}else 



i.addClass(y,'fixed_elem');


k.register
(k.STICKY_HEADER,
x);},


'TimelineStickyHeader/init');},



reset:function(){
r=false;
s=false;
t=null;
u=null;
v=null;

w.remove();
w=null;},


toggle:function(y){
i.conditionClass(t,'fbTimelineStickyHeaderHidden',!y);
t.setAttribute('aria-hidden',y?'false':'true');
if(y!==s){
s=y;
g.inform(x.VISIBLE,y);}},



adjustWidth:function(){
g.inform
(x.ADJUST_WIDTH,
u,
g.BEHAVIOR_STATE);},



getRoot:function(){
return t;},



setActions:function(y){
if(r&&y){
j.setContent(v,y);
v=y;}}};




e.exports=a.TimelineStickyHeader||x;});

/** js/scrolling_pager.js */
__d("legacy:ui-scrolling-pager-js",["ScrollingPager"],function(a,b,c,d){



a.ScrollingPager=b('ScrollingPager');},

3);

/** js/search/typeahead/behaviors/TypeaheadBestName.js */
__d("TypeaheadBestName",["TypeaheadUtil","copyProperties"],function(a,b,c,d,e,f){



var g=b('TypeaheadUtil'),

h=b('copyProperties');




function i(j){
this._typeahead=j;}


h(i.prototype,

{_subscription:null,

enable:function(){
var j=this._typeahead.getView();
this._subscription=j.subscribe('beforeRender',function(k,l){
var m=l.value;
for(var n=0;n<l.results.length;++n){
var o=l.results[n];


if(o.alternate_names==null)
continue;




if(g.isQueryMatch(m,o.default_name)){
o.text=o.default_name;
return;}


for(var p=0;p<o.alternate_names.length;p++)


if(g.isQueryMatch(m,o.alternate_names[p])){
o.text=o.alternate_names[p];
return;}





o.text=o.default_name;}});},




disable:function(){
this._typeahead.getView().unsubscribe(this._subscription);
this._subscription=null;}});




e.exports=i;});

/** js/search/typeahead/behaviors/LegacyBestNameTypeaheadBehavior.js */
__d("legacy:BestNameTypeaheadBehavior",["TypeaheadBestName"],function(a,b,c,d){



var e=b('TypeaheadBestName');

if(!a.TypeaheadBehaviors)a.TypeaheadBehaviors={};
a.TypeaheadBehaviors.buildBestAvailableNames=function(f){
f.enableBehavior(e);};},


3);

/** js/stream/UIIntentionalStreamMessage.js */
__d("UIIntentionalStreamMessage",[],function(a,b,c,d,e,f){






var g=

{SET_AUTO_INSERT:'UIIntentionalStream/setAutoInsert',

UPDATE_STREAM:'UIIntentionalStreamRefresh/updateStream',

REFRESH_STREAM:'UIIntentionalStreamRefresh/refreshStream',

UPDATE_AUTOREFRESH_CONFIG:'UIIntentionalStream/updateAutoRefreshConfig',

UPDATE_HTML_CONTENT:'UIIntentionalStream/updateHtmlContent',


UPDATE_LAST_REFRESH_TIME:'UIIntentionalStream/updateLastRefreshTime',


INSERT_STORIES:'UIIntentionalStream/updateLastRefreshTime',


UNLOAD:'UIIntentionalStream/unload'};


e.exports=g;});

/** js/stream/UIIntentionalStream-message.js */
__d("legacy:UIIntentionalStream-message",["UIIntentionalStreamMessage"],function(a,b,c,d){








a.UIIntentionalStreamMessage=b('UIIntentionalStreamMessage');},

3);

/** js/ui/behavior/TinyViewport.js */
__d("TinyViewport",["Event","CSS","DOM","debounce"],function(a,b,c,d,e,f){









var g=b('Event'),

h=b('CSS'),
i=b('DOM'),

j=b('debounce'),

k=j(function(){
var l=document.documentElement,
m=i.getDocumentScrollElement(),
n=l.clientHeight<400||m.clientWidth<m.scrollWidth;
h.conditionClass(l,'tinyViewport',n);
h.conditionClass(l,'canHaveFixedElements',!n);});


k();
g.listen(window,'resize',k);});

/** js/ui/layer/behaviors/AccessibleLayer.js */
__d("AccessibleLayer",["Event","DOM","Focus","copyProperties","tx"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('DOM'),
i=b('Focus'),

j=b('copyProperties'),
k=b('tx');









function l(m){
this._layer=m;}


j(l.prototype,
{enable:function(){
this._afterShowSubscription=this._layer.subscribe
('aftershow',
this._onAfterShow.bind(this));},



disable:function(){
this._listener&&this._listener.remove();
this._afterShowSubscription.unsubscribe();
this._listener=this._afterShowSubscription=null;},


_closeListener:function(event){
var m=this._layer.getCausalElement();
if(m)
if(m.tabIndex==-1){
m.tabIndex=0;
i.setWithoutOutline(m);}else 

i.set(m);


this._layer.hide();},


_onAfterShow:function(){
var m=this._layer.getContentRoot();


if(h.scry(m,'.layer_close_elem')[0])return;

var n=h.create
('a',
{className:'accessible_elem layer_close_elem',href:'#'},
["Close popup and return"]);

h.appendContent(m,n);

this._listener=g.listen
(n,
'click',
this._closeListener.bind(this));}});




e.exports=l;});

/** js/ui/layer/behaviors/ContextualLayerUpdateOnScroll.js */
__d("ContextualLayerUpdateOnScroll",["Event","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('copyProperties');













function i(j){
this._layer=j;}


h(i.prototype,
{_subscriptions:[],

enable:function(){
this._subscriptions=
[this._layer.subscribe('show',this._attachScrollListener.bind(this)),
this._layer.subscribe('hide',this._removeScrollListener.bind(this))];},



disable:function(){
while(this._subscriptions.length)
this._subscriptions.pop().unsubscribe();

this.detach();},


_attachScrollListener:function(){
if(this._listener)
return;

var j=this._layer.getContextScrollParent();
this._listener=g.listen
(j,
'scroll',
this._layer.updatePosition.bind(this._layer));},



_removeScrollListener:function(){
this._listener&&this._listener.remove();
this._listener=null;}});




e.exports=i;});

/** js/ui/layer/behaviors/LayerAutoFocus.js */
__d("LayerAutoFocus",["function-extensions","DOMQuery","Focus","TabbableElements","copyProperties"],function(a,b,c,d,e,f){



b('function-extensions');

var g=b('DOMQuery'),
h=b('Focus'),
i=b('TabbableElements'),

j=b('copyProperties');










function k(l){
this._layer=l;}


j(k.prototype,
{_subscription:null,

enable:function(){
this._subscription=this._layer.subscribe
('aftershow',
this._focus.bind(this));},



disable:function(){
this._subscription.unsubscribe();
this._subscription=null;},


_focus:function(){
var l=this._layer.getRoot(),


m=g.scry(l,'.autofocus')[0],
n=true;



if(!m){
var o=document.activeElement;

if(g.isNodeOfType(o,['input','textarea']))
return;

var p=i.find(l);
for(var q=0;q<p.length;q++)
if(p[q].tagName!='A'){




m=p[q];
n=false;
break;}}





if(m){
n?h.set(m):h.setWithoutOutline(m);}else{

l.tabIndex=0;
h.setWithoutOutline(l);}}});




e.exports=k;});

/** js/ui/layer/behaviors/ModalLayer.js */
__d("ModalLayer",["Event","function-extensions","Arbiter","CSS","DataStore","DOM","DOMDimensions","DOMQuery","ScrollAwareDOM","Style","URI","UserAgent","Vector","copyProperties","csx","cx","isAsyncScrollQuery","debounceAcrossTransitions"],function(a,b,c,d,e,f){




var g=b('Event');
b('function-extensions');

var h=b('Arbiter'),
i=b('CSS'),
j=b('DataStore'),
k=b('DOM'),
l=b('DOMDimensions'),
m=b('DOMQuery'),
n=b('ScrollAwareDOM'),
o=b('Style'),
p=b('URI'),
q=b('UserAgent'),
r=b('Vector'),

s=b('copyProperties'),
t=b('csx'),
u=b('cx'),
v=b('isAsyncScrollQuery'),
w=b('debounceAcrossTransitions'),

x=[],
y=null,
z=null,

aa=null;

function ba(){
if(!aa)
aa=m.scry(document.body,"._li")[0];

return aa;}








function ca(ia){
var ja=
{position:r.getScrollPosition()},


ka=ia.offsetTop-ja.position.y;
i.addClass(ia,"_31e");
o.set(ia,'top',ka+'px');





h.inform('reflow');

ja.listener=n.subscribe('scroll',function(la,ma){
if(m.contains(ia,ma.target)){
var na=ia.offsetTop-ma.delta.y;
o.set(ia,'top',na+'px');

ja.position=ja.position.add(ma.delta);

return false;}});



j.set(ia,'ModalLayerData',ja);









if(q.firefox()<13)
da.curry(ia).defer();}






function da(ia){
m.scry(ia,'div.swfObject').forEach(function(ja){
var ka=ja.getAttribute('data-swfid');

if(ka&&window[ka]){
var la=window[ka];



la.addParam('autostart','false');
la.addParam('autoplay','false');
la.addParam('play','false');
la.addVariable('video_autoplay','0');
la.addVariable('autoplay','0');
la.addVariable('play','0');

var ma=p(la.getAttribute('swf'));
ma.addQueryData({autoplay:'0'});



ma.setPath(ma.getPath().replace('autoplay=1','autoplay=0'));
la.setAttribute('swf',ma.toString());


la.write(ja);}});}








function ea(ia,ja){
var ka=j.get(ia,'ModalLayerData');
if(ka){
var la=function(){
i.removeClass(ia,"_31e");
o.set(ia,'top','');

if(ja){
var oa=m.getDocumentScrollElement();
oa.scrollTop=ka.position.y;}






h.inform('reflow');

ka.listener.unsubscribe();
ka.listener=null;

j.remove(ia,'ModalLayerData');};








if(ja&&v()){
var ma=k.create('div',{className:"_42w"});
o.set(ma,'height',ia.offsetHeight+'px');
k.appendContent(document.body,ma);

var na=m.getDocumentScrollElement();
na.scrollTop=ka.position.y;
ja=false;

!function(){
la();
k.remove(ma);}.
defer();}else 

la();}



if(q.ie()<7)
o.set(ia,'height','');}












function fa(){


var ia;
if(q.ie()<7){
var ja=x[x.length-1].getLayerRoot(),
ka=Math.max(ja.offsetHeight,ja.scrollHeight);

ia=function(qa){
o.set(qa,'height',(-qa.offsetTop+ka)+'px');};}



var la=x.length;
while(la--){
var ma=x[la],
na=ma.getLayerRoot();


ga(na,'');

var oa=ma.getLayerContentRoot(),
pa=
oa.offsetWidth+
l.measureElementBox(oa,'width',0,0,1);
ga(na,pa);

if(ia&&la<x.length-1)
ia(na);}


ia&&ia(ba());}


function ga(ia,ja){
var ka=q.ie()<7;
if(ka&&ja&&ja<=document.body.clientWidth)
ja='';

o.set
(ia,
ka?'width':'min-width',
ja+(ja?'px':''));}



function ha(ia){
this._layer=ia;}


s(ha.prototype,
{_subscription:null,

enable:function(){
if(!ba())
return;


this._subscription=this._layer.subscribe
(['show','hide'],
function(ia){
ia=='show'?this._addModal():this._removeModal();}.
bind(this));



if(this._layer.isShown())
this._addModal();},



disable:function(){

if(!ba())
return;


this._subscription.unsubscribe();
this._subscription=null;



if(this._layer.isShown())
this._removeModal();},



_addModal:function(){
i.addClass(this.getLayerRoot(),"_3qw");

var ia=x[x.length-1],
ja=ia?ia.getLayerRoot():ba();
ca(ja);


var ka=m.getDocumentScrollElement();
ka.scrollTop=0;

if(!x.length){
if(q.ie()<7)
i.addClass(document.documentElement,"_31d");


var la=w(fa,100);
y=g.listen(window,'resize',la);
z=h.subscribe('reflow',la);}


x.push(this);

fa.defer();},


_removeModal:function(){
var ia=this.getLayerRoot();
i.removeClass(ia,"_3qw");
ga(ia,'');

var ja=this===x[x.length-1];

x.remove(this);

var ka=x[x.length-1];

if(!ka){
y.remove();
y=null;
z.unsubscribe();
z=null;}












var la=ka?ka.getLayerRoot():ba();
!function(){
ea(la,ja);

if(x.length){
fa.defer();}else
if(q.ie()<7)
i.removeClass(document.documentElement,"_31d");}.

defer(400,false);},


getLayerRoot:function(){
return this._layer.getRoot();},


getLayerContentRoot:function(){
return this._layer.getContentRoot();}});



e.exports=ha;});

/** js/ui/layer/contextual_dialog/behaviors/ContextualDialogArrow.js */
__d("ContextualDialogArrow",["JSXDOM","CSS","DOM","Locale","Style","Vector","copyProperties","cx"],function(a,b,c,d,e,f){var g=b('JSXDOM'),





h=b('CSS'),
i=b('DOM'),
j=b('Locale'),
k=b('Style'),
l=b('Vector'),

m=b('copyProperties'),
n=b('cx'),

o=15,
p=16,

q=
{bottom:"_a5e",
top:"_a5f",
right:"_a5g",
left:"_a5h"},


r=
{above:'bottom',
below:'top',
left:'right',
right:'left'};


function s(t){
this._layer=t;}


m(s.prototype,
{_subscription:null,
_arrow:null,

enable:function(){
this._subscription=this._layer.subscribe
(['adjust','reposition'],
this._handle.bind(this));},



disable:function(){
this._subscription.unsubscribe();
this._subscription=null;},


_handle:function(t,u){
if(t==='adjust'){
this._repositionArrow(u);}else 

this._repositionRoot(u);},



_repositionRoot:function(t){
var u=this._layer.getRoot();
if(!t.isVertical()){
var v=parseInt(k.get(u,'top'),10);
v-=o;
k.set(u,'top',v+'px');}},



_repositionArrow:function(t){
var u=this._layer._contentWrapper,
v=t.getPosition(),

w=r[v];
for(var x in q)
h.conditionClass
(u,
q[x],
w===x);



if(v=='none')
return;



if(!this._arrow){
this._arrow=g.i({className:"_a5i"});
i.appendContent(u,this._arrow);}


h.conditionClass
(u,
"_kc",
this._layer.getFooter());



k.set(this._arrow,'top','');
k.set(this._arrow,'left','');
k.set(this._arrow,'right','');
k.set(this._arrow,'margin','');

var y=s.getOffsetPercent(t),
z=s.getOffset
(t,
y,
this._layer.getContext()),

aa=s.getOffsetSide(t);

k.set(this._arrow,aa,y+'%');
k.set(this._arrow,'margin-'+aa,z+'px');}});



m(s,
{getOffsetPercent:function(t){
var u=t.getAlignment(),
v=t.getPosition();
if(v=='above'||v=='below')
if(u=='center'){
return 50;}else
if(u=='right')
return 100;


return 0;},


getOffsetSide:function(t){
var u=t.isVertical();
return u?(j.isRTL()?'right':'left'):'top';},


getOffset:function(t,u,v){
var w=t.getAlignment(),
x=0;
if(w!='center'){
x=o;

if(t.isVertical()){
var y=l.getElementDimensions(v).x;
if(y<p+(o*2))
x=Math.max((y/2)-(p/2),0);}}



x+=p*u/100;

if(w!='left')
x*=-1;


return x;}});



s.OFFSET=o;
s.LENGTH=p;

e.exports=s;});

/** js/ui/layer/contextual_dialog/behaviors/ContextualDialogFitInViewport.js */
__d("ContextualDialogFitInViewport",["Event","ContextualDialogArrow","ContextualLayerDimensions","Style","Vector","copyProperties","throttle"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('ContextualDialogArrow'),
i=b('ContextualLayerDimensions'),
j=b('Style'),
k=b('Vector'),

l=b('copyProperties'),
m=b('throttle'),

n=h.OFFSET,
o=h.LENGTH,

p=n+o;





function q(r){
this._layer=r;
this._listeners=[];}


l(q.prototype,
{_subscription:null,
_minimumTop:null,

enable:function(){
this._subscription=this._layer.subscribe
(['show','hide','reposition'],
function(r,s){
if(r=='reposition'){
this._calculateMinimumTop(s);}else
if(r=='show'){
this._attachScroll();
this._adjustForScroll();}else 

this._detachScroll();}.

bind(this));

if(this._layer.isShown())
this._attachScroll();},



disable:function(){
if(this._layer.isShown())
this._detachScroll();

this._subscription.unsubscribe();
this._subscription=null;},


_attachScroll:function(){
var r=m(this._adjustForScroll.bind(this)),
s=this._layer.getContextScrollParent()||window;
this._listeners=
[g.listen(s,'scroll',r),
g.listen(window,'resize',r)];},



_detachScroll:function(){
while(this._listeners.length)
this._listeners.pop().remove();

this._listeners=[];},


_getContentHeight:function(){
return k.getElementDimensions(this._layer._contentWrapper).y;},


_getContextY:function(){
return k.getElementPosition(this._layer.getContext()).y;},


_calculateMinimumTop:function(r){


if(r.isVertical())
return;


this._minimumTop=
(this._getContextY()-
(this._getContentHeight()-p)+
r.getOffsetY());},



_adjustForScroll:function(){
var r=this._layer._getOrientation();



if(r.isVertical())
return;


var s=i.getViewportRect(this._layer),
t=s.b-this._minimumTop;



if(t<0)
return;


var u=this._getContentHeight(),
v=u-(p+n),
w=Math.max
(0,
Math.min
(v,
v-(t-u)));



j.set(this._layer.getContent(),'top',-w+'px');}});



e.exports=q;});

/** js/ui/layer/contextual_dialog/ContextualDialog.js */
__d("ContextualDialog",["AccessibleLayer","Class","ContextualDialogArrow","ContextualDialogFitInViewport","ContextualLayer","CSS","DOM","LayerAutoFocus","LayerButtons","LayerHideOnTransition","LayerFormHooks","LayerMouseHooks","Style","copyProperties","csx","cx"],function(a,b,c,d,e,f){




var g=b('AccessibleLayer'),
h=b('Class'),
i=b('ContextualDialogArrow'),
j=b('ContextualDialogFitInViewport'),
k=b('ContextualLayer'),
l=b('CSS'),
m=b('DOM'),
n=b('LayerAutoFocus'),
o=b('LayerButtons'),
p=b('LayerHideOnTransition'),
q=b('LayerFormHooks'),
r=b('LayerMouseHooks'),
s=b('Style'),

t=b('copyProperties'),
u=b('csx'),
v=b('cx');

function w(x,y){
this.parent.construct(this,x,y);}


h.extend(w,k);

t(w.prototype,
{_footer:null,

_configure:function(x,y){
x.addedBehaviors=x.addedBehaviors||[];
var z=x.arrowBehavior||i;
x.addedBehaviors.push(z);
var aa=m.scry(y,"div._k7");
if(aa.length)
this._footer=aa[0];

this.parent._configure(x,y);},


_getDefaultBehaviors:function(){
var x=this.parent._getDefaultBehaviors();



x.remove(p);

return x.concat
([g,
n,
j,
o,
q,
r]);},



_buildWrapper:function(x,y){
l.addClass(y,"_k5");
var z=this.parent._buildWrapper(x,y);
l.addClass(this._contentWrapper,"_k6");
if(x.width)
this.setWidth(x.width);

return z;},


setWidth:function(x){
this._width=Math.floor(x);
s.set(this._contentWrapper,'width',x+'px');
return this;},


getFooter:function(){
return this._footer;}});



t(w,


{setContext:function(x,y){
x.setContext(y);}});



e.exports=w;});

/** js/ui/layer/dialog/DialogX.js */
__d("DialogX",["Event","function-extensions","Arbiter","ArbiterMixin","Class","ContextualThing","DOM","Layer","LayerAutoFocus","LayerButtons","LayerFormHooks","LayerTabIsolation","ModalLayer","Style","UserAgent","Vector","copyProperties","cx","debounce","getOverlayZIndex"],function(a,b,c,d,e,f){




var g=b('Event');
b('function-extensions');

var h=b('Arbiter'),
i=b('ArbiterMixin'),
j=b('Class'),
k=b('ContextualThing'),
l=b('DOM'),
m=b('Layer'),
n=b('LayerAutoFocus'),
o=b('LayerButtons'),
p=b('LayerFormHooks'),
q=b('LayerTabIsolation'),
r=b('ModalLayer'),
s=b('Style'),
t=b('UserAgent'),
u=b('Vector'),

v=b('copyProperties'),
w=b('cx'),
x=b('debounce'),
y=b('getOverlayZIndex'),

z=40;







function aa(ca,da){
this.parent.construct(this,ca,da);}


j.extend(aa,m);
v(aa,i);

v(aa.prototype,
{_modal:false,
_ie:null,
_wrapper:null,

_configure:function(ca,da){
this.parent._configure(ca,da);
if(ca.modal)
this.enableModal();

if(ca.autohide)
var ea=this.subscribe('show',function(){
ea.unsubscribe();
this.hide.shield(this).defer(ca.autohide);}.
bind(this));},



_getDefaultBehaviors:function(){
return this.parent._getDefaultBehaviors().concat
([ba,
n,
o,
p,
q]);},



_buildWrapper:function(ca,da){
var ea=l.create('div',{className:"_t"},da),
fa;

this._ie=t.ie();
if(this._ie>6&&this._ie<9){
fa=
[l.create('div',{className:"_u"}),
l.create('div',{className:"_v"}),
l.create('div',{className:"_w"}),
l.create('div',{className:"_x"}),
l.create('div',{className:"_y"}),
l.create('div',{className:"_z"}),
ea];}else 


fa=l.create
('div',
{className:"_1yu"},
ea);


this._wrapper=l.create('div',
{className:"_1yv",
role:'dialog'},
fa);

if(ca.titleID)
this._wrapper.setAttribute('aria-labelledby',ca.titleID);


this.setWidth(ca.width);

return l.create('div',
{className:"_10",
role:'dialog'},
this._wrapper);},


enableModal:function(){
this._modal=true;
this.enableBehavior(r);
return this;},


getContentRoot:function(){
return this._wrapper;},



_setModalityBasedOnVerticalSpace:function(ca){
if(!this._modal&&(!this._ie||this._ie<7))
if(ca<=z){
this.enableBehavior(r);}else 

this.disableBehavior(r);},




reflowUpdate:function(){
var ca=
u.getViewportDimensions().y-
u.getElementDimensions(this._wrapper).y-
this._lastTopMargin;

this._setModalityBasedOnVerticalSpace(ca);},


updatePosition:function(){
var ca=
u.getViewportDimensions().y-
u.getElementDimensions(this._wrapper).y,

da;
if(ca<250){
if(ca>80){
da=ca/2;}else 

da=40;}else 


da=125;


this._lastTopMargin=da;



this._setModalityBasedOnVerticalSpace(da);




if(this._ie<7){
var ea=u.getScrollPosition().y;
s.set(this._wrapper,'top',da+ea+'px');}else 

s.set(this._wrapper,'margin-top',da+'px');


if(this._causalElement){
var fa=y
(this._causalElement,
this.getInsertParent()),

ga=this._causalElement;
while(!fa&&(ga=k.getContext(ga)))
fa=y(ga,this.getInsertParent());


s.set(this.getRoot(),'z-index',fa>200?fa:'');}


this.inform('update_position',{type:'DialogX',top:da});},









setWidth:function(ca){
ca=Math.floor(ca);
if(ca===this._width)
return;

this._width=ca;
if(this._ie>6&&this._ie<9)


ca-=20;

s.set(this._wrapper,'width',ca+'px');}});








function ba(ca){
this._layer=ca;}


v(ba.prototype,
{_subscription:null,
_resize:null,
enable:function(){
this._subscription=this._layer.subscribe
(['show','hide'],
function(ca){
if(ca==='show'){
this._attach();
h.inform('layer_shown',{type:'DialogX'});}else{

this._detach();
h.inform('layer_hidden',{type:'DialogX'});}}.

bind(this));},



disable:function(){
this._subscription.unsubscribe();
this._subscription=null;
this._resize&&this._detach();},


_attach:function(){
this._layer.updatePosition();
this._resize=g.listen
(window,
'resize',
x(this._layer.updatePosition.bind(this._layer)));

this._reflow_listener=h.subscribe
('reflow',
this._layer.reflowUpdate.bind(this._layer));},



_detach:function(){
this._resize.remove();
this._resize=null;
this._reflow_listener.unsubscribe();
this._reflow_listener=null;}});



e.exports=aa;});

/** js/ui/layer/dialog/AsyncDialog.js */
__d("AsyncDialog",["AsyncRequest","Bootloader","CSS","DialogX","DOM","Env","Parent","URI","copyProperties","cx","emptyFunction","tx"],function(a,b,c,d,e,f){



var g=b('AsyncRequest'),
h=b('Bootloader'),
i=b('CSS'),
j=b('DialogX'),
k=b('DOM'),
l=b('Env'),
m=b('Parent'),
n=b('URI'),

o=b('copyProperties'),
p=b('cx'),
q=b('emptyFunction'),
r=b('tx'),

s=new j
({width:465},
k.create('div',{className:"_r"},"Loading...")),



t=1,
u=[],



v=0;

function w(){
v--;

if(!v)
s.hide();}



function x(z,aa){
var ba=t++;
u[ba]=aa;

o(z.getData(),{__asyncDialog:ba});


var ca=false;

v++;
s.setCausalElement(z.getRelativeTo()).show();

function da(){


if(!ca)
w();}



z.setInterceptHandler(function(fa){
ca=true;
w();});


var ea=z.finallyHandler;
z.setFinallyHandler(function(fa){
var ga=fa.getPayload();





if(ga&&ga.asyncURL)
y.send(new g(ga.asyncURL));


da();
ea&&ea(fa);});


z.setAbortHandler(da);

z.send();}


var y=



















{send:function(z,aa){





x(z,aa||q);},










bootstrap:function(z,aa,ba){

if(!z)
return;


var ca=m.byClass(aa,'stat_elem')||aa;
if(ca&&i.hasClass(ca,'async_saving'))
return false;


var da=new n(z).getQueryData(),

ea=ba==='dialog',

fa=new g().
setURI(z).
setData(da).
setMethod(ea?'GET':'POST').
setReadOnly(ea).
setRelativeTo(aa).
setStatusElement(ca).
setNectarModuleDataSafe(aa);

if(l.is_desktop){
h.loadModules(['FbdDialogProvider'],
function(ga){
ga.sendDialog(fa,y.send);});

return;}


y.send(fa);},







respond:function(z,aa){
var ba=u[z];










if(ba){



ba(aa);
delete u[z];}},



getLoadingDialog:function(){
return s;}};



e.exports=y;});

/** js/ui/layer/hovercard/Hovercard.js */
__d("Hovercard",["JSXDOM","Event","function-extensions","AccessibleLayer","Arbiter","AsyncRequest","AsyncSignal","ContextualDialog","ContextualDialogArrow","ContextualThing","DOM","LayerAutoFocus","Parent","Rect","Style","UserAgent","Vector","clickRefAction","cx","emptyFunction","tx","userAction"],function(a,b,c,d,e,f){var g=b('JSXDOM'),





















h=b('Event');
b('function-extensions');

var i=b('AccessibleLayer'),
j=b('Arbiter'),
k=b('AsyncRequest'),
l=b('AsyncSignal'),
m=b('ContextualDialog'),
n=b('ContextualDialogArrow'),
o=b('ContextualThing'),
p=b('DOM'),
q=b('LayerAutoFocus'),
r=b('Parent'),
s=b('Rect'),
t=b('Style'),
u=b('UserAgent'),
v=b('Vector'),

w=b('clickRefAction'),
x=b('cx'),
y=b('emptyFunction'),
z=b('tx'),
aa=b('userAction'),

ba=450,
ca=385,

da={},
ea={},
fa=null,
ga=null,

ha=null,

ia=150,
ja=700,
ka=1000,
la=250,

ma=null,
na=null,
oa=null,
pa=null;








function qa(event){
var eb=r.byTag(event.getTarget(),'a');
db.processNode(eb)&&event.stop();}














function ra(eb){
ga=eb;
if(!sa(eb)){
var fb;
if(!eb||!(fb=ta(eb))){
ea.moveToken&&ea.moveToken.remove();
ea={};
return false;}

if(ea.node!=eb){
ea.moveToken&&ea.moveToken.remove();
ea={node:eb,endpoint:fb,pos:null};}}


return true;}








function sa(eb){
return eb&&fa&&ea.node==eb;}









function ta(eb){
return eb.getAttribute('data-hovercard');}









function ua(eb){
var fb=h.listen(eb,'mouseout',function(){
clearTimeout(ma);
clearTimeout(na);
fb.remove();
ga=null;



if(!db.contains(eb))
db.hide();});





if(!ea.moveToken)
ea.moveToken=h.listen(eb,'mousemove',function(event){
ea.pos=v.getEventPosition(event);});



clearTimeout(ma);
clearTimeout(na);
clearTimeout(pa);

var gb=ia,


hb=fa?la:ja;

if(eb.getAttribute('data-hovercard-instant'))


gb=hb=50;


ma=setTimeout(za.curry(eb),gb);
na=setTimeout(va.curry(eb),hb);}




















function va(eb,fb){

if(ea.node!=eb)
return;


var gb=da[ta(eb)];
if(gb){
xa(gb);}else
if(fb){
xa(bb());}else{

var hb=fa?la:ja;
oa=setTimeout
(va.curry(eb,true),
ka-hb);}}









function wa(){
db.hide(true);
clearTimeout(na);}


function xa(eb){
var fb=ea.node,
gb=fa,
hb=gb!=fb;



if(ha){
var ib=ha.getContentRoot();
if(!o.containsIncludingLayers(ib,fb))
ha.hide();}




if(!p.contains(document.body,fb)){
db.hide(true);
return;}


fa=fb;
ha=eb;
eb.setContextWithBounds(fb,ya(fb)).show();



if(hb)

(function(){

new l('/ajax/hovercard/shown.php').send();


w('himp',fa,null,'FORCE',{ft:{evt:39}});
aa('hovercard',fa).uai('show');}).
defer();}











function ya(eb){
var fb=ea.pos,
gb=eb.getClientRects();
if(!fb||gb.length===0)

return s.getElementBounds(eb);


var hb,
ib=false;
for(var jb=0;jb<gb.length;jb++){
var kb=new s
(Math.round(gb[jb].top),Math.round(gb[jb].right),
Math.round(gb[jb].bottom),Math.round(gb[jb].left),
'viewport').
convertTo('document'),
lb=kb.getPositionVector(),
mb=lb.add(kb.getDimensionVector());


if(!hb||(lb.x<=hb.l&&lb.y>hb.t)){
if(ib)break;
hb=new s(lb.y,mb.x,mb.y,lb.x,'document');}else{

hb.t=Math.min(hb.t,lb.y);
hb.b=Math.max(hb.b,mb.y);
hb.r=mb.x;}


if(kb.contains(fb))


ib=true;}



return hb;}














function za(eb){


if(eb.id&&da[eb.id]!=null)
return;





var fb=ta(eb);
if(da[fb]!=null)
return;


ab(fb);

var gb=function(){
db.dirty(fb);
wa();};


new k(fb).
setData({endpoint:fb}).
setMethod('GET').
setReadOnly(true).
setErrorHandler(gb).
setTransportErrorHandler(gb).
send();}









function ab(eb){


da[eb]=false;}





var bb=function(){
var eb=new m
({width:275,arrowBehavior:n},
g.div({className:"_7lk",children:
"Loading..."}));


eb.
disableBehavior(i).
disableBehavior(q);
cb(eb);
bb=y.thatReturns(eb);
return eb;};


function cb(eb){
var fb=
[eb.subscribe('mouseenter',function(){
clearTimeout(pa);



ga=ea.node;}),

eb.subscribe('mouseleave',function(){
eb.hide();
ga=null;}),


eb.subscribe('destroy',function(){
while(fb.length)
fb.pop().unsubscribe();

fb=null;})];}




var db=

















{hide:function(eb){
if(!fa)
return;

if(eb){
if(ha)
ha.hide();


ga=null;
fa=null;
ha=null;}else 

pa=setTimeout(db.hide.curry(true),la);},



setDialog:function(eb,fb){

fb.
disableBehavior(i).
disableBehavior(q);
da[eb]=fb;
cb(fb);
if(ea.endpoint==eb&&ga==ea.node){
bb().hide();


var gb=ea.node.getAttribute('data-hovercard-position');
gb&&fb.setPosition(gb);
var hb=ea.node.getAttribute('data-hovercard-offset-x');
hb&&fb.setOffsetX(parseInt(hb,10));
var ib=ea.node.getAttribute('data-hovercard-offset-y');
ib&&fb.setOffsetY(parseInt(ib,10));
xa(fb);}},



getDialog:function(eb){
return da[eb];},








contains:function(eb){
if(ha)
return o.containsIncludingLayers
(ha.getContentRoot(),
eb);


return false;},









dirty:function(eb){
var fb=da[eb];
if(fb){
fb.destroy();
delete da[eb];}},







dirtyAll:function(){
for(var eb in da){
var fb=da[eb];
fb&&db.dirty(eb);}

j.inform('Hovercard/dirty');},











processNode:function(eb){
if(eb&&ra(eb)){
ua(eb);
return true;}

return false;}};



(function(){
if(u.ie()<8)return;
h.listen(document.documentElement,'mouseover',qa);


h.listen(window,'scroll',function(){
if(fa&&t.isFixed(fa))
db.hide(true);});





j.subscribe('page_transition',function(){
wa();
db.dirtyAll();},
j.SUBSCRIBE_NEW);})
();

e.exports=db;});

/** js/ui/xhp/Toggler.js */
__d("legacy:Toggler",["Toggler"],function(a,b,c,d){



a.Toggler=b('Toggler');},

3);

/** js/ui/xhp/form/modules/StickyPlaceholderInput.js */
__d("StickyPlaceholderInput",["Event","CSS","DOM","Input","Parent","emptyFunction"],function(a,b,c,d,e,f){




var g=b('Event'),

h=b('CSS'),
i=b('DOM'),
j=b('Input'),
k=b('Parent'),

l=b('emptyFunction');

function m(q){
return k.byClass(q,'uiStickyPlaceholderInput');}


function n(q){
return i.scry(q,'.placeholder')[0];}


function o(q){
q=q||window.event;
var r=q.target||q.srcElement;

if(i.isNodeOfType(r,['input','textarea'])){
var s=m(r);
if(s){

var t=q.type;
(function(){
if((t==='keydown'||t==='paste')&&r.value.length)
h.removeClass(s,'uiStickyPlaceholderEmptyInput');

if((t==='blur'||t==='focusout')&&!r.value.length)
h.addClass(s,'uiStickyPlaceholderEmptyInput');}).

defer();}}}








var p=
{init:function(){
p.init=l;

g.listen(document.documentElement,
{keydown:o,
paste:o,
focusout:o});},



registerInput:function(q){
p.init();
var r=q.getAttribute('placeholder')||'';

if(r.length)



if(document.activeElement===q){
var s=g.listen(q,'blur',function(){
p.manipulateInput(q,r);
s.remove();});}else 


p.manipulateInput(q,r);},









manipulateInput:function(q,r){

var s=i.create('div',
{className:'placeholder',
'aria-hidden':'true'},
r),
t=i.create('div',
{className:'uiStickyPlaceholderInput'},
s);

if(i.isNodeOfType(q,'textarea'))
h.addClass(t,'uiStickyPlaceholderTextarea');

g.listen(s,'click',function(){
q.focus();});



if(q.value===r)
q.value='';

h.removeClass(q,'DOMControl_placeholder');
q.setAttribute('placeholder','');

i.replace(q,t);
i.appendContent(t,q);

h.conditionClass
(t,
'uiStickyPlaceholderEmptyInput',
!q.value.length);},


setPlaceholderText:function(q,r){
var s=m(q);
if(!s){
j.setPlaceholder(q,r);}else{

var t=n(s);
t&&i.setContent(t,r);}},



getPlaceholderText:function(q){
var r=m(q),
s=n(r);

return s&&i.getText(s);},






update:function(q){
var r=m(q);
if(r)
h.conditionClass
(r,
'uiStickyPlaceholderEmptyInput',
!q.value.length);},



getVisibleText:function(q){
var r=m(q);
if(h.hasClass(r,'uiStickyPlaceholderEmptyInput')){
var s=n(r);
return s&&i.getText(s);}else 

return q.value;}};




e.exports=p;});

/** js/ui/xhp/form/modules/UIForm.js */
__d("UIForm",["Event","ArbiterMixin","BehaviorsMixin","DOM","Form","Run","areObjectsEqual","copyProperties"],function(a,b,c,d,e,f){



var g=b('Event'),

h=b('ArbiterMixin'),
i=b('BehaviorsMixin'),
j=b('DOM'),
k=b('Form'),
l=b('Run'),

m=b('areObjectsEqual'),
n=b('copyProperties');












function o(p,q,r,s){
this._root=p;



this.controller=p;


this._message=q;


l.onAfterLoad
(function(){
this._originalState=k.serialize(this._root);}.
bind(this));


this._forceDirty=r;
this._submitted=false;

g.listen(this._root,'submit',this._handleSubmit.bind(this));

if(s&&s.length)
this.enableBehaviors(s);



var t=true;
l.onBeforeUnload
(this.checkUnsaved.bind(this),
t);}



n(o.prototype,h,i,

{getRoot:function(){
return this._root;},


_handleSubmit:function(){
if(this.inform('submit')===false)
return false;

this._submitted=true;
return true;},





reset:function(){
this.inform('reset');
this._submitted=false;},





isDirty:function(){

if(this._submitted||!j.contains(document.body,this._root))
return false;


if(this._forceDirty)
return true;


var p=k.serialize(this._root);
return !m(p,this._originalState);},





checkUnsaved:function(){
if(this.isDirty())
return this._message;


return null;}});




e.exports=a.UIForm||o;});

/** js/ui/xhp/layout/ScrollableArea.js */
__d("ScrollableArea",["array-extensions","Event","throttle","Animation","ArbiterMixin","CSS","DataStore","DOM","Parent","Run","SimpleDrag","Style","UserAgent","Vector","copyProperties"],function(a,b,c,d,e,f){




b('array-extensions');
var g=b('Event'),

h=b('throttle'),
i=b('Animation'),
j=b('ArbiterMixin'),
k=b('CSS'),
l=b('DataStore'),
m=b('DOM'),
n=b('Parent'),
o=b('Run'),
p=b('SimpleDrag'),
q=b('Style'),
r=b('UserAgent'),
s=b('Vector'),

t=b('copyProperties'),

u=12;





function v(w,x){
if(!w)

return;

x=x||{};


this._elem=w;
this._wrap=m.find(w,'div.uiScrollableAreaWrap');
this._body=m.find(this._wrap,'div.uiScrollableAreaBody');
this._content=m.find(this._body,'div.uiScrollableAreaContent');
this._track=m.find(w,'div.uiScrollableAreaTrack');
this._gripper=m.find(this._track,'div.uiScrollableAreaGripper');

this._options=x;
this._throttledComputeHeights=h(this._computeHeights,250,this);
this.throttledAdjustGripper=h(this.adjustGripper,250,this);
this._throttledShowGripperAndShadows=
h(this._showGripperAndShadows,250,this);



this.adjustGripper.bind(this).defer();


this._listeners=
[g.listen(w,'mousemove',this._handleMousemove.bind(this)),
g.listen(this._wrap,'scroll',this._handleScroll.bind(this)),
g.listen(this._track,'click',this._handleClickOnTrack.bind(this))];



if(x.fade!==false)
this._listeners.push
(g.listen(w,'mouseenter',this.showScrollbar.shield(this)),
g.listen(w,'mouseout',this.hideScrollbar.shield(this)));







if(r.webkit()||r.chrome()){
this._listeners.push
(g.listen(w,'mousedown',function(){
var y=g.listen(window,'mouseup',function(){
if(w.scrollLeft)
w.scrollLeft=0;

y.remove();});}));}else


if(r.firefox())

this._wrap.addEventListener('DOMMouseScroll',function(event){
event.axis===event.HORIZONTAL_AXIS&&event.preventDefault();},
false);


this.initDrag();

l.set(this._elem,'ScrollableArea',this);


if(!x.persistent)
o.onLeave(this.destroy.bind(this));


if(x.shadow!==false)
k.addClass(this._elem,'uiScrollableAreaWithShadow');}



t(v,
{renderDOM:function(){
var w=m.create('div',{className:'uiScrollableAreaContent'}),
x=m.create('div',{className:'uiScrollableAreaBody'},w),
y=m.create('div',{className:'uiScrollableAreaWrap'},x),
z=m.create('div',{className:'uiScrollableArea native'},y);

return {root:z,
wrap:y,
body:x,
content:w};},








fromNative:function(w,x){
if(!k.hasClass(w,'uiScrollableArea')||
!k.hasClass(w,'native'))
return;


x=x||{};

k.removeClass(w,'native');

var y=m.create('div',
{className:'uiScrollableAreaTrack'},
m.create('div',{className:'uiScrollableAreaGripper'}));

if(x.fade!==false){
k.addClass(w,'fade');
k.addClass(y,'invisible_elem');}else 

k.addClass(w,'nofade');


m.appendContent(w,y);

var z=new v(w,x);
z.resize();
return z;},


getInstance:function(w){
var x=n.byClass(w,'uiScrollableArea');
return x?l.get(x,'ScrollableArea'):null;},


poke:function(w){
var x=v.getInstance(w);
x&&x.poke();}});



t(v.prototype,j,




{initDrag:function(){

var w=new p(this._gripper);


w.subscribe('start',function(x,event){

if(!((event.which&&event.which===1)||
(event.button&&event.button===1)))
return;



var y=s.getEventPosition(event).y,
z=this._gripper.offsetTop;


k.addClass(this._track,'uiScrollableAreaDragging');


var aa=w.subscribe('update',function(ca,event){
var da=s.getEventPosition(event).y-y;

this._throttledComputeHeights();


var ea=this._contentHeight-this._containerHeight,


fa=z+da,
ga=this._trackHeight-this._gripperHeight;
fa=Math.max(Math.min(fa,ga),0);

var ha=fa/ga*ea;
this._wrap.scrollTop=ha;}.
bind(this)),

ba=w.subscribe('end',function(){
w.unsubscribe(aa);
w.unsubscribe(ba);
k.removeClass(this._track,'uiScrollableAreaDragging');}.
bind(this));}.
bind(this));},





adjustGripper:function(){
if(this._needsGripper()){
q.set(this._gripper,'height',this._gripperHeight+'px');
this._slideGripper();}

this._throttledShowGripperAndShadows();
return this;},


_computeHeights:function(){
this._containerHeight=this._elem.clientHeight;
this._contentHeight=this._content.offsetHeight;
this._trackHeight=this._track.offsetHeight;
this._gripperHeight=Math.max
(this._containerHeight/this._contentHeight*this._trackHeight,
u);},



_needsGripper:function(){
this._throttledComputeHeights();
return this._gripperHeight<this._trackHeight;},


_slideGripper:function(){
var w=
this._wrap.scrollTop/
(this._contentHeight-this._containerHeight)*
(this._trackHeight-this._gripperHeight);
q.set(this._gripper,'top',w+'px');},





_showGripperAndShadows:function(){
k.conditionShow(this._gripper,this._needsGripper());
k.conditionClass(this._elem,'contentBefore',this._wrap.scrollTop>0);
k.conditionClass(this._elem,'contentAfter',!this.isScrolledToBottom());},





destroy:function(){
this._listeners.forEach(function(w){
w.remove();});

this._listeners.length=0;},


_handleClickOnTrack:function(event){
if(!this.lastMousePosition)
return;


var w=this._gripper.getBoundingClientRect();
if(this.lastMousePosition.y<w.top){
this.setScrollTop(this.getScrollTop()-this._elem.clientHeight);}else
if(this.lastMousePosition.y>w.bottom)
this.setScrollTop(this.getScrollTop()+this._elem.clientHeight);},








_handleMousemove:function(event){
var w=s.getEventPosition(event);


if(this._options.fade!==false){
var x=s.getElementPosition(this._track).x,
y=s.getElementDimensions(this._track).x;
if(Math.abs(x+y/2-w.x)<25){
this.showScrollbar(false);}else 

this.hideScrollbar();}



this.lastMousePosition=w.convertTo('viewport');},







_handleScroll:function(event){


if(this._needsGripper())
this._slideGripper();



this.throttledAdjustGripper();


if(this._options.fade!==false)
this.showScrollbar();

this.inform('scroll');},






hideScrollbar:function(w){
if(!this._scrollbarVisible)
return this;

this._scrollbarVisible=false;

if(this._hideTimeout){
clearTimeout(this._hideTimeout);
this._hideTimeout=null;}


if(w){
q.set(this._track,'opacity',0);
k.addClass.curry(this._track,'invisible_elem');}else 

this._hideTimeout=function(){
if(this._hideAnimation){
this._hideAnimation.stop();
this._hideAnimation=null;}

this._hideAnimation=
(new i(this._track)).
from('opacity',1).
to('opacity',0).
duration(250).
ondone(k.addClass.curry(this._track,'invisible_elem')).
go();}.
bind(this).defer(750);

return this;},





resize:function(){
var w=s.getElementDimensions(this._elem).x;


if(this._options.fade===false)
w-=10;


w=Math.max(0,w);
q.set(this._body,'width',w+'px');
return this;},






showScrollbar:function(w){
this.throttledAdjustGripper();
if(this._scrollbarVisible)
return this;

this._scrollbarVisible=true;

if(this._hideTimeout){
clearTimeout(this._hideTimeout);
this._hideTimeout=null;}


if(this._hideAnimation){
this._hideAnimation.stop();
this._hideAnimation=null;}


q.set(this._track,'opacity',1);
k.removeClass(this._track,'invisible_elem');

if(w!==false)
this.hideScrollbar();

return this;},


isScrolledToBottom:function(){
return this._wrap.scrollTop>=this._contentHeight-this._containerHeight;},


scrollToBottom:function(w){
this.setScrollTop(this._wrap.scrollHeight,w);},


scrollToTop:function(w){
this.setScrollTop(0,w);},





scrollIntoView:function(w,x){
var y=this._wrap.clientHeight,
z=w.offsetHeight,
aa=this._wrap.scrollTop,
ba=aa+y,
ca=w.offsetTop,
da=ca+z;

if(ca<aa||y<z){
this.setScrollTop(ca,x);}else
if(da>ba)
this.setScrollTop(aa+(da-ba),x);},






poke:function(){

var w=this._wrap.scrollTop;
this._wrap.scrollTop+=1;
this._wrap.scrollTop-=1;
this._wrap.scrollTop=w;

return this.showScrollbar(false);},


getScrollTop:function(){
return this._wrap.scrollTop;},


getScrollHeight:function(){
return this._wrap.scrollHeight;},


setScrollTop:function(w,x){
if(x!==false){
if(this._scrollTopAnimation)
this._scrollTopAnimation.stop();

this._scrollTopAnimation=
(new i(this._wrap)).
to('scrollTop',w).
ease(i.ease.end).
duration(250).
go();}else 

this._wrap.scrollTop=w;}});





e.exports=v;});

/** js/ui/xhp/layout/scrollable-area.js */
__d("legacy:ScrollableArea",["ScrollableArea"],function(a,b,c,d){



a.ScrollableArea=b('ScrollableArea');},


3);

/** js/ui/xhp/navigation/side_nav_future.js */















function FutureSideNav(){
FutureSideNav.instance&&FutureSideNav.instance.uninstall();
FutureSideNav.instance=this;}


FutureSideNav.instance=null;
FutureSideNav.getInstance=function(){
return FutureSideNav.instance||new FutureSideNav();};


copyProperties(FutureSideNav.prototype,
{init:function(a,b,c){
this.root=a;
this.items={};
this.sections={};
this.editor=null;
this.editing=false;
this.selected=null;
this.loading=null;


this.keyParam='sk';
this.defaultKey=b;
this.uri=URI.getRequestURI();
this.ajaxPipe=c;
this.ajaxPipeEndpoints={};
this.sidecol=true;


this._installed=true;


this._handlePageTransitions=true;
PageTransitions.registerHandler(function(d){
return this._handlePageTransitions&&this.handlePageTransition(d);}.
bind(this));


this._eventHandlers=[];


this._arbiterSubscriptions=
[Arbiter.subscribe
(NavigationMessage.NAVIGATION_COMPLETED,
this.navigationComplete.bind(this)),

Arbiter.subscribe
(NavigationMessage.NAVIGATION_FAILED,
this.navigationFailed.bind(this)),

Arbiter.subscribe
(NavigationMessage.NAVIGATION_COUNT_UPDATE,
this.navigationCountUpdate.bind(this)),

Arbiter.subscribe
(NavigationMessage.NAVIGATION_SELECT,
this.navigationSelect.bind(this)),

Arbiter.subscribe
(ChannelConstants.getArbiterType('nav_update_counts'),
this.navigationCountUpdateFromPresence.bind(this))];




this._explicitHover=[];
this._ensureHover('sideNavItem');

this._eventHandlers.push
(Event.listen(window,'resize',this._handleResize.bind(this)));

this._checkNarrow();

this._selectorSubscriptions=[];
window.Selector&&this._selectorSubscriptions.push
(Selector.subscribe(['open','close'],function(d,e){
var f=Parent.byClass(e.selector,'sideNavItem');
f&&CSS.conditionClass(f,'editMenuOpened',d==='open');}));



onleaveRegister(this.uninstall.bind(this));

if(this._pendingSections)
this._pendingSections.forEach(function(d){
this.initSection.apply(this,d);}.
bind(this));},




_handleResize:(function(){
var a;
return function(){
a&&clearTimeout(a);
a=this._checkNarrow.bind(this).defer(200);};})

(),

_checkNarrow:function(){

CSS.conditionClass
(this.root,
'uiNarrowSideNav',
Vector2.getElementPosition(this.root).x<20);},



_ensureHover:function(a){
if(ua.ie()<8)
Bootloader.loadComponents('explicit-hover',function(){
this._explicitHover.push(new ExplicitHover(this.root,a));}.
bind(this));},






uninstall:function(){
if(this._installed){
this._installed=false;
this._handlePageTransitions=false;
this._arbiterSubscriptions.forEach(Arbiter.unsubscribe);
this._selectorSubscriptions.forEach(function(a){
Selector.unsubscribe(a);});

this._eventHandlers.forEach(function(a){
a.remove();});

this._explicitHover.forEach(function(a){
a.uninstall();});}},







initSection:function(a,b){
if(!this._installed){


this._pendingSections=this._pendingSections||[];
this._pendingSections.push(arguments);
return;}

this._initItems(b);
this._initSection(a);},


addItem:function(a,b){
this._initItem(a,b);},


_initItems:function(a){
var b=function(c,d){
var e=this._initItem(c,d);
if(c.children)
c.children.forEach(function(f){
b(f,e);});}.


bind(this);

$A(a).forEach(function(c){
b(c,null);});},



_initItem:function(a,b){
var c=this.items[a.id]=this._constructItem(a,b);



if(c.equals(this.selected)||a.selected)
this.setSelected(c);



var d=c.getLinkNode();
d&&this._eventHandlers.push
(Event.listen
(d,
'click',
function(event){
return !this.editing;}.
bind(this)));



return c;},


_initSection:function(a){
var b=this.sections[a.id]=this._constructSection(a);

this._eventHandlers.push(Event.listen
(b.node,
'click',
this.handleSectionClick.bind(this,b)));



DOM.scry(b.node,'div.bookmarksMenuButton').forEach(CSS.show);
return b;},



_constructItem:function(a,b){
return new FutureSideNavItem(a,b);},



_constructSection:function(a){
return new FutureSideNavSection(a);},





handleSectionClick:function(a,event){
var b=this._getEventTarget(event,'a'),
c=this._getItemForNode(b);

if(!b){
return;}else
if(CSS.hasClass(b.parentNode,'uiMenuItem')){
this._handleMenuClick(a,c,b.parentNode,event);}else 

this._handleLinkClick(a,b,event);},



_getEventTarget:function(event,a){
var b=event.getTarget();
if(b.tagName!==a.toUpperCase()){
return Parent.byTag(b,a);}else 

return b;},



_handleMenuClick:function(a,b,c,event){
if(CSS.hasClass(c,'rearrange'))
this.beginEdit(a);},



_handleLinkClick:function(a,b,event){
if(CSS.hasClass(b,'navEditDone')){
this.editing?this.endEdit():this.beginEdit(a);
event.kill();}},






getItem:function(a){
if(this._isCurrentPath(a)){
return this._getItemForKey
(this._getKey(a.getQueryData())||this.defaultKey);}else 


return this._getItemForPath(a.getPath());},






getNodeForKey:function(a){
var b=this._getItemForKey(a);
if(b)
return b.node;},



_isCurrentPath:function(a){
return a.getDomain()===this.uri.getDomain()&&
a.getPath()===this.uri.getPath();},


_getKey:function(a){
return a[this.keyParam];},


_getItemForNode:function(a){
a=Parent.byClass(a,'sideNavItem');
return a&&this.items[a.id];},


_getItemForKey:function(a){
return this._findItem(function(b){
return b.matchKey(a);});},



_getItemForPath:function(a){
return this._findItem(function(b){
return b.matchPath(a);});},



_findItem:function(a){
for(var b in this.items)
if(a(this.items[b]))
return this.items[b];},







removeItem:function(a){
if(a&&this.items[a.id]){
DOM.remove(a.node);
delete this.items[a.id];}},



removeItemByKey:function(a){
this.removeItem(this._getItemForKey(a));},


moveItem:function(a,b,c){
var d=DOM.find(a.node,'ul.uiSideNav');
(c?DOM.prependContent:DOM.appendContent)(d,b.node);},





setLoading:function(a){
this.loading&&this.loading.hideLoading();

this.loading=a;
this.loading&&this.loading.showLoading();},


setSelected:function(a){
this.setLoading(null);

if(this.selected){
this.selected.hideSelected();
this.selected.getTop().hideChildren();}


this.selected=a;
if(this.selected){
this.selected.showSelected();
this.selected.getTop().showChildren();}},







handlePageTransition:function(a){
var b=this.getItem(a),
c=b&&b.endpoint&&this._doPageTransition(b,a);

return c;},


_doPageTransition:function(a,b){
this.setLoading(a);
this._sendPageTransition
(a.endpoint,
copyProperties(this._getTransitionData(a,b),b.getQueryData()));

return true;},


_sendPageTransition:function(a,b){
b.endpoint=a;
Arbiter.inform(NavigationMessage.NAVIGATION_BEGIN,
{useAjaxPipe:this._useAjaxPipe(a),
params:b});},



_getTransitionData:function(a,b){
var c={};
c.sidecol=this.sidecol;
c.path=b.getPath();



c[this.keyParam]=a.textKey;
c.key=a.textKey;

return c;},


_useAjaxPipe:function(a){
return this.ajaxPipe||this.ajaxPipeEndpoints[a];},


navigationComplete:function(){
this.loading&&this.setSelected(this.loading);},


navigationFailed:function(){
this.setLoading(null);},


navigationSelect:function(a,b){
var c=this._getItemForKey(this._getKey(b));
if(b.asLoading){
this.setLoading(c);}else 

this.setSelected(c);},



navigationCountUpdate:function(a,b){
var c=this._getItemForKey(b&&b.key);
if(c)
if(typeof b.count!=="undefined"){
c.setCount(b.count,b.hide);}else
if(typeof b.increment!=="undefined")
c.incrementCount(b.increment,b.hide);},




navigationCountUpdateFromPresence:function(a,b){
b=b.obj;
if(b)
if(!b.class_name||
b.class_name&&CSS.hasClass(this.root,b.class_name))
if(b.items)
for(var c=0;c<b.items.length;c++)
this.navigationCountUpdate(a,b.items[c]);},









beginEdit:function(a){
if(!this.editing){
this.editing=true;
CSS.addClass(this.root,'editMode');
this._updateTrackingData();
Bootloader.loadComponents
('sortable-side-nav-js',
this._initEditor.bind(this,a));}},




endEdit:function(){
if(this.editing){
CSS.removeClass(this.root,'editMode');
this.editor.endEdit();
this.editor=null;
this.editing=false;
this._updateTrackingData();}},



_updateTrackingData:function(a){
var b=this.root.getAttribute('data-gt')||"{}";

try{b=JSON.parse(b);
if(this.editing){
b.editing=true;}else 

delete b.editing;

this.root.setAttribute('data-gt',JSON.stringify(b));}catch(
c){

}},


_initEditor:function(a){


this.editor=a.getEditor();
this.editor.beginEdit();}});




function FutureSideNavSection(a){
this.id=a.id;
this.node=this.node||$(a.id);
this.editEndpoint=a.editEndpoint;}


copyProperties(FutureSideNavSection.prototype,
{equals:function(a){
return a&&a.id===this.id;},


getEditor:function(){
return new SortableSideNav
(DOM.find(this.node,'ul.uiSideNav'),
this.editEndpoint);}});





function FutureSideNavItem(a,b){
this.id=a.id;
this.up=b;
this.endpoint=a.endpoint;
this.type=a.type;
this.node=a.node||$(a.id);
this.paths=a.path?$A(a.path):[];
this.keys=a.key?$A(a.key):[];

var c=this._findKeys(this.keys);
this.numericKey=c.numeric||this.keys[0];
this.textKey=c.text||this.keys[0];

this._pathPattern=this._buildRegex(this.paths);
this._keyPattern=this._buildRegex(this.keys);

this.hideLoading();
this.hideSelected();}


copyProperties(FutureSideNavItem.prototype,
{equals:function(a){
return a&&a.id===this.id;},


getLinkNode:function(){

return (DOM.scry(this.node,'a.item')[0]||
DOM.scry(this.node,'a.subitem')[0]);},







matchPath:function(a){
return this._matchInput(this._pathPattern,a);},


matchKey:function(a){
return this._matchInput(this._keyPattern,a);},


_matchInput:function(a,b){
var c=a&&a.exec(b);
return c&&c.slice(1);},





getTop:function(){
return this.isTop()?this:this.up.getTop();},


isTop:function(a){
return !this.up;},





setCount:function(a,b){
return this._updateCount(a,true);},


incrementCount:function(a,b){
return this._updateCount(a,false);},


_updateCount:function(a,b,c){
var d=DOM.scry(this.node,'span.count')[0],
e=d&&DOM.scry(d,'span.countValue')[0];

if(e){
var f=b?0:parseInt(DOM.getText(e),10),
g=Math.max(0,f+a),
h=this.isTop()?'hidden':'hiddenSubitem';


DOM.setContent(e,g);


c&&CSS.conditionClass(this.node,h,!g);
CSS.conditionClass(d,'hidden_elem',!g);
if(this.isTop()){
var i=DOM.scry(this.node,'div.linkWrap')[0];
if(i){
CSS.conditionClass(i,'noCount',!g);
CSS.conditionClass(i,'hasCount',g);}}}



Arbiter.inform('NavigationMessage.COUNT_UPDATE_DONE');},





showLoading:function(){
CSS.addClass(this.node,'loading');},


hideLoading:function(){
CSS.removeClass(this.node,'loading');},


showSelected:function(){
CSS.addClass(this.node,'selectedItem');
CSS.hasClass(this.node,'hider')&&CSS.addClass
(this._getExpanderParent(),
'expandedMode');},



hideSelected:function(){
CSS.removeClass(this.node,'selectedItem');},


showChildren:function(){
CSS.addClass(this.node,'open');},


hideChildren:function(){
CSS.removeClass(this.node,'open');},


_getExpanderParent:function(){
return Parent.byClass(this.node,'expandableSideNav');},





_buildRegex:function(a){
if(a.length){
var b=a.map(function(c){
if(typeof c==="string"){
return c.replace(/([^a-z0-9_])/ig,'\\$1');}else
if(c&&c.regex)
return c.regex;});


return new RegExp('^(?:'+b.join('|')+')$');}},







_findKeys:function(a){
var b=/^(app|group|fl)_/,
c={};

for(var d=0;d<a.length;d++){
var e=b.test(a[d]);
if(e&&!c.numeric){
c.numeric=a[d];}else
if(!e&&!c.text)
c.text=a[d];

if(c.numeric&&c.text)
break;}



return c;}});

/** js/ui/xhp/overlay/legacy/contextual-dialog.js */
__d("legacy:ContextualDialogX",["ContextualDialogX"],function(a,b,c,d){



a.ContextualDialogX=b('ContextualDialogX');},

3);

/** js/ui/xhp/overlay/tooltip.js */
__d("legacy:Tooltip",["Tooltip"],function(a,b,c,d){



a.Tooltip=b('Tooltip');},

3);

/** js/ui/xhp/typeahead/renderers/CompactTypeaheadRenderer.js */
__d("CompactTypeaheadRenderer",["DOM"],function(a,b,c,d,e,f){




var g=b('DOM');








function h(i,j){
var k=[],

l=i.photo;
if(l){
if(l instanceof Array){
var m=
[g.create('span',{className:'splitpic leftpic'},
[g.create('img',{alt:'',src:l[0]})]),

g.create
('span',
{className:'splitpic'+(l[2]?' toppic':'')},
[g.create('img',{alt:'',src:l[1]})])];


if(l[2])
m.push(g.create('span',{className:'splitpic bottompic'},
[g.create('img',{alt:'',src:l[2]})]));


l=g.create('span',{className:'splitpics clearfix'},m);}else 

l=g.create('img',{alt:'',src:l});

k.push(l);}


if(i.text)
k.push(g.create('span',{className:'text'},[i.text]));


var n=i.subtext,
o=i.category;
if(n||o){
var p=[];
n&&p.push(n);
n&&o&&p.push(" \u00b7 ");
o&&p.push(o);
k.push(g.create('span',{className:'subtext'},p));}


var q=g.create('li',{className:i.type||''},k);
if(i.text)
q.setAttribute('aria-label',i.text);

return q;}


h.className='compact';

e.exports=h;});
