PageSourceSearch

https://www.taurillon.org/local/cache-js/fec505a31dc971e812d00de2cd30c211.js?1790182810

js taurillon.org collected 2026-10-02 06:02:24 UTC 232,344 bytes, 10,028 lines download raw bytes

vendor: 144,344 bytes, lines 1-6628
1/* compact [
2	prive/javascript/jquery.js?1790181870
3	prive/javascript/jquery.form.js?1790181870
4	prive/javascript/jquery.autosave.js?1790181870
5	prive/javascript/jquery.placeholder-label.js?1790181870
6	prive/javascript/ajaxCallback.js?1790181870
7	prive/javascript/js.cookie.js?1790181870
8	plugins-dist/dist/core/mediabox/lib/lity/lity.js?1790181874
9	plugins-dist/dist/core/mediabox/lity/js/lity.mediabox.js?1790181874
10	plugins-dist/dist/core/mediabox/javascript/spip.mediabox.js?1790181874
11] 54.9% */
12
13/* prive/javascript/jquery.js?1790181870 */
14
15(function(global,factory){
16"use strict";
17if(typeof module==="object"&&typeof module.exports==="object"){
18module.exports=global.document?
19factory(global,true):
20function(w){
21if(!w.document){
22throw new Error("jQuery requires a window with a document");
23}
24return factory(w);
25};
26}else{
27factory(global);
28}
29})(typeof window!=="undefined"?window:this,function(window,noGlobal){
30"use strict";
31var arr=[];
32var getProto=Object.getPrototypeOf;
33var slice=arr.slice;
34var flat=arr.flat?function(array){
35return arr.flat.call(array);
36}:function(array){
37return arr.concat.apply([],array);
38};
39var push=arr.push;
40var indexOf=arr.indexOf;
41var class2type={};
42var toString=class2type.toString;
43var hasOwn=class2type.hasOwnProperty;
44var fnToString=hasOwn.toString;
45var ObjectFunctionString=fnToString.call(Object);
46var support={};
47var isFunction=function isFunction(obj){
48return typeof obj==="function"&&typeof obj.nodeType!=="number"&&
49typeof obj.item!=="function";
50};
51var isWindow=function isWindow(obj){
52return obj!=null&&obj===obj.window;
53};
54var document=window.document;
55var preservedScriptAttributes={
56type:true,
57src:true,
58nonce:true,
59noModule:true
60};
61function DOMEval(code,node,doc){
62doc=doc||document;
63var i,val,
64script=doc.createElement("script");
65script.text=code;
66if(node){
67for(i in preservedScriptAttributes){
68val=node[i]||node.getAttribute&&node.getAttribute(i);
69if(val){
70script.setAttribute(i,val);
71}
72}
73}
74doc.head.appendChild(script).parentNode.removeChild(script);
75}
76function toType(obj){
77if(obj==null){
78return obj+"";
79}
80return typeof obj==="object"||typeof obj==="function"?
81class2type[toString.call(obj)]||"object":
82typeof obj;
83}
84var version="3.7.1",
85rhtmlSuffix=/HTML$/i,
86jQuery=function(selector,context){
87return new jQuery.fn.init(selector,context);
88};
89jQuery.fn=jQuery.prototype={
90jquery:version,
91constructor:jQuery,
92length:0,
93toArray:function(){
94return slice.call(this);
95},
96get:function(num){
97if(num==null){
98return slice.call(this);
99}
100return num<0?this[num+this.length]:this[num];
101},
102pushStack:function(elems){
103var ret=jQuery.merge(this.constructor(),elems);
104ret.prevObject=this;
105return ret;
106},
107each:function(callback){
108return jQuery.each(this,callback);
109},
110map:function(callback){
111return this.pushStack(jQuery.map(this,function(elem,i){
112return callback.call(elem,i,elem);
113}));
114},
115slice:function(){
116return this.pushStack(slice.apply(this,arguments));
117},
118first:function(){
119return this.eq(0);
120},
121last:function(){
122return this.eq(-1);
123},
124even:function(){
125return this.pushStack(jQuery.grep(this,function(_elem,i){
126return(i+1)%2;
127}));
128},
129odd:function(){
130return this.pushStack(jQuery.grep(this,function(_elem,i){
131return i%2;
132}));
133},
134eq:function(i){
135var len=this.length,
136j=+i+(i<0?len:0);
137return this.pushStack(j>=0&&j<len?[this[j]]:[]);
138},
139end:function(){
140return this.prevObject||this.constructor();
141},
142push:push,
143sort:arr.sort,
144splice:arr.splice
145};
146jQuery.extend=jQuery.fn.extend=function(){
147var options,name,src,copy,copyIsArray,clone,
148target=arguments[0]||{},
149i=1,
150length=arguments.length,
151deep=false;
152if(typeof target==="boolean"){
153deep=target;
154target=arguments[i]||{};
155i++;
156}
157if(typeof target!=="object"&&!isFunction(target)){
158target={};
159}
160if(i===length){
161target=this;
162i--;
163}
164for(;i<length;i++){
165if((options=arguments[i])!=null){
166for(name in options){
167copy=options[name];
168if(name==="__proto__"||target===copy){
169continue;
170}
171if(deep&&copy&&(jQuery.isPlainObject(copy)||
172(copyIsArray=Array.isArray(copy)))){
173src=target[name];
174if(copyIsArray&&!Array.isArray(src)){
175clone=[];
176}else if(!copyIsArray&&!jQuery.isPlainObject(src)){
177clone={};
178}else{
179clone=src;
180}
181copyIsArray=false;
182target[name]=jQuery.extend(deep,clone,copy);
183}else if(copy!==undefined){
184target[name]=copy;
185}
186}
187}
188}
189return target;
190};
191jQuery.extend({
192expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),
193isReady:true,
194error:function(msg){
195throw new Error(msg);
196},
197noop:function(){},
198isPlainObject:function(obj){
199var proto,Ctor;
200if(!obj||toString.call(obj)!=="[object Object]"){
201return false;
202}
203proto=getProto(obj);
204if(!proto){
205return true;
206}
207Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;
208return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;
209},
210isEmptyObject:function(obj){
211var name;
212for(name in obj){
213return false;
214}
215return true;
216},
217globalEval:function(code,options,doc){
218DOMEval(code,{nonce:options&&options.nonce},doc);
219},
220each:function(obj,callback){
221var length,i=0;
222if(isArrayLike(obj)){
223length=obj.length;
224for(;i<length;i++){
225if(callback.call(obj[i],i,obj[i])===false){
226break;
227}
228}
229}else{
230for(i in obj){
231if(callback.call(obj[i],i,obj[i])===false){
232break;
233}
234}
235}
236return obj;
237},
238text:function(elem){
239var node,
240ret="",
241i=0,
242nodeType=elem.nodeType;
243if(!nodeType){
244while((node=elem[i++])){
245ret+=jQuery.text(node);
246}
247}
248if(nodeType===1||nodeType===11){
249return elem.textContent;
250}
251if(nodeType===9){
252return elem.documentElement.textContent;
253}
254if(nodeType===3||nodeType===4){
255return elem.nodeValue;
256}
257return ret;
258},
259makeArray:function(arr,results){
260var ret=results||[];
261if(arr!=null){
262if(isArrayLike(Object(arr))){
263jQuery.merge(ret,
264typeof arr==="string"?
265[arr]:arr
266);
267}else{
268push.call(ret,arr);
269}
270}
271return ret;
272},
273inArray:function(elem,arr,i){
274return arr==null?-1:indexOf.call(arr,elem,i);
275},
276isXMLDoc:function(elem){
277var namespace=elem&&elem.namespaceURI,
278docElem=elem&&(elem.ownerDocument||elem).documentElement;
279return!rhtmlSuffix.test(namespace||docElem&&docElem.nodeName||"HTML");
280},
281merge:function(first,second){
282var len=+second.length,
283j=0,
284i=first.length;
285for(;j<len;j++){
286first[i++]=second[j];
287}
288first.length=i;
289return first;
290},
291grep:function(elems,callback,invert){
292var callbackInverse,
293matches=[],
294i=0,
295length=elems.length,
296callbackExpect=!invert;
297for(;i<length;i++){
298callbackInverse=!callback(elems[i],i);
299if(callbackInverse!==callbackExpect){
300matches.push(elems[i]);
301}
302}
303return matches;
304},
305map:function(elems,callback,arg){
306var length,value,
307i=0,
308ret=[];
309if(isArrayLike(elems)){
310length=elems.length;
311for(;i<length;i++){
312value=callback(elems[i],i,arg);
313if(value!=null){
314ret.push(value);
315}
316}
317}else{
318for(i in elems){
319value=callback(elems[i],i,arg);
320if(value!=null){
321ret.push(value);
322}
323}
324}
325return flat(ret);
326},
327guid:1,
328support:support
329});
330if(typeof Symbol==="function"){
331jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];
332}
333jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
334function(_i,name){
335class2type["[object "+name+"]"]=name.toLowerCase();
336});
337function isArrayLike(obj){
338var length=!!obj&&"length"in obj&&obj.length,
339type=toType(obj);
340if(isFunction(obj)||isWindow(obj)){
341return false;
342}
343return type==="array"||length===0||
344typeof length==="number"&&length>0&&(length-1)in obj;
345}
346function nodeName(elem,name){
347return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();
348}
349var pop=arr.pop;
350var sort=arr.sort;
351var splice=arr.splice;
352var whitespace="[\\x20\\t\\r\\n\\f]";
353var rtrimCSS=new RegExp(
354"^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$",
355"g"
356);
357jQuery.contains=function(a,b){
358var bup=b&&b.parentNode;
359return a===bup||!!(bup&&bup.nodeType===1&&(
360a.contains?
361a.contains(bup):
362a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16
363));
364};
365var rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
366function fcssescape(ch,asCodePoint){
367if(asCodePoint){
368if(ch==="\0"){
369return"\uFFFD";
370}
371return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ";
372}
373return"\\"+ch;
374}
375jQuery.escapeSelector=function(sel){
376return(sel+"").replace(rcssescape,fcssescape);
377};
378var preferredDoc=document,
379pushNative=push;
380(function(){
381var i,
382Expr,
383outermostContext,
384sortInput,
385hasDuplicate,
386push=pushNative,
387document,
388documentElement,
389documentIsHTML,
390rbuggyQSA,
391matches,
392expando=jQuery.expando,
393dirruns=0,
394done=0,
395classCache=createCache(),
396tokenCache=createCache(),
397compilerCache=createCache(),
398nonnativeSelectorCache=createCache(),
399sortOrder=function(a,b){
400if(a===b){
401hasDuplicate=true;
402}
403return 0;
404},
405booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|"+
406"loop|multiple|open|readonly|required|scoped",
407identifier="(?:\\\\[\\da-fA-F]{1,6}"+whitespace+
408"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
409attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+
410"*([*^$|!~]?=)"+whitespace+
411"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+
412whitespace+"*\\]",
413pseudos=":("+identifier+")(?:\\(("+
414"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+
415"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+
416".*"+
417")\\)|)",
418rwhitespace=new RegExp(whitespace+"+","g"),
419rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),
420rleadingCombinator=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+
421whitespace+"*"),
422rdescend=new RegExp(whitespace+"|>"),
423rpseudo=new RegExp(pseudos),
424ridentifier=new RegExp("^"+identifier+"$"),
425matchExpr={
426ID:new RegExp("^#("+identifier+")"),
427CLASS:new RegExp("^\\.("+identifier+")"),
428TAG:new RegExp("^("+identifier+"|[*])"),
429ATTR:new RegExp("^"+attributes),
430PSEUDO:new RegExp("^"+pseudos),
431CHILD:new RegExp(
432"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+
433whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+
434whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),
435bool:new RegExp("^(?:"+booleans+")$","i"),
436needsContext:new RegExp("^"+whitespace+
437"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+
438"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")
439},
440rinputs=/^(?:input|select|textarea|button)$/i,
441rheader=/^h\d$/i,
442rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
443rsibling=/[+~]/,
444runescape=new RegExp("\\\\[\\da-fA-F]{1,6}"+whitespace+
445"?|\\\\([^\\r\\n\\f])","g"),
446funescape=function(escape,nonHex){
447var high="0x"+escape.slice(1)-0x10000;
448if(nonHex){
449return nonHex;
450}
451return high<0?
452String.fromCharCode(high+0x10000):
453String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);
454},
455unloadHandler=function(){
456setDocument();
457},
458inDisabledFieldset=addCombinator(
459function(elem){
460return elem.disabled===true&&nodeName(elem,"fieldset");
461},
462{dir:"parentNode",next:"legend"}
463);
464function safeActiveElement(){
465try{
466return document.activeElement;
467}catch(err){}
468}
469try{
470push.apply(
471(arr=slice.call(preferredDoc.childNodes)),
472preferredDoc.childNodes
473);
474arr[preferredDoc.childNodes.length].nodeType;
475}catch(e){
476push={
477apply:function(target,els){
478pushNative.apply(target,slice.call(els));
479},
480call:function(target){
481pushNative.apply(target,slice.call(arguments,1));
482}
483};
484}
485function find(selector,context,results,seed){
486var m,i,elem,nid,match,groups,newSelector,
487newContext=context&&context.ownerDocument,
488nodeType=context?context.nodeType:9;
489results=results||[];
490if(typeof selector!=="string"||!selector||
491nodeType!==1&&nodeType!==9&&nodeType!==11){
492return results;
493}
494if(!seed){
495setDocument(context);
496context=context||document;
497if(documentIsHTML){
498if(nodeType!==11&&(match=rquickExpr.exec(selector))){
499if((m=match[1])){
500if(nodeType===9){
501if((elem=context.getElementById(m))){
502if(elem.id===m){
503push.call(results,elem);
504return results;
505}
506}else{
507return results;
508}
509}else{
510if(newContext&&(elem=newContext.getElementById(m))&&
511find.contains(context,elem)&&
512elem.id===m){
513push.call(results,elem);
514return results;
515}
516}
517}else if(match[2]){
518push.apply(results,context.getElementsByTagName(selector));
519return results;
520}else if((m=match[3])&&context.getElementsByClassName){
521push.apply(results,context.getElementsByClassName(m));
522return results;
523}
524}
525if(!nonnativeSelectorCache[selector+" "]&&
526(!rbuggyQSA||!rbuggyQSA.test(selector))){
527newSelector=selector;
528newContext=context;
529if(nodeType===1&&
530(rdescend.test(selector)||rleadingCombinator.test(selector))){
531newContext=rsibling.test(selector)&&testContext(context.parentNode)||
532context;
533if(newContext!=context||!support.scope){
534if((nid=context.getAttribute("id"))){
535nid=jQuery.escapeSelector(nid);
536}else{
537context.setAttribute("id",(nid=expando));
538}
539}
540groups=tokenize(selector);
541i=groups.length;
542while(i--){
543groups[i]=(nid?"#"+nid:":scope")+" "+
544toSelector(groups[i]);
545}
546newSelector=groups.join(",");
547}
548try{
549push.apply(results,
550newContext.querySelectorAll(newSelector)
551);
552return results;
553}catch(qsaError){
554nonnativeSelectorCache(selector,true);
555}finally{
556if(nid===expando){
557context.removeAttribute("id");
558}
559}
560}
561}
562}
563return select(selector.replace(rtrimCSS,"$1"),context,results,seed);
564}
565function createCache(){
566var keys=[];
567function cache(key,value){
568if(keys.push(key+" ")>Expr.cacheLength){
569delete cache[keys.shift()];
570}
571return(cache[key+" "]=value);
572}
573return cache;
574}
575function markFunction(fn){
576fn[expando]=true;
577return fn;
578}
579function assert(fn){
580var el=document.createElement("fieldset");
581try{
582return!!fn(el);
583}catch(e){
584return false;
585}finally{
586if(el.parentNode){
587el.parentNode.removeChild(el);
588}
589el=null;
590}
591}
592function createInputPseudo(type){
593return function(elem){
594return nodeName(elem,"input")&&elem.type===type;
595};
596}
597function createButtonPseudo(type){
598return function(elem){
599return(nodeName(elem,"input")||nodeName(elem,"button"))&&
600elem.type===type;
601};
602}
603function createDisabledPseudo(disabled){
604return function(elem){
605if("form"in elem){
606if(elem.parentNode&&elem.disabled===false){
607if("label"in elem){
608if("label"in elem.parentNode){
609return elem.parentNode.disabled===disabled;
610}else{
611return elem.disabled===disabled;
612}
613}
614return elem.isDisabled===disabled||
615elem.isDisabled!==!disabled&&
616inDisabledFieldset(elem)===disabled;
617}
618return elem.disabled===disabled;
619}else if("label"in elem){
620return elem.disabled===disabled;
621}
622return false;
623};
624}
625function createPositionalPseudo(fn){
626return markFunction(function(argument){
627argument=+argument;
628return markFunction(function(seed,matches){
629var j,
630matchIndexes=fn([],seed.length,argument),
631i=matchIndexes.length;
632while(i--){
633if(seed[(j=matchIndexes[i])]){
634seed[j]=!(matches[j]=seed[j]);
635}
636}
637});
638});
639}
640function testContext(context){
641return context&&typeof context.getElementsByTagName!=="undefined"&&context;
642}
643function setDocument(node){
644var subWindow,
645doc=node?node.ownerDocument||node:preferredDoc;
646if(doc==document||doc.nodeType!==9||!doc.documentElement){
647return document;
648}
649document=doc;
650documentElement=document.documentElement;
651documentIsHTML=!jQuery.isXMLDoc(document);
652matches=documentElement.matches||
653documentElement.webkitMatchesSelector||
654documentElement.msMatchesSelector;
655if(documentElement.msMatchesSelector&&
656preferredDoc!=document&&
657(subWindow=document.defaultView)&&subWindow.top!==subWindow){
658subWindow.addEventListener("unload",unloadHandler);
659}
660support.getById=assert(function(el){
661documentElement.appendChild(el).id=jQuery.expando;
662return!document.getElementsByName||
663!document.getElementsByName(jQuery.expando).length;
664});
665support.disconnectedMatch=assert(function(el){
666return matches.call(el,"*");
667});
668support.scope=assert(function(){
669return document.querySelectorAll(":scope");
670});
671support.cssHas=assert(function(){
672try{
673document.querySelector(":has(*,:jqfake)");
674return false;
675}catch(e){
676return true;
677}
678});
679if(support.getById){
680Expr.filter.ID=function(id){
681var attrId=id.replace(runescape,funescape);
682return function(elem){
683return elem.getAttribute("id")===attrId;
684};
685};
686Expr.find.ID=function(id,context){
687if(typeof context.getElementById!=="undefined"&&documentIsHTML){
688var elem=context.getElementById(id);
689return elem?[elem]:[];
690}
691};
692}else{
693Expr.filter.ID=function(id){
694var attrId=id.replace(runescape,funescape);
695return function(elem){
696var node=typeof elem.getAttributeNode!=="undefined"&&
697elem.getAttributeNode("id");
698return node&&node.value===attrId;
699};
700};
701Expr.find.ID=function(id,context){
702if(typeof context.getElementById!=="undefined"&&documentIsHTML){
703var node,i,elems,
704elem=context.getElementById(id);
705if(elem){
706node=elem.getAttributeNode("id");
707if(node&&node.value===id){
708return[elem];
709}
710elems=context.getElementsByName(id);
711i=0;
712while((elem=elems[i++])){
713node=elem.getAttributeNode("id");
714if(node&&node.value===id){
715return[elem];
716}
717}
718}
719return[];
720}
721};
722}
723Expr.find.TAG=function(tag,context){
724if(typeof context.getElementsByTagName!=="undefined"){
725return context.getElementsByTagName(tag);
726}else{
727return context.querySelectorAll(tag);
728}
729};
730Expr.find.CLASS=function(className,context){
731if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){
732return context.getElementsByClassName(className);
733}
734};
735rbuggyQSA=[];
736assert(function(el){
737var input;
738documentElement.appendChild(el).innerHTML=
739"<a id='"+expando+"' href='' disabled='disabled'></a>"+
740"<select id='"+expando+"-\r\\' disabled='disabled'>"+
741"<option selected=''></option></select>";
742if(!el.querySelectorAll("[selected]").length){
743rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");
744}
745if(!el.querySelectorAll("[id~="+expando+"-]").length){
746rbuggyQSA.push("~=");
747}
748if(!el.querySelectorAll("a#"+expando+"+*").length){
749rbuggyQSA.push(".#.+[+~]");
750}
751if(!el.querySelectorAll(":checked").length){
752rbuggyQSA.push(":checked");
753}
754input=document.createElement("input");
755input.setAttribute("type","hidden");
756el.appendChild(input).setAttribute("name","D");
757documentElement.appendChild(el).disabled=true;
758if(el.querySelectorAll(":disabled").length!==2){
759rbuggyQSA.push(":enabled",":disabled");
760}
761input=document.createElement("input");
762input.setAttribute("name","");
763el.appendChild(input);
764if(!el.querySelectorAll("[name='']").length){
765rbuggyQSA.push("\\["+whitespace+"*name"+whitespace+"*="+
766whitespace+"*(?:''|\"\")");
767}
768});
769if(!support.cssHas){
770rbuggyQSA.push(":has");
771}
772rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));
773sortOrder=function(a,b){
774if(a===b){
775hasDuplicate=true;
776return 0;
777}
778var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;
779if(compare){
780return compare;
781}
782compare=(a.ownerDocument||a)==(b.ownerDocument||b)?
783a.compareDocumentPosition(b):
7841;
785if(compare&1||
786(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){
787if(a===document||a.ownerDocument==preferredDoc&&
788find.contains(preferredDoc,a)){
789return-1;
790}
791if(b===document||b.ownerDocument==preferredDoc&&
792find.contains(preferredDoc,b)){
793return 1;
794}
795return sortInput?
796(indexOf.call(sortInput,a)-indexOf.call(sortInput,b)):
7970;
798}
799return compare&4?-1:1;
800};
801return document;
802}
803find.matches=function(expr,elements){
804return find(expr,null,null,elements);
805};
806find.matchesSelector=function(elem,expr){
807setDocument(elem);
808if(documentIsHTML&&
809!nonnativeSelectorCache[expr+" "]&&
810(!rbuggyQSA||!rbuggyQSA.test(expr))){
811try{
812var ret=matches.call(elem,expr);
813if(ret||support.disconnectedMatch||
814elem.document&&elem.document.nodeType!==11){
815return ret;
816}
817}catch(e){
818nonnativeSelectorCache(expr,true);
819}
820}
821return find(expr,document,null,[elem]).length>0;
822};
823find.contains=function(context,elem){
824if((context.ownerDocument||context)!=document){
825setDocument(context);
826}
827return jQuery.contains(context,elem);
828};
829find.attr=function(elem,name){
830if((elem.ownerDocument||elem)!=document){
831setDocument(elem);
832}
833var fn=Expr.attrHandle[name.toLowerCase()],
834val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?
835fn(elem,name,!documentIsHTML):
836undefined;
837if(val!==undefined){
838return val;
839}
840return elem.getAttribute(name);
841};
842find.error=function(msg){
843throw new Error("Syntax error, unrecognized expression: "+msg);
844};
845jQuery.uniqueSort=function(results){
846var elem,
847duplicates=[],
848j=0,
849i=0;
850hasDuplicate=!support.sortStable;
851sortInput=!support.sortStable&&slice.call(results,0);
852sort.call(results,sortOrder);
853if(hasDuplicate){
854while((elem=results[i++])){
855if(elem===results[i]){
856j=duplicates.push(i);
857}
858}
859while(j--){
860splice.call(results,duplicates[j],1);
861}
862}
863sortInput=null;
864return results;
865};
866jQuery.fn.uniqueSort=function(){
867return this.pushStack(jQuery.uniqueSort(slice.apply(this)));
868};
869Expr=jQuery.expr={
870cacheLength:50,
871createPseudo:markFunction,
872match:matchExpr,
873attrHandle:{},
874find:{},
875relative:{
876">":{dir:"parentNode",first:true},
877" ":{dir:"parentNode"},
878"+":{dir:"previousSibling",first:true},
879"~":{dir:"previousSibling"}
880},
881preFilter:{
882ATTR:function(match){
883match[1]=match[1].replace(runescape,funescape);
884match[3]=(match[3]||match[4]||match[5]||"")
885.replace(runescape,funescape);
886if(match[2]==="~="){
887match[3]=" "+match[3]+" ";
888}
889return match.slice(0,4);
890},
891CHILD:function(match){
892match[1]=match[1].toLowerCase();
893if(match[1].slice(0,3)==="nth"){
894if(!match[3]){
895find.error(match[0]);
896}
897match[4]=+(match[4]?
898match[5]+(match[6]||1):
8992*(match[3]==="even"||match[3]==="odd")
900);
901match[5]=+((match[7]+match[8])||match[3]==="odd");
902}else if(match[3]){
903find.error(match[0]);
904}
905return match;
906},
907PSEUDO:function(match){
908var excess,
909unquoted=!match[6]&&match[2];
910if(matchExpr.CHILD.test(match[0])){
911return null;
912}
913if(match[3]){
914match[2]=match[4]||match[5]||"";
915}else if(unquoted&&rpseudo.test(unquoted)&&
916(excess=tokenize(unquoted,true))&&
917(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){
918match[0]=match[0].slice(0,excess);
919match[2]=unquoted.slice(0,excess);
920}
921return match.slice(0,3);
922}
923},
924filter:{
925TAG:function(nodeNameSelector){
926var expectedNodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();
927return nodeNameSelector==="*"?
928function(){
929return true;
930}:
931function(elem){
932return nodeName(elem,expectedNodeName);
933};
934},
935CLASS:function(className){
936var pattern=classCache[className+" "];
937return pattern||
938(pattern=new RegExp("(^|"+whitespace+")"+className+
939"("+whitespace+"|$)"))&&
940classCache(className,function(elem){
941return pattern.test(
942typeof elem.className==="string"&&elem.className||
943typeof elem.getAttribute!=="undefined"&&
944elem.getAttribute("class")||
945""
946);
947});
948},
949ATTR:function(name,operator,check){
950return function(elem){
951var result=find.attr(elem,name);
952if(result==null){
953return operator==="!=";
954}
955if(!operator){
956return true;
957}
958result+="";
959if(operator==="="){
960return result===check;
961}
962if(operator==="!="){
963return result!==check;
964}
965if(operator==="^="){
966return check&&result.indexOf(check)===0;
967}
968if(operator==="*="){
969return check&&result.indexOf(check)>-1;
970}
971if(operator==="$="){
972return check&&result.slice(-check.length)===check;
973}
974if(operator==="~="){
975return(" "+result.replace(rwhitespace," ")+" ")
976.indexOf(check)>-1;
977}
978if(operator==="|="){
979return result===check||result.slice(0,check.length+1)===check+"-";
980}
981return false;
982};
983},
984CHILD:function(type,what,_argument,first,last){
985var simple=type.slice(0,3)!=="nth",
986forward=type.slice(-4)!=="last",
987ofType=what==="of-type";
988return first===1&&last===0?
989function(elem){
990return!!elem.parentNode;
991}:
992function(elem,_context,xml){
993var cache,outerCache,node,nodeIndex,start,
994dir=simple!==forward?"nextSibling":"previousSibling",
995parent=elem.parentNode,
996name=ofType&&elem.nodeName.toLowerCase(),
997useCache=!xml&&!ofType,
998diff=false;
999if(parent){
1000if(simple){
1001while(dir){
1002node=elem;
1003while((node=node[dir])){
1004if(ofType?
1005nodeName(node,name):
1006node.nodeType===1){
1007return false;
1008}
1009}
1010start=dir=type==="only"&&!start&&"nextSibling";
1011}
1012return true;
1013}
1014start=[forward?parent.firstChild:parent.lastChild];
1015if(forward&&useCache){
1016outerCache=parent[expando]||(parent[expando]={});
1017cache=outerCache[type]||[];
1018nodeIndex=cache[0]===dirruns&&cache[1];
1019diff=nodeIndex&&cache[2];
1020node=nodeIndex&&parent.childNodes[nodeIndex];
1021while((node=++nodeIndex&&node&&node[dir]||
1022(diff=nodeIndex=0)||start.pop())){
1023if(node.nodeType===1&&++diff&&node===elem){
1024outerCache[type]=[dirruns,nodeIndex,diff];
1025break;
1026}
1027}
1028}else{
1029if(useCache){
1030outerCache=elem[expando]||(elem[expando]={});
1031cache=outerCache[type]||[];
1032nodeIndex=cache[0]===dirruns&&cache[1];
1033diff=nodeIndex;
1034}
1035if(diff===false){
1036while((node=++nodeIndex&&node&&node[dir]||
1037(diff=nodeIndex=0)||start.pop())){
1038if((ofType?
1039nodeName(node,name):
1040node.nodeType===1)&&
1041++diff){
1042if(useCache){
1043outerCache=node[expando]||
1044(node[expando]={});
1045outerCache[type]=[dirruns,diff];
1046}
1047if(node===elem){
1048break;
1049}
1050}
1051}
1052}
1053}
1054diff-=last;
1055return diff===first||(diff%first===0&&diff/first>=0);
1056}
1057};
1058},
1059PSEUDO:function(pseudo,argument){
1060var args,
1061fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||
1062find.error("unsupported pseudo: "+pseudo);
1063if(fn[expando]){
1064return fn(argument);
1065}
1066if(fn.length>1){
1067args=[pseudo,pseudo,"",argument];
1068return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?
1069markFunction(function(seed,matches){
1070var idx,
1071matched=fn(seed,argument),
1072i=matched.length;
1073while(i--){
1074idx=indexOf.call(seed,matched[i]);
1075seed[idx]=!(matches[idx]=matched[i]);
1076}
1077}):
1078function(elem){
1079return fn(elem,0,args);
1080};
1081}
1082return fn;
1083}
1084},
1085pseudos:{
1086not:markFunction(function(selector){
1087var input=[],
1088results=[],
1089matcher=compile(selector.replace(rtrimCSS,"$1"));
1090return matcher[expando]?
1091markFunction(function(seed,matches,_context,xml){
1092var elem,
1093unmatched=matcher(seed,null,xml,[]),
1094i=seed.length;
1095while(i--){
1096if((elem=unmatched[i])){
1097seed[i]=!(matches[i]=elem);
1098}
1099}
1100}):
1101function(elem,_context,xml){
1102input[0]=elem;
1103matcher(input,null,xml,results);
1104input[0]=null;
1105return!results.pop();
1106};
1107}),
1108has:markFunction(function(selector){
1109return function(elem){
1110return find(selector,elem).length>0;
1111};
1112}),
1113contains:markFunction(function(text){
1114text=text.replace(runescape,funescape);
1115return function(elem){
1116return(elem.textContent||jQuery.text(elem)).indexOf(text)>-1;
1117};
1118}),
1119lang:markFunction(function(lang){
1120if(!ridentifier.test(lang||"")){
1121find.error("unsupported lang: "+lang);
1122}
1123lang=lang.replace(runescape,funescape).toLowerCase();
1124return function(elem){
1125var elemLang;
1126do{
1127if((elemLang=documentIsHTML?
1128elem.lang:
1129elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){
1130elemLang=elemLang.toLowerCase();
1131return elemLang===lang||elemLang.indexOf(lang+"-")===0;
1132}
1133}while((elem=elem.parentNode)&&elem.nodeType===1);
1134return false;
1135};
1136}),
1137target:function(elem){
1138var hash=window.location&&window.location.hash;
1139return hash&&hash.slice(1)===elem.id;
1140},
1141root:function(elem){
1142return elem===documentElement;
1143},
1144focus:function(elem){
1145return elem===safeActiveElement()&&
1146document.hasFocus()&&
1147!!(elem.type||elem.href||~elem.tabIndex);
1148},
1149enabled:createDisabledPseudo(false),
1150disabled:createDisabledPseudo(true),
1151checked:function(elem){
1152return(nodeName(elem,"input")&&!!elem.checked)||
1153(nodeName(elem,"option")&&!!elem.selected);
1154},
1155selected:function(elem){
1156if(elem.parentNode){
1157elem.parentNode.selectedIndex;
1158}
1159return elem.selected===true;
1160},
1161empty:function(elem){
1162for(elem=elem.firstChild;elem;elem=elem.nextSibling){
1163if(elem.nodeType<6){
1164return false;
1165}
1166}
1167return true;
1168},
1169parent:function(elem){
1170return!Expr.pseudos.empty(elem);
1171},
1172header:function(elem){
1173return rheader.test(elem.nodeName);
1174},
1175input:function(elem){
1176return rinputs.test(elem.nodeName);
1177},
1178button:function(elem){
1179return nodeName(elem,"input")&&elem.type==="button"||
1180nodeName(elem,"button");
1181},
1182text:function(elem){
1183var attr;
1184return nodeName(elem,"input")&&elem.type==="text"&&
1185((attr=elem.getAttribute("type"))==null||
1186attr.toLowerCase()==="text");
1187},
1188first:createPositionalPseudo(function(){
1189return[0];
1190}),
1191last:createPositionalPseudo(function(_matchIndexes,length){
1192return[length-1];
1193}),
1194eq:createPositionalPseudo(function(_matchIndexes,length,argument){
1195return[argument<0?argument+length:argument];
1196}),
1197even:createPositionalPseudo(function(matchIndexes,length){
1198var i=0;
1199for(;i<length;i+=2){
1200matchIndexes.push(i);
1201}
1202return matchIndexes;
1203}),
1204odd:createPositionalPseudo(function(matchIndexes,length){
1205var i=1;
1206for(;i<length;i+=2){
1207matchIndexes.push(i);
1208}
1209return matchIndexes;
1210}),
1211lt:createPositionalPseudo(function(matchIndexes,length,argument){
1212var i;
1213if(argument<0){
1214i=argument+length;
1215}else if(argument>length){
1216i=length;
1217}else{
1218i=argument;
1219}
1220for(;--i>=0;){
1221matchIndexes.push(i);
1222}
1223return matchIndexes;
1224}),
1225gt:createPositionalPseudo(function(matchIndexes,length,argument){
1226var i=argument<0?argument+length:argument;
1227for(;++i<length;){
1228matchIndexes.push(i);
1229}
1230return matchIndexes;
1231})
1232}
1233};
1234Expr.pseudos.nth=Expr.pseudos.eq;
1235for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){
1236Expr.pseudos[i]=createInputPseudo(i);
1237}
1238for(i in{submit:true,reset:true}){
1239Expr.pseudos[i]=createButtonPseudo(i);
1240}
1241function setFilters(){}
1242setFilters.prototype=Expr.filters=Expr.pseudos;
1243Expr.setFilters=new setFilters();
1244function tokenize(selector,parseOnly){
1245var matched,match,tokens,type,
1246soFar,groups,preFilters,
1247cached=tokenCache[selector+" "];
1248if(cached){
1249return parseOnly?0:cached.slice(0);
1250}
1251soFar=selector;
1252groups=[];
1253preFilters=Expr.preFilter;
1254while(soFar){
1255if(!matched||(match=rcomma.exec(soFar))){
1256if(match){
1257soFar=soFar.slice(match[0].length)||soFar;
1258}
1259groups.push((tokens=[]));
1260}
1261matched=false;
1262if((match=rleadingCombinator.exec(soFar))){
1263matched=match.shift();
1264tokens.push({
1265value:matched,
1266type:match[0].replace(rtrimCSS," ")
1267});
1268soFar=soFar.slice(matched.length);
1269}
1270for(type in Expr.filter){
1271if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||
1272(match=preFilters[type](match)))){
1273matched=match.shift();
1274tokens.push({
1275value:matched,
1276type:type,
1277matches:match
1278});
1279soFar=soFar.slice(matched.length);
1280}
1281}
1282if(!matched){
1283break;
1284}
1285}
1286if(parseOnly){
1287return soFar.length;
1288}
1289return soFar?
1290find.error(selector):
1291tokenCache(selector,groups).slice(0);
1292}
1293function toSelector(tokens){
1294var i=0,
1295len=tokens.length,
1296selector="";
1297for(;i<len;i++){
1298selector+=tokens[i].value;
1299}
1300return selector;
1301}
1302function addCombinator(matcher,combinator,base){
1303var dir=combinator.dir,
1304skip=combinator.next,
1305key=skip||dir,
1306checkNonElements=base&&key==="parentNode",
1307doneName=done++;
1308return combinator.first?
1309function(elem,context,xml){
1310while((elem=elem[dir])){
1311if(elem.nodeType===1||checkNonElements){
1312return matcher(elem,context,xml);
1313}
1314}
1315return false;
1316}:
1317function(elem,context,xml){
1318var oldCache,outerCache,
1319newCache=[dirruns,doneName];
1320if(xml){
1321while((elem=elem[dir])){
1322if(elem.nodeType===1||checkNonElements){
1323if(matcher(elem,context,xml)){
1324return true;
1325}
1326}
1327}
1328}else{
1329while((elem=elem[dir])){
1330if(elem.nodeType===1||checkNonElements){
1331outerCache=elem[expando]||(elem[expando]={});
1332if(skip&&nodeName(elem,skip)){
1333elem=elem[dir]||elem;
1334}else if((oldCache=outerCache[key])&&
1335oldCache[0]===dirruns&&oldCache[1]===doneName){
1336return(newCache[2]=oldCache[2]);
1337}else{
1338outerCache[key]=newCache;
1339if((newCache[2]=matcher(elem,context,xml))){
1340return true;
1341}
1342}
1343}
1344}
1345}
1346return false;
1347};
1348}
1349function elementMatcher(matchers){
1350return matchers.length>1?
1351function(elem,context,xml){
1352var i=matchers.length;
1353while(i--){
1354if(!matchers[i](elem,context,xml)){
1355return false;
1356}
1357}
1358return true;
1359}:
1360matchers[0];
1361}
1362function multipleContexts(selector,contexts,results){
1363var i=0,
1364len=contexts.length;
1365for(;i<len;i++){
1366find(selector,contexts[i],results);
1367}
1368return results;
1369}
1370function condense(unmatched,map,filter,context,xml){
1371var elem,
1372newUnmatched=[],
1373i=0,
1374len=unmatched.length,
1375mapped=map!=null;
1376for(;i<len;i++){
1377if((elem=unmatched[i])){
1378if(!filter||filter(elem,context,xml)){
1379newUnmatched.push(elem);
1380if(mapped){
1381map.push(i);
1382}
1383}
1384}
1385}
1386return newUnmatched;
1387}
1388function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){
1389if(postFilter&&!postFilter[expando]){
1390postFilter=setMatcher(postFilter);
1391}
1392if(postFinder&&!postFinder[expando]){
1393postFinder=setMatcher(postFinder,postSelector);
1394}
1395return markFunction(function(seed,results,context,xml){
1396var temp,i,elem,matcherOut,
1397preMap=[],
1398postMap=[],
1399preexisting=results.length,
1400elems=seed||
1401multipleContexts(selector||"*",
1402context.nodeType?[context]:context,[]),
1403matcherIn=preFilter&&(seed||!selector)?
1404condense(elems,preMap,preFilter,context,xml):
1405elems;
1406if(matcher){
1407matcherOut=postFinder||(seed?preFilter:preexisting||postFilter)?
1408[]:
1409results;
1410matcher(matcherIn,matcherOut,context,xml);
1411}else{
1412matcherOut=matcherIn;
1413}
1414if(postFilter){
1415temp=condense(matcherOut,postMap);
1416postFilter(temp,[],context,xml);
1417i=temp.length;
1418while(i--){
1419if((elem=temp[i])){
1420matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem);
1421}
1422}
1423}
1424if(seed){
1425if(postFinder||preFilter){
1426if(postFinder){
1427temp=[];
1428i=matcherOut.length;
1429while(i--){
1430if((elem=matcherOut[i])){
1431temp.push((matcherIn[i]=elem));
1432}
1433}
1434postFinder(null,(matcherOut=[]),temp,xml);
1435}
1436i=matcherOut.length;
1437while(i--){
1438if((elem=matcherOut[i])&&
1439(temp=postFinder?indexOf.call(seed,elem):preMap[i])>-1){
1440seed[temp]=!(results[temp]=elem);
1441}
1442}
1443}
1444}else{
1445matcherOut=condense(
1446matcherOut===results?
1447matcherOut.splice(preexisting,matcherOut.length):
1448matcherOut
1449);
1450if(postFinder){
1451postFinder(null,results,matcherOut,xml);
1452}else{
1453push.apply(results,matcherOut);
1454}
1455}
1456});
1457}
1458function matcherFromTokens(tokens){
1459var checkContext,matcher,j,
1460len=tokens.length,
1461leadingRelative=Expr.relative[tokens[0].type],
1462implicitRelative=leadingRelative||Expr.relative[" "],
1463i=leadingRelative?1:0,
1464matchContext=addCombinator(function(elem){
1465return elem===checkContext;
1466},implicitRelative,true),
1467matchAnyContext=addCombinator(function(elem){
1468return indexOf.call(checkContext,elem)>-1;
1469},implicitRelative,true),
1470matchers=[function(elem,context,xml){
1471var ret=(!leadingRelative&&(xml||context!=outermostContext))||(
1472(checkContext=context).nodeType?
1473matchContext(elem,context,xml):
1474matchAnyContext(elem,context,xml));
1475checkContext=null;
1476return ret;
1477}];
1478for(;i<len;i++){
1479if((matcher=Expr.relative[tokens[i].type])){
1480matchers=[addCombinator(elementMatcher(matchers),matcher)];
1481}else{
1482matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);
1483if(matcher[expando]){
1484j=++i;
1485for(;j<len;j++){
1486if(Expr.relative[tokens[j].type]){
1487break;
1488}
1489}
1490return setMatcher(
1491i>1&&elementMatcher(matchers),
1492i>1&&toSelector(
1493tokens.slice(0,i-1)
1494.concat({value:tokens[i-2].type===" "?"*":""})
1495).replace(rtrimCSS,"$1"),
1496matcher,
1497i<j&&matcherFromTokens(tokens.slice(i,j)),
1498j<len&&matcherFromTokens((tokens=tokens.slice(j))),
1499j<len&&toSelector(tokens)
1500);
1501}
1502matchers.push(matcher);
1503}
1504}
1505return elementMatcher(matchers);
1506}
1507function matcherFromGroupMatchers(elementMatchers,setMatchers){
1508var bySet=setMatchers.length>0,
1509byElement=elementMatchers.length>0,
1510superMatcher=function(seed,context,xml,results,outermost){
1511var elem,j,matcher,
1512matchedCount=0,
1513i="0",
1514unmatched=seed&&[],
1515setMatched=[],
1516contextBackup=outermostContext,
1517elems=seed||byElement&&Expr.find.TAG("*",outermost),
1518dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),
1519len=elems.length;
1520if(outermost){
1521outermostContext=context==document||context||outermost;
1522}
1523for(;i!==len&&(elem=elems[i])!=null;i++){
1524if(byElement&&elem){
1525j=0;
1526if(!context&&elem.ownerDocument!=document){
1527setDocument(elem);
1528xml=!documentIsHTML;
1529}
1530while((matcher=elementMatchers[j++])){
1531if(matcher(elem,context||document,xml)){
1532push.call(results,elem);
1533break;
1534}
1535}
1536if(outermost){
1537dirruns=dirrunsUnique;
1538}
1539}
1540if(bySet){
1541if((elem=!matcher&&elem)){
1542matchedCount--;
1543}
1544if(seed){
1545unmatched.push(elem);
1546}
1547}
1548}
1549matchedCount+=i;
1550if(bySet&&i!==matchedCount){
1551j=0;
1552while((matcher=setMatchers[j++])){
1553matcher(unmatched,setMatched,context,xml);
1554}
1555if(seed){
1556if(matchedCount>0){
1557while(i--){
1558if(!(unmatched[i]||setMatched[i])){
1559setMatched[i]=pop.call(results);
1560}
1561}
1562}
1563setMatched=condense(setMatched);
1564}
1565push.apply(results,setMatched);
1566if(outermost&&!seed&&setMatched.length>0&&
1567(matchedCount+setMatchers.length)>1){
1568jQuery.uniqueSort(results);
1569}
1570}
1571if(outermost){
1572dirruns=dirrunsUnique;
1573outermostContext=contextBackup;
1574}
1575return unmatched;
1576};
1577return bySet?
1578markFunction(superMatcher):
1579superMatcher;
1580}
1581function compile(selector,match){
1582var i,
1583setMatchers=[],
1584elementMatchers=[],
1585cached=compilerCache[selector+" "];
1586if(!cached){
1587if(!match){
1588match=tokenize(selector);
1589}
1590i=match.length;
1591while(i--){
1592cached=matcherFromTokens(match[i]);
1593if(cached[expando]){
1594setMatchers.push(cached);
1595}else{
1596elementMatchers.push(cached);
1597}
1598}
1599cached=compilerCache(selector,
1600matcherFromGroupMatchers(elementMatchers,setMatchers));
1601cached.selector=selector;
1602}
1603return cached;
1604}
1605function select(selector,context,results,seed){
1606var i,tokens,token,type,find,
1607compiled=typeof selector==="function"&&selector,
1608match=!seed&&tokenize((selector=compiled.selector||selector));
1609results=results||[];
1610if(match.length===1){
1611tokens=match[0]=match[0].slice(0);
1612if(tokens.length>2&&(token=tokens[0]).type==="ID"&&
1613context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){
1614context=(Expr.find.ID(
1615token.matches[0].replace(runescape,funescape),
1616context
1617)||[])[0];
1618if(!context){
1619return results;
1620}else if(compiled){
1621context=context.parentNode;
1622}
1623selector=selector.slice(tokens.shift().value.length);
1624}
1625i=matchExpr.needsContext.test(selector)?0:tokens.length;
1626while(i--){
1627token=tokens[i];
1628if(Expr.relative[(type=token.type)]){
1629break;
1630}
1631if((find=Expr.find[type])){
1632if((seed=find(
1633token.matches[0].replace(runescape,funescape),
1634rsibling.test(tokens[0].type)&&
1635testContext(context.parentNode)||context
1636))){
1637tokens.splice(i,1);
1638selector=seed.length&&toSelector(tokens);
1639if(!selector){
1640push.apply(results,seed);
1641return results;
1642}
1643break;
1644}
1645}
1646}
1647}
1648(compiled||compile(selector,match))(
1649seed,
1650context,
1651!documentIsHTML,
1652results,
1653!context||rsibling.test(selector)&&testContext(context.parentNode)||context
1654);
1655return results;
1656}
1657support.sortStable=expando.split("").sort(sortOrder).join("")===expando;
1658setDocument();
1659support.sortDetached=assert(function(el){
1660return el.compareDocumentPosition(document.createElement("fieldset"))&1;
1661});
1662jQuery.find=find;
1663jQuery.expr[":"]=jQuery.expr.pseudos;
1664jQuery.unique=jQuery.uniqueSort;
1665find.compile=compile;
1666find.select=select;
1667find.setDocument=setDocument;
1668find.tokenize=tokenize;
1669find.escape=jQuery.escapeSelector;
1670find.getText=jQuery.text;
1671find.isXML=jQuery.isXMLDoc;
1672find.selectors=jQuery.expr;
1673find.support=jQuery.support;
1674find.uniqueSort=jQuery.uniqueSort;
1675})();
1676var dir=function(elem,dir,until){
1677var matched=[],
1678truncate=until!==undefined;
1679while((elem=elem[dir])&&elem.nodeType!==9){
1680if(elem.nodeType===1){
1681if(truncate&&jQuery(elem).is(until)){
1682break;
1683}
1684matched.push(elem);
1685}
1686}
1687return matched;
1688};
1689var siblings=function(n,elem){
1690var matched=[];
1691for(;n;n=n.nextSibling){
1692if(n.nodeType===1&&n!==elem){
1693matched.push(n);
1694}
1695}
1696return matched;
1697};
1698var rneedsContext=jQuery.expr.match.needsContext;
1699var rsingleTag=(/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i);
1700function winnow(elements,qualifier,not){
1701if(isFunction(qualifier)){
1702return jQuery.grep(elements,function(elem,i){
1703return!!qualifier.call(elem,i,elem)!==not;
1704});
1705}
1706if(qualifier.nodeType){
1707return jQuery.grep(elements,function(elem){
1708return(elem===qualifier)!==not;
1709});
1710}
1711if(typeof qualifier!=="string"){
1712return jQuery.grep(elements,function(elem){
1713return(indexOf.call(qualifier,elem)>-1)!==not;
1714});
1715}
1716return jQuery.filter(qualifier,elements,not);
1717}
1718jQuery.filter=function(expr,elems,not){
1719var elem=elems[0];
1720if(not){
1721expr=":not("+expr+")";
1722}
1723if(elems.length===1&&elem.nodeType===1){
1724return jQuery.find.matchesSelector(elem,expr)?[elem]:[];
1725}
1726return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){
1727return elem.nodeType===1;
1728}));
1729};
1730jQuery.fn.extend({
1731find:function(selector){
1732var i,ret,
1733len=this.length,
1734self=this;
1735if(typeof selector!=="string"){
1736return this.pushStack(jQuery(selector).filter(function(){
1737for(i=0;i<len;i++){
1738if(jQuery.contains(self[i],this)){
1739return true;
1740}
1741}
1742}));
1743}
1744ret=this.pushStack([]);
1745for(i=0;i<len;i++){
1746jQuery.find(selector,self[i],ret);
1747}
1748return len>1?jQuery.uniqueSort(ret):ret;
1749},
1750filter:function(selector){
1751return this.pushStack(winnow(this,selector||[],false));
1752},
1753not:function(selector){
1754return this.pushStack(winnow(this,selector||[],true));
1755},
1756is:function(selector){
1757return!!winnow(
1758this,
1759typeof selector==="string"&&rneedsContext.test(selector)?
1760jQuery(selector):
1761selector||[],
1762false
1763).length;
1764}
1765});
1766var rootjQuery,
1767rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
1768init=jQuery.fn.init=function(selector,context,root){
1769var match,elem;
1770if(!selector){
1771return this;
1772}
1773root=root||rootjQuery;
1774if(typeof selector==="string"){
1775if(selector[0]==="<"&&
1776selector[selector.length-1]===">"&&
1777selector.length>=3){
1778match=[null,selector,null];
1779}else{
1780match=rquickExpr.exec(selector);
1781}
1782if(match&&(match[1]||!context)){
1783if(match[1]){
1784context=context instanceof jQuery?context[0]:context;
1785jQuery.merge(this,jQuery.parseHTML(
1786match[1],
1787context&&context.nodeType?context.ownerDocument||context:document,
1788true
1789));
1790if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){
1791for(match in context){
1792if(isFunction(this[match])){
1793this[match](context[match]);
1794}else{
1795this.attr(match,context[match]);
1796}
1797}
1798}
1799return this;
1800}else{
1801elem=document.getElementById(match[2]);
1802if(elem){
1803this[0]=elem;
1804this.length=1;
1805}
1806return this;
1807}
1808}else if(!context||context.jquery){
1809return(context||root).find(selector);
1810}else{
1811return this.constructor(context).find(selector);
1812}
1813}else if(selector.nodeType){
1814this[0]=selector;
1815this.length=1;
1816return this;
1817}else if(isFunction(selector)){
1818return root.ready!==undefined?
1819root.ready(selector):
1820selector(jQuery);
1821}
1822return jQuery.makeArray(selector,this);
1823};
1824init.prototype=jQuery.fn;
1825rootjQuery=jQuery(document);
1826var rparentsprev=/^(?:parents|prev(?:Until|All))/,
1827guaranteedUnique={
1828children:true,
1829contents:true,
1830next:true,
1831prev:true
1832};
1833jQuery.fn.extend({
1834has:function(target){
1835var targets=jQuery(target,this),
1836l=targets.length;
1837return this.filter(function(){
1838var i=0;
1839for(;i<l;i++){
1840if(jQuery.contains(this,targets[i])){
1841return true;
1842}
1843}
1844});
1845},
1846closest:function(selectors,context){
1847var cur,
1848i=0,
1849l=this.length,
1850matched=[],
1851targets=typeof selectors!=="string"&&jQuery(selectors);
1852if(!rneedsContext.test(selectors)){
1853for(;i<l;i++){
1854for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){
1855if(cur.nodeType<11&&(targets?
1856targets.index(cur)>-1:
1857cur.nodeType===1&&
1858jQuery.find.matchesSelector(cur,selectors))){
1859matched.push(cur);
1860break;
1861}
1862}
1863}
1864}
1865return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched);
1866},
1867index:function(elem){
1868if(!elem){
1869return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;
1870}
1871if(typeof elem==="string"){
1872return indexOf.call(jQuery(elem),this[0]);
1873}
1874return indexOf.call(this,
1875elem.jquery?elem[0]:elem
1876);
1877},
1878add:function(selector,context){
1879return this.pushStack(
1880jQuery.uniqueSort(
1881jQuery.merge(this.get(),jQuery(selector,context))
1882)
1883);
1884},
1885addBack:function(selector){
1886return this.add(selector==null?
1887this.prevObject:this.prevObject.filter(selector)
1888);
1889}
1890});
1891function sibling(cur,dir){
1892while((cur=cur[dir])&&cur.nodeType!==1){}
1893return cur;
1894}
1895jQuery.each({
1896parent:function(elem){
1897var parent=elem.parentNode;
1898return parent&&parent.nodeType!==11?parent:null;
1899},
1900parents:function(elem){
1901return dir(elem,"parentNode");
1902},
1903parentsUntil:function(elem,_i,until){
1904return dir(elem,"parentNode",until);
1905},
1906next:function(elem){
1907return sibling(elem,"nextSibling");
1908},
1909prev:function(elem){
1910return sibling(elem,"previousSibling");
1911},
1912nextAll:function(elem){
1913return dir(elem,"nextSibling");
1914},
1915prevAll:function(elem){
1916return dir(elem,"previousSibling");
1917},
1918nextUntil:function(elem,_i,until){
1919return dir(elem,"nextSibling",until);
1920},
1921prevUntil:function(elem,_i,until){
1922return dir(elem,"previousSibling",until);
1923},
1924siblings:function(elem){
1925return siblings((elem.parentNode||{}).firstChild,elem);
1926},
1927children:function(elem){
1928return siblings(elem.firstChild);
1929},
1930contents:function(elem){
1931if(elem.contentDocument!=null&&
1932getProto(elem.contentDocument)){
1933return elem.contentDocument;
1934}
1935if(nodeName(elem,"template")){
1936elem=elem.content||elem;
1937}
1938return jQuery.merge([],elem.childNodes);
1939}
1940},function(name,fn){
1941jQuery.fn[name]=function(until,selector){
1942var matched=jQuery.map(this,fn,until);
1943if(name.slice(-5)!=="Until"){
1944selector=until;
1945}
1946if(selector&&typeof selector==="string"){
1947matched=jQuery.filter(selector,matched);
1948}
1949if(this.length>1){
1950if(!guaranteedUnique[name]){
1951jQuery.uniqueSort(matched);
1952}
1953if(rparentsprev.test(name)){
1954matched.reverse();
1955}
1956}
1957return this.pushStack(matched);
1958};
1959});
1960var rnothtmlwhite=(/[^\x20\t\r\n\f]+/g);
1961function createOptions(options){
1962var object={};
1963jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){
1964object[flag]=true;
1965});
1966return object;
1967}
1968jQuery.Callbacks=function(options){
1969options=typeof options==="string"?
1970createOptions(options):
1971jQuery.extend({},options);
1972var
1973firing,
1974memory,
1975fired,
1976locked,
1977list=[],
1978queue=[],
1979firingIndex=-1,
1980fire=function(){
1981locked=locked||options.once;
1982fired=firing=true;
1983for(;queue.length;firingIndex=-1){
1984memory=queue.shift();
1985while(++firingIndex<list.length){
1986if(list[firingIndex].apply(memory[0],memory[1])===false&&
1987options.stopOnFalse){
1988firingIndex=list.length;
1989memory=false;
1990}
1991}
1992}
1993if(!options.memory){
1994memory=false;
1995}
1996firing=false;
1997if(locked){
1998if(memory){
1999list=[];
2000}else{
2001list="";
2002}
2003}
2004},
2005self={
2006add:function(){
2007if(list){
2008if(memory&&!firing){
2009firingIndex=list.length-1;
2010queue.push(memory);
2011}
2012(function add(args){
2013jQuery.each(args,function(_,arg){
2014if(isFunction(arg)){
2015if(!options.unique||!self.has(arg)){
2016list.push(arg);
2017}
2018}else if(arg&&arg.length&&toType(arg)!=="string"){
2019add(arg);
2020}
2021});
2022})(arguments);
2023if(memory&&!firing){
2024fire();
2025}
2026}
2027return this;
2028},
2029remove:function(){
2030jQuery.each(arguments,function(_,arg){
2031var index;
2032while((index=jQuery.inArray(arg,list,index))>-1){
2033list.splice(index,1);
2034if(index<=firingIndex){
2035firingIndex--;
2036}
2037}
2038});
2039return this;
2040},
2041has:function(fn){
2042return fn?
2043jQuery.inArray(fn,list)>-1:
2044list.length>0;
2045},
2046empty:function(){
2047if(list){
2048list=[];
2049}
2050return this;
2051},
2052disable:function(){
2053locked=queue=[];
2054list=memory="";
2055return this;
2056},
2057disabled:function(){
2058return!list;
2059},
2060lock:function(){
2061locked=queue=[];
2062if(!memory&&!firing){
2063list=memory="";
2064}
2065return this;
2066},
2067locked:function(){
2068return!!locked;
2069},
2070fireWith:function(context,args){
2071if(!locked){
2072args=args||[];
2073args=[context,args.slice?args.slice():args];
2074queue.push(args);
2075if(!firing){
2076fire();
2077}
2078}
2079return this;
2080},
2081fire:function(){
2082self.fireWith(this,arguments);
2083return this;
2084},
2085fired:function(){
2086return!!fired;
2087}
2088};
2089return self;
2090};
2091function Identity(v){
2092return v;
2093}
2094function Thrower(ex){
2095throw ex;
2096}
2097function adoptValue(value,resolve,reject,noValue){
2098var method;
2099try{
2100if(value&&isFunction((method=value.promise))){
2101method.call(value).done(resolve).fail(reject);
2102}else if(value&&isFunction((method=value.then))){
2103method.call(value,resolve,reject);
2104}else{
2105resolve.apply(undefined,[value].slice(noValue));
2106}
2107}catch(value){
2108reject.apply(undefined,[value]);
2109}
2110}
2111jQuery.extend({
2112Deferred:function(func){
2113var tuples=[
2114["notify","progress",jQuery.Callbacks("memory"),
2115jQuery.Callbacks("memory"),2],
2116["resolve","done",jQuery.Callbacks("once memory"),
2117jQuery.Callbacks("once memory"),0,"resolved"],
2118["reject","fail",jQuery.Callbacks("once memory"),
2119jQuery.Callbacks("once memory"),1,"rejected"]
2120],
2121state="pending",
2122promise={
2123state:function(){
2124return state;
2125},
2126always:function(){
2127deferred.done(arguments).fail(arguments);
2128return this;
2129},
2130"catch":function(fn){
2131return promise.then(null,fn);
2132},
2133pipe:function(){
2134var fns=arguments;
2135return jQuery.Deferred(function(newDefer){
2136jQuery.each(tuples,function(_i,tuple){
2137var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]];
2138deferred[tuple[1]](function(){
2139var returned=fn&&fn.apply(this,arguments);
2140if(returned&&isFunction(returned.promise)){
2141returned.promise()
2142.progress(newDefer.notify)
2143.done(newDefer.resolve)
2144.fail(newDefer.reject);
2145}else{
2146newDefer[tuple[0]+"With"](
2147this,
2148fn?[returned]:arguments
2149);
2150}
2151});
2152});
2153fns=null;
2154}).promise();
2155},
2156then:function(onFulfilled,onRejected,onProgress){
2157var maxDepth=0;
2158function resolve(depth,deferred,handler,special){
2159return function(){
2160var that=this,
2161args=arguments,
2162mightThrow=function(){
2163var returned,then;
2164if(depth<maxDepth){
2165return;
2166}
2167returned=handler.apply(that,args);
2168if(returned===deferred.promise()){
2169throw new TypeError("Thenable self-resolution");
2170}
2171then=returned&&
2172(typeof returned==="object"||
2173typeof returned==="function")&&
2174returned.then;
2175if(isFunction(then)){
2176if(special){
2177then.call(
2178returned,
2179resolve(maxDepth,deferred,Identity,special),
2180resolve(maxDepth,deferred,Thrower,special)
2181);
2182}else{
2183maxDepth++;
2184then.call(
2185returned,
2186resolve(maxDepth,deferred,Identity,special),
2187resolve(maxDepth,deferred,Thrower,special),
2188resolve(maxDepth,deferred,Identity,
2189deferred.notifyWith)
2190);
2191}
2192}else{
2193if(handler!==Identity){
2194that=undefined;
2195args=[returned];
2196}
2197(special||deferred.resolveWith)(that,args);
2198}
2199},
2200process=special?
2201mightThrow:
2202function(){
2203try{
2204mightThrow();
2205}catch(e){
2206if(jQuery.Deferred.exceptionHook){
2207jQuery.Deferred.exceptionHook(e,
2208process.error);
2209}
2210if(depth+1>=maxDepth){
2211if(handler!==Thrower){
2212that=undefined;
2213args=[e];
2214}
2215deferred.rejectWith(that,args);
2216}
2217}
2218};
2219if(depth){
2220process();
2221}else{
2222if(jQuery.Deferred.getErrorHook){
2223process.error=jQuery.Deferred.getErrorHook();
2224}else if(jQuery.Deferred.getStackHook){
2225process.error=jQuery.Deferred.getStackHook();
2226}
2227window.setTimeout(process);
2228}
2229};
2230}
2231return jQuery.Deferred(function(newDefer){
2232tuples[0][3].add(
2233resolve(
22340,
2235newDefer,
2236isFunction(onProgress)?
2237onProgress:
2238Identity,
2239newDefer.notifyWith
2240)
2241);
2242tuples[1][3].add(
2243resolve(
22440,
2245newDefer,
2246isFunction(onFulfilled)?
2247onFulfilled:
2248Identity
2249)
2250);
2251tuples[2][3].add(
2252resolve(
22530,
2254newDefer,
2255isFunction(onRejected)?
2256onRejected:
2257Thrower
2258)
2259);
2260}).promise();
2261},
2262promise:function(obj){
2263return obj!=null?jQuery.extend(obj,promise):promise;
2264}
2265},
2266deferred={};
2267jQuery.each(tuples,function(i,tuple){
2268var list=tuple[2],
2269stateString=tuple[5];
2270promise[tuple[1]]=list.add;
2271if(stateString){
2272list.add(
2273function(){
2274state=stateString;
2275},
2276tuples[3-i][2].disable,
2277tuples[3-i][3].disable,
2278tuples[0][2].lock,
2279tuples[0][3].lock
2280);
2281}
2282list.add(tuple[3].fire);
2283deferred[tuple[0]]=function(){
2284deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments);
2285return this;
2286};
2287deferred[tuple[0]+"With"]=list.fireWith;
2288});
2289promise.promise(deferred);
2290if(func){
2291func.call(deferred,deferred);
2292}
2293return deferred;
2294},
2295when:function(singleValue){
2296var
2297remaining=arguments.length,
2298i=remaining,
2299resolveContexts=Array(i),
2300resolveValues=slice.call(arguments),
2301primary=jQuery.Deferred(),
2302updateFunc=function(i){
2303return function(value){
2304resolveContexts[i]=this;
2305resolveValues[i]=arguments.length>1?slice.call(arguments):value;
2306if(!(--remaining)){
2307primary.resolveWith(resolveContexts,resolveValues);
2308}
2309};
2310};
2311if(remaining<=1){
2312adoptValue(singleValue,primary.done(updateFunc(i)).resolve,primary.reject,
2313!remaining);
2314if(primary.state()==="pending"||
2315isFunction(resolveValues[i]&&resolveValues[i].then)){
2316return primary.then();
2317}
2318}
2319while(i--){
2320adoptValue(resolveValues[i],updateFunc(i),primary.reject);
2321}
2322return primary.promise();
2323}
2324});
2325var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
2326jQuery.Deferred.exceptionHook=function(error,asyncError){
2327if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){
2328window.console.warn("jQuery.Deferred exception: "+error.message,
2329error.stack,asyncError);
2330}
2331};
2332jQuery.readyException=function(error){
2333window.setTimeout(function(){
2334throw error;
2335});
2336};
2337var readyList=jQuery.Deferred();
2338jQuery.fn.ready=function(fn){
2339readyList
2340.then(fn)
2341.catch(function(error){
2342jQuery.readyException(error);
2343});
2344return this;
2345};
2346jQuery.extend({
2347isReady:false,
2348readyWait:1,
2349ready:function(wait){
2350if(wait===true?--jQuery.readyWait:jQuery.isReady){
2351return;
2352}
2353jQuery.isReady=true;
2354if(wait!==true&&--jQuery.readyWait>0){
2355return;
2356}
2357readyList.resolveWith(document,[jQuery]);
2358}
2359});
2360jQuery.ready.then=readyList.then;
2361function completed(){
2362document.removeEventListener("DOMContentLoaded",completed);
2363window.removeEventListener("load",completed);
2364jQuery.ready();
2365}
2366if(document.readyState==="complete"||
2367(document.readyState!=="loading"&&!document.documentElement.doScroll)){
2368window.setTimeout(jQuery.ready);
2369}else{
2370document.addEventListener("DOMContentLoaded",completed);
2371window.addEventListener("load",completed);
2372}
2373var access=function(elems,fn,key,value,chainable,emptyGet,raw){
2374var i=0,
2375len=elems.length,
2376bulk=key==null;
2377if(toType(key)==="object"){
2378chainable=true;
2379for(i in key){
2380access(elems,fn,i,key[i],true,emptyGet,raw);
2381}
2382}else if(value!==undefined){
2383chainable=true;
2384if(!isFunction(value)){
2385raw=true;
2386}
2387if(bulk){
2388if(raw){
2389fn.call(elems,value);
2390fn=null;
2391}else{
2392bulk=fn;
2393fn=function(elem,_key,value){
2394return bulk.call(jQuery(elem),value);
2395};
2396}
2397}
2398if(fn){
2399for(;i<len;i++){
2400fn(
2401elems[i],key,raw?
2402value:
2403value.call(elems[i],i,fn(elems[i],key))
2404);
2405}
2406}
2407}
2408if(chainable){
2409return elems;
2410}
2411if(bulk){
2412return fn.call(elems);
2413}
2414return len?fn(elems[0],key):emptyGet;
2415};
2416var rmsPrefix=/^-ms-/,
2417rdashAlpha=/-([a-z])/g;
2418function fcamelCase(_all,letter){
2419return letter.toUpperCase();
2420}
2421function camelCase(string){
2422return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);
2423}
2424var acceptData=function(owner){
2425return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType);
2426};
2427function Data(){
2428this.expando=jQuery.expando+Data.uid++;
2429}
2430Data.uid=1;
2431Data.prototype={
2432cache:function(owner){
2433var value=owner[this.expando];
2434if(!value){
2435value={};
2436if(acceptData(owner)){
2437if(owner.nodeType){
2438owner[this.expando]=value;
2439}else{
2440Object.defineProperty(owner,this.expando,{
2441value:value,
2442configurable:true
2443});
2444}
2445}
2446}
2447return value;
2448},
2449set:function(owner,data,value){
2450var prop,
2451cache=this.cache(owner);
2452if(typeof data==="string"){
2453cache[camelCase(data)]=value;
2454}else{
2455for(prop in data){
2456cache[camelCase(prop)]=data[prop];
2457}
2458}
2459return cache;
2460},
2461get:function(owner,key){
2462return key===undefined?
2463this.cache(owner):
2464owner[this.expando]&&owner[this.expando][camelCase(key)];
2465},
2466access:function(owner,key,value){
2467if(key===undefined||
2468((key&&typeof key==="string")&&value===undefined)){
2469return this.get(owner,key);
2470}
2471this.set(owner,key,value);
2472return value!==undefined?value:key;
2473},
2474remove:function(owner,key){
2475var i,
2476cache=owner[this.expando];
2477if(cache===undefined){
2478return;
2479}
2480if(key!==undefined){
2481if(Array.isArray(key)){
2482key=key.map(camelCase);
2483}else{
2484key=camelCase(key);
2485key=key in cache?
2486[key]:
2487(key.match(rnothtmlwhite)||[]);
2488}
2489i=key.length;
2490while(i--){
2491delete cache[key[i]];
2492}
2493}
2494if(key===undefined||jQuery.isEmptyObject(cache)){
2495if(owner.nodeType){
2496owner[this.expando]=undefined;
2497}else{
2498delete owner[this.expando];
2499}
2500}
2501},
2502hasData:function(owner){
2503var cache=owner[this.expando];
2504return cache!==undefined&&!jQuery.isEmptyObject(cache);
2505}
2506};
2507var dataPriv=new Data();
2508var dataUser=new Data();
2509var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
2510rmultiDash=/[A-Z]/g;
2511function getData(data){
2512if(data==="true"){
2513return true;
2514}
2515if(data==="false"){
2516return false;
2517}
2518if(data==="null"){
2519return null;
2520}
2521if(data===+data+""){
2522return+data;
2523}
2524if(rbrace.test(data)){
2525return JSON.parse(data);
2526}
2527return data;
2528}
2529function dataAttr(elem,key,data){
2530var name;
2531if(data===undefined&&elem.nodeType===1){
2532name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();
2533data=elem.getAttribute(name);
2534if(typeof data==="string"){
2535try{
2536data=getData(data);
2537}catch(e){}
2538dataUser.set(elem,key,data);
2539}else{
2540data=undefined;
2541}
2542}
2543return data;
2544}
2545jQuery.extend({
2546hasData:function(elem){
2547return dataUser.hasData(elem)||dataPriv.hasData(elem);
2548},
2549data:function(elem,name,data){
2550return dataUser.access(elem,name,data);
2551},
2552removeData:function(elem,name){
2553dataUser.remove(elem,name);
2554},
2555_data:function(elem,name,data){
2556return dataPriv.access(elem,name,data);
2557},
2558_removeData:function(elem,name){
2559dataPriv.remove(elem,name);
2560}
2561});
2562jQuery.fn.extend({
2563data:function(key,value){
2564var i,name,data,
2565elem=this[0],
2566attrs=elem&&elem.attributes;
2567if(key===undefined){
2568if(this.length){
2569data=dataUser.get(elem);
2570if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){
2571i=attrs.length;
2572while(i--){
2573if(attrs[i]){
2574name=attrs[i].name;
2575if(name.indexOf("data-")===0){
2576name=camelCase(name.slice(5));
2577dataAttr(elem,name,data[name]);
2578}
2579}
2580}
2581dataPriv.set(elem,"hasDataAttrs",true);
2582}
2583}
2584return data;
2585}
2586if(typeof key==="object"){
2587return this.each(function(){
2588dataUser.set(this,key);
2589});
2590}
2591return access(this,function(value){
2592var data;
2593if(elem&&value===undefined){
2594data=dataUser.get(elem,key);
2595if(data!==undefined){
2596return data;
2597}
2598data=dataAttr(elem,key);
2599if(data!==undefined){
2600return data;
2601}
2602return;
2603}
2604this.each(function(){
2605dataUser.set(this,key,value);
2606});
2607},null,value,arguments.length>1,null,true);
2608},
2609removeData:function(key){
2610return this.each(function(){
2611dataUser.remove(this,key);
2612});
2613}
2614});
2615jQuery.extend({
2616queue:function(elem,type,data){
2617var queue;
2618if(elem){
2619type=(type||"fx")+"queue";
2620queue=dataPriv.get(elem,type);
2621if(data){
2622if(!queue||Array.isArray(data)){
2623queue=dataPriv.access(elem,type,jQuery.makeArray(data));
2624}else{
2625queue.push(data);
2626}
2627}
2628return queue||[];
2629}
2630},
2631dequeue:function(elem,type){
2632type=type||"fx";
2633var queue=jQuery.queue(elem,type),
2634startLength=queue.length,
2635fn=queue.shift(),
2636hooks=jQuery._queueHooks(elem,type),
2637next=function(){
2638jQuery.dequeue(elem,type);
2639};
2640if(fn==="inprogress"){
2641fn=queue.shift();
2642startLength--;
2643}
2644if(fn){
2645if(type==="fx"){
2646queue.unshift("inprogress");
2647}
2648delete hooks.stop;
2649fn.call(elem,next,hooks);
2650}
2651if(!startLength&&hooks){
2652hooks.empty.fire();
2653}
2654},
2655_queueHooks:function(elem,type){
2656var key=type+"queueHooks";
2657return dataPriv.get(elem,key)||dataPriv.access(elem,key,{
2658empty:jQuery.Callbacks("once memory").add(function(){
2659dataPriv.remove(elem,[type+"queue",key]);
2660})
2661});
2662}
2663});
2664jQuery.fn.extend({
2665queue:function(type,data){
2666var setter=2;
2667if(typeof type!=="string"){
2668data=type;
2669type="fx";
2670setter--;
2671}
2672if(arguments.length<setter){
2673return jQuery.queue(this[0],type);
2674}
2675return data===undefined?
2676this:
2677this.each(function(){
2678var queue=jQuery.queue(this,type,data);
2679jQuery._queueHooks(this,type);
2680if(type==="fx"&&queue[0]!=="inprogress"){
2681jQuery.dequeue(this,type);
2682}
2683});
2684},
2685dequeue:function(type){
2686return this.each(function(){
2687jQuery.dequeue(this,type);
2688});
2689},
2690clearQueue:function(type){
2691return this.queue(type||"fx",[]);
2692},
2693promise:function(type,obj){
2694var tmp,
2695count=1,
2696defer=jQuery.Deferred(),
2697elements=this,
2698i=this.length,
2699resolve=function(){
2700if(!(--count)){
2701defer.resolveWith(elements,[elements]);
2702}
2703};
2704if(typeof type!=="string"){
2705obj=type;
2706type=undefined;
2707}
2708type=type||"fx";
2709while(i--){
2710tmp=dataPriv.get(elements[i],type+"queueHooks");
2711if(tmp&&tmp.empty){
2712count++;
2713tmp.empty.add(resolve);
2714}
2715}
2716resolve();
2717return defer.promise(obj);
2718}
2719});
2720var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
2721var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");
2722var cssExpand=["Top","Right","Bottom","Left"];
2723var documentElement=document.documentElement;
2724var isAttached=function(elem){
2725return jQuery.contains(elem.ownerDocument,elem);
2726},
2727composed={composed:true};
2728if(documentElement.getRootNode){
2729isAttached=function(elem){
2730return jQuery.contains(elem.ownerDocument,elem)||
2731elem.getRootNode(composed)===elem.ownerDocument;
2732};
2733}
2734var isHiddenWithinTree=function(elem,el){
2735elem=el||elem;
2736return elem.style.display==="none"||
2737elem.style.display===""&&
2738isAttached(elem)&&
2739jQuery.css(elem,"display")==="none";
2740};
2741function adjustCSS(elem,prop,valueParts,tween){
2742var adjusted,scale,
2743maxIterations=20,
2744currentValue=tween?
2745function(){
2746return tween.cur();
2747}:
2748function(){
2749return jQuery.css(elem,prop,"");
2750},
2751initial=currentValue(),
2752unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),
2753initialInUnit=elem.nodeType&&
2754(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&
2755rcssNum.exec(jQuery.css(elem,prop));
2756if(initialInUnit&&initialInUnit[3]!==unit){
2757initial=initial/2;
2758unit=unit||initialInUnit[3];
2759initialInUnit=+initial||1;
2760while(maxIterations--){
2761jQuery.style(elem,prop,initialInUnit+unit);
2762if((1-scale)*(1-(scale=currentValue()/initial||0.5))<=0){
2763maxIterations=0;
2764}
2765initialInUnit=initialInUnit/scale;
2766}
2767initialInUnit=initialInUnit*2;
2768jQuery.style(elem,prop,initialInUnit+unit);
2769valueParts=valueParts||[];
2770}
2771if(valueParts){
2772initialInUnit=+initialInUnit||+initial||0;
2773adjusted=valueParts[1]?
2774initialInUnit+(valueParts[1]+1)*valueParts[2]:
2775+valueParts[2];
2776if(tween){
2777tween.unit=unit;
2778tween.start=initialInUnit;
2779tween.end=adjusted;
2780}
2781}
2782return adjusted;
2783}
2784var defaultDisplayMap={};
2785function getDefaultDisplay(elem){
2786var temp,
2787doc=elem.ownerDocument,
2788nodeName=elem.nodeName,
2789display=defaultDisplayMap[nodeName];
2790if(display){
2791return display;
2792}
2793temp=doc.body.appendChild(doc.createElement(nodeName));
2794display=jQuery.css(temp,"display");
2795temp.parentNode.removeChild(temp);
2796if(display==="none"){
2797display="block";
2798}
2799defaultDisplayMap[nodeName]=display;
2800return display;
2801}
2802function showHide(elements,show){
2803var display,elem,
2804values=[],
2805index=0,
2806length=elements.length;
2807for(;index<length;index++){
2808elem=elements[index];
2809if(!elem.style){
2810continue;
2811}
2812display=elem.style.display;
2813if(show){
2814if(display==="none"){
2815values[index]=dataPriv.get(elem,"display")||null;
2816if(!values[index]){
2817elem.style.display="";
2818}
2819}
2820if(elem.style.display===""&&isHiddenWithinTree(elem)){
2821values[index]=getDefaultDisplay(elem);
2822}
2823}else{
2824if(display!=="none"){
2825values[index]="none";
2826dataPriv.set(elem,"display",display);
2827}
2828}
2829}
2830for(index=0;index<length;index++){
2831if(values[index]!=null){
2832elements[index].style.display=values[index];
2833}
2834}
2835return elements;
2836}
2837jQuery.fn.extend({
2838show:function(){
2839return showHide(this,true);
2840},
2841hide:function(){
2842return showHide(this);
2843},
2844toggle:function(state){
2845if(typeof state==="boolean"){
2846return state?this.show():this.hide();
2847}
2848return this.each(function(){
2849if(isHiddenWithinTree(this)){
2850jQuery(this).show();
2851}else{
2852jQuery(this).hide();
2853}
2854});
2855}
2856});
2857var rcheckableType=(/^(?:checkbox|radio)$/i);
2858var rtagName=(/<([a-z][^\/\0>\x20\t\r\n\f]*)/i);
2859var rscriptType=(/^$|^module$|\/(?:java|ecma)script/i);
2860(function(){
2861var fragment=document.createDocumentFragment(),
2862div=fragment.appendChild(document.createElement("div")),
2863input=document.createElement("input");
2864input.setAttribute("type","radio");
2865input.setAttribute("checked","checked");
2866input.setAttribute("name","t");
2867div.appendChild(input);
2868support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;
2869div.innerHTML="<textarea>x</textarea>";
2870support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;
2871div.innerHTML="<option></option>";
2872support.option=!!div.lastChild;
2873})();
2874var wrapMap={
2875thead:[1,"<table>","</table>"],
2876col:[2,"<table><colgroup>","</colgroup></table>"],
2877tr:[2,"<table><tbody>","</tbody></table>"],
2878td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
2879_default:[0,"",""]
2880};
2881wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;
2882wrapMap.th=wrapMap.td;
2883if(!support.option){
2884wrapMap.optgroup=wrapMap.option=[1,"<select multiple='multiple'>","</select>"];
2885}
2886function getAll(context,tag){
2887var ret;
2888if(typeof context.getElementsByTagName!=="undefined"){
2889ret=context.getElementsByTagName(tag||"*");
2890}else if(typeof context.querySelectorAll!=="undefined"){
2891ret=context.querySelectorAll(tag||"*");
2892}else{
2893ret=[];
2894}
2895if(tag===undefined||tag&&nodeName(context,tag)){
2896return jQuery.merge([context],ret);
2897}
2898return ret;
2899}
2900function setGlobalEval(elems,refElements){
2901var i=0,
2902l=elems.length;
2903for(;i<l;i++){
2904dataPriv.set(
2905elems[i],
2906"globalEval",
2907!refElements||dataPriv.get(refElements[i],"globalEval")
2908);
2909}
2910}
2911var rhtml=/<|&#?\w+;/;
2912function buildFragment(elems,context,scripts,selection,ignored){
2913var elem,tmp,tag,wrap,attached,j,
2914fragment=context.createDocumentFragment(),
2915nodes=[],
2916i=0,
2917l=elems.length;
2918for(;i<l;i++){
2919elem=elems[i];
2920if(elem||elem===0){
2921if(toType(elem)==="object"){
2922jQuery.merge(nodes,elem.nodeType?[elem]:elem);
2923}else if(!rhtml.test(elem)){
2924nodes.push(context.createTextNode(elem));
2925}else{
2926tmp=tmp||fragment.appendChild(context.createElement("div"));
2927tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();
2928wrap=wrapMap[tag]||wrapMap._default;
2929tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];
2930j=wrap[0];
2931while(j--){
2932tmp=tmp.lastChild;
2933}
2934jQuery.merge(nodes,tmp.childNodes);
2935tmp=fragment.firstChild;
2936tmp.textContent="";
2937}
2938}
2939}
2940fragment.textContent="";
2941i=0;
2942while((elem=nodes[i++])){
2943if(selection&&jQuery.inArray(elem,selection)>-1){
2944if(ignored){
2945ignored.push(elem);
2946}
2947continue;
2948}
2949attached=isAttached(elem);
2950tmp=getAll(fragment.appendChild(elem),"script");
2951if(attached){
2952setGlobalEval(tmp);
2953}
2954if(scripts){
2955j=0;
2956while((elem=tmp[j++])){
2957if(rscriptType.test(elem.type||"")){
2958scripts.push(elem);
2959}
2960}
2961}
2962}
2963return fragment;
2964}
2965var rtypenamespace=/^([^.]*)(?:\.(.+)|)/;
2966function returnTrue(){
2967return true;
2968}
2969function returnFalse(){
2970return false;
2971}
2972function on(elem,types,selector,data,fn,one){
2973var origFn,type;
2974if(typeof types==="object"){
2975if(typeof selector!=="string"){
2976data=data||selector;
2977selector=undefined;
2978}
2979for(type in types){
2980on(elem,type,selector,data,types[type],one);
2981}
2982return elem;
2983}
2984if(data==null&&fn==null){
2985fn=selector;
2986data=selector=undefined;
2987}else if(fn==null){
2988if(typeof selector==="string"){
2989fn=data;
2990data=undefined;
2991}else{
2992fn=data;
2993data=selector;
2994selector=undefined;
2995}
2996}
2997if(fn===false){
2998fn=returnFalse;
2999}else if(!fn){
3000return elem;
3001}
3002if(one===1){
3003origFn=fn;
3004fn=function(event){
3005jQuery().off(event);
3006return origFn.apply(this,arguments);
3007};
3008fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);
3009}
3010return elem.each(function(){
3011jQuery.event.add(this,types,fn,data,selector);
3012});
3013}
3014jQuery.event={
3015global:{},
3016add:function(elem,types,handler,data,selector){
3017var handleObjIn,eventHandle,tmp,
3018events,t,handleObj,
3019special,handlers,type,namespaces,origType,
3020elemData=dataPriv.get(elem);
3021if(!acceptData(elem)){
3022return;
3023}
3024if(handler.handler){
3025handleObjIn=handler;
3026handler=handleObjIn.handler;
3027selector=handleObjIn.selector;
3028}
3029if(selector){
3030jQuery.find.matchesSelector(documentElement,selector);
3031}
3032if(!handler.guid){
3033handler.guid=jQuery.guid++;
3034}
3035if(!(events=elemData.events)){
3036events=elemData.events=Object.create(null);
3037}
3038if(!(eventHandle=elemData.handle)){
3039eventHandle=elemData.handle=function(e){
3040return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?
3041jQuery.event.dispatch.apply(elem,arguments):undefined;
3042};
3043}
3044types=(types||"").match(rnothtmlwhite)||[""];
3045t=types.length;
3046while(t--){
3047tmp=rtypenamespace.exec(types[t])||[];
3048type=origType=tmp[1];
3049namespaces=(tmp[2]||"").split(".").sort();
3050if(!type){
3051continue;
3052}
3053special=jQuery.event.special[type]||{};
3054type=(selector?special.delegateType:special.bindType)||type;
3055special=jQuery.event.special[type]||{};
3056handleObj=jQuery.extend({
3057type:type,
3058origType:origType,
3059data:data,
3060handler:handler,
3061guid:handler.guid,
3062selector:selector,
3063needsContext:selector&&jQuery.expr.match.needsContext.test(selector),
3064namespace:namespaces.join(".")
3065},handleObjIn);
3066if(!(handlers=events[type])){
3067handlers=events[type]=[];
3068handlers.delegateCount=0;
3069if(!special.setup||
3070special.setup.call(elem,data,namespaces,eventHandle)===false){
3071if(elem.addEventListener){
3072elem.addEventListener(type,eventHandle);
3073}
3074}
3075}
3076if(special.add){
3077special.add.call(elem,handleObj);
3078if(!handleObj.handler.guid){
3079handleObj.handler.guid=handler.guid;
3080}
3081}
3082if(selector){
3083handlers.splice(handlers.delegateCount++,0,handleObj);
3084}else{
3085handlers.push(handleObj);
3086}
3087jQuery.event.global[type]=true;
3088}
3089},
3090remove:function(elem,types,handler,selector,mappedTypes){
3091var j,origCount,tmp,
3092events,t,handleObj,
3093special,handlers,type,namespaces,origType,
3094elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);
3095if(!elemData||!(events=elemData.events)){
3096return;
3097}
3098types=(types||"").match(rnothtmlwhite)||[""];
3099t=types.length;
3100while(t--){
3101tmp=rtypenamespace.exec(types[t])||[];
3102type=origType=tmp[1];
3103namespaces=(tmp[2]||"").split(".").sort();
3104if(!type){
3105for(type in events){
3106jQuery.event.remove(elem,type+types[t],handler,selector,true);
3107}
3108continue;
3109}
3110special=jQuery.event.special[type]||{};
3111type=(selector?special.delegateType:special.bindType)||type;
3112handlers=events[type]||[];
3113tmp=tmp[2]&&
3114new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");
3115origCount=j=handlers.length;
3116while(j--){
3117handleObj=handlers[j];
3118if((mappedTypes||origType===handleObj.origType)&&
3119(!handler||handler.guid===handleObj.guid)&&
3120(!tmp||tmp.test(handleObj.namespace))&&
3121(!selector||selector===handleObj.selector||
3122selector==="**"&&handleObj.selector)){
3123handlers.splice(j,1);
3124if(handleObj.selector){
3125handlers.delegateCount--;
3126}
3127if(special.remove){
3128special.remove.call(elem,handleObj);
3129}
3130}
3131}
3132if(origCount&&!handlers.length){
3133if(!special.teardown||
3134special.teardown.call(elem,namespaces,elemData.handle)===false){
3135jQuery.removeEvent(elem,type,elemData.handle);
3136}
3137delete events[type];
3138}
3139}
3140if(jQuery.isEmptyObject(events)){
3141dataPriv.remove(elem,"handle events");
3142}
3143},
3144dispatch:function(nativeEvent){
3145var i,j,ret,matched,handleObj,handlerQueue,
3146args=new Array(arguments.length),
3147event=jQuery.event.fix(nativeEvent),
3148handlers=(
3149dataPriv.get(this,"events")||Object.create(null)
3150)[event.type]||[],
3151special=jQuery.event.special[event.type]||{};
3152args[0]=event;
3153for(i=1;i<arguments.length;i++){
3154args[i]=arguments[i];
3155}
3156event.delegateTarget=this;
3157if(special.preDispatch&&special.preDispatch.call(this,event)===false){
3158return;
3159}
3160handlerQueue=jQuery.event.handlers.call(this,event,handlers);
3161i=0;
3162while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){
3163event.currentTarget=matched.elem;
3164j=0;
3165while((handleObj=matched.handlers[j++])&&
3166!event.isImmediatePropagationStopped()){
3167if(!event.rnamespace||handleObj.namespace===false||
3168event.rnamespace.test(handleObj.namespace)){
3169event.handleObj=handleObj;
3170event.data=handleObj.data;
3171ret=((jQuery.event.special[handleObj.origType]||{}).handle||
3172handleObj.handler).apply(matched.elem,args);
3173if(ret!==undefined){
3174if((event.result=ret)===false){
3175event.preventDefault();
3176event.stopPropagation();
3177}
3178}
3179}
3180}
3181}
3182if(special.postDispatch){
3183special.postDispatch.call(this,event);
3184}
3185return event.result;
3186},
3187handlers:function(event,handlers){
3188var i,handleObj,sel,matchedHandlers,matchedSelectors,
3189handlerQueue=[],
3190delegateCount=handlers.delegateCount,
3191cur=event.target;
3192if(delegateCount&&
3193cur.nodeType&&
3194!(event.type==="click"&&event.button>=1)){
3195for(;cur!==this;cur=cur.parentNode||this){
3196if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){
3197matchedHandlers=[];
3198matchedSelectors={};
3199for(i=0;i<delegateCount;i++){
3200handleObj=handlers[i];
3201sel=handleObj.selector+" ";
3202if(matchedSelectors[sel]===undefined){
3203matchedSelectors[sel]=handleObj.needsContext?
3204jQuery(sel,this).index(cur)>-1:
3205jQuery.find(sel,this,null,[cur]).length;
3206}
3207if(matchedSelectors[sel]){
3208matchedHandlers.push(handleObj);
3209}
3210}
3211if(matchedHandlers.length){
3212handlerQueue.push({elem:cur,handlers:matchedHandlers});
3213}
3214}
3215}
3216}
3217cur=this;
3218if(delegateCount<handlers.length){
3219handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)});
3220}
3221return handlerQueue;
3222},
3223addProp:function(name,hook){
3224Object.defineProperty(jQuery.Event.prototype,name,{
3225enumerable:true,
3226configurable:true,
3227get:isFunction(hook)?
3228function(){
3229if(this.originalEvent){
3230return hook(this.originalEvent);
3231}
3232}:
3233function(){
3234if(this.originalEvent){
3235return this.originalEvent[name];
3236}
3237},
3238set:function(value){
3239Object.defineProperty(this,name,{
3240enumerable:true,
3241configurable:true,
3242writable:true,
3243value:value
3244});
3245}
3246});
3247},
3248fix:function(originalEvent){
3249return originalEvent[jQuery.expando]?
3250originalEvent:
3251new jQuery.Event(originalEvent);
3252},
3253special:{
3254load:{
3255noBubble:true
3256},
3257click:{
3258setup:function(data){
3259var el=this||data;
3260if(rcheckableType.test(el.type)&&
3261el.click&&nodeName(el,"input")){
3262leverageNative(el,"click",true);
3263}
3264return false;
3265},
3266trigger:function(data){
3267var el=this||data;
3268if(rcheckableType.test(el.type)&&
3269el.click&&nodeName(el,"input")){
3270leverageNative(el,"click");
3271}
3272return true;
3273},
3274_default:function(event){
3275var target=event.target;
3276return rcheckableType.test(target.type)&&
3277target.click&&nodeName(target,"input")&&
3278dataPriv.get(target,"click")||
3279nodeName(target,"a");
3280}
3281},
3282beforeunload:{
3283postDispatch:function(event){
3284if(event.result!==undefined&&event.originalEvent){
3285event.originalEvent.returnValue=event.result;
3286}
3287}
3288}
3289}
3290};
3291function leverageNative(el,type,isSetup){
3292if(!isSetup){
3293if(dataPriv.get(el,type)===undefined){
3294jQuery.event.add(el,type,returnTrue);
3295}
3296return;
3297}
3298dataPriv.set(el,type,false);
3299jQuery.event.add(el,type,{
3300namespace:false,
3301handler:function(event){
3302var result,
3303saved=dataPriv.get(this,type);
3304if((event.isTrigger&1)&&this[type]){
3305if(!saved){
3306saved=slice.call(arguments);
3307dataPriv.set(this,type,saved);
3308this[type]();
3309result=dataPriv.get(this,type);
3310dataPriv.set(this,type,false);
3311if(saved!==result){
3312event.stopImmediatePropagation();
3313event.preventDefault();
3314return result;
3315}
3316}else if((jQuery.event.special[type]||{}).delegateType){
3317event.stopPropagation();
3318}
3319}else if(saved){
3320dataPriv.set(this,type,jQuery.event.trigger(
3321saved[0],
3322saved.slice(1),
3323this
3324));
3325event.stopPropagation();
3326event.isImmediatePropagationStopped=returnTrue;
3327}
3328}
3329});
3330}
3331jQuery.removeEvent=function(elem,type,handle){
3332if(elem.removeEventListener){
3333elem.removeEventListener(type,handle);
3334}
3335};
3336jQuery.Event=function(src,props){
3337if(!(this instanceof jQuery.Event)){
3338return new jQuery.Event(src,props);
3339}
3340if(src&&src.type){
3341this.originalEvent=src;
3342this.type=src.type;
3343this.isDefaultPrevented=src.defaultPrevented||
3344src.defaultPrevented===undefined&&
3345src.returnValue===false?
3346returnTrue:
3347returnFalse;
3348this.target=(src.target&&src.target.nodeType===3)?
3349src.target.parentNode:
3350src.target;
3351this.currentTarget=src.currentTarget;
3352this.relatedTarget=src.relatedTarget;
3353}else{
3354this.type=src;
3355}
3356if(props){
3357jQuery.extend(this,props);
3358}
3359this.timeStamp=src&&src.timeStamp||Date.now();
3360this[jQuery.expando]=true;
3361};
3362jQuery.Event.prototype={
3363constructor:jQuery.Event,
3364isDefaultPrevented:returnFalse,
3365isPropagationStopped:returnFalse,
3366isImmediatePropagationStopped:returnFalse,
3367isSimulated:false,
3368preventDefault:function(){
3369var e=this.originalEvent;
3370this.isDefaultPrevented=returnTrue;
3371if(e&&!this.isSimulated){
3372e.preventDefault();
3373}
3374},
3375stopPropagation:function(){
3376var e=this.originalEvent;
3377this.isPropagationStopped=returnTrue;
3378if(e&&!this.isSimulated){
3379e.stopPropagation();
3380}
3381},
3382stopImmediatePropagation:function(){
3383var e=this.originalEvent;
3384this.isImmediatePropagationStopped=returnTrue;
3385if(e&&!this.isSimulated){
3386e.stopImmediatePropagation();
3387}
3388this.stopPropagation();
3389}
3390};
3391jQuery.each({
3392altKey:true,
3393bubbles:true,
3394cancelable:true,
3395changedTouches:true,
3396ctrlKey:true,
3397detail:true,
3398eventPhase:true,
3399metaKey:true,
3400pageX:true,
3401pageY:true,
3402shiftKey:true,
3403view:true,
3404"char":true,
3405code:true,
3406charCode:true,
3407key:true,
3408keyCode:true,
3409button:true,
3410buttons:true,
3411clientX:true,
3412clientY:true,
3413offsetX:true,
3414offsetY:true,
3415pointerId:true,
3416pointerType:true,
3417screenX:true,
3418screenY:true,
3419targetTouches:true,
3420toElement:true,
3421touches:true,
3422which:true
3423},jQuery.event.addProp);
3424jQuery.each({focus:"focusin",blur:"focusout"},function(type,delegateType){
3425function focusMappedHandler(nativeEvent){
3426if(document.documentMode){
3427var handle=dataPriv.get(this,"handle"),
3428event=jQuery.event.fix(nativeEvent);
3429event.type=nativeEvent.type==="focusin"?"focus":"blur";
3430event.isSimulated=true;
3431handle(nativeEvent);
3432if(event.target===event.currentTarget){
3433handle(event);
3434}
3435}else{
3436jQuery.event.simulate(delegateType,nativeEvent.target,
3437jQuery.event.fix(nativeEvent));
3438}
3439}
3440jQuery.event.special[type]={
3441setup:function(){
3442var attaches;
3443leverageNative(this,type,true);
3444if(document.documentMode){
3445attaches=dataPriv.get(this,delegateType);
3446if(!attaches){
3447this.addEventListener(delegateType,focusMappedHandler);
3448}
3449dataPriv.set(this,delegateType,(attaches||0)+1);
3450}else{
3451return false;
3452}
3453},
3454trigger:function(){
3455leverageNative(this,type);
3456return true;
3457},
3458teardown:function(){
3459var attaches;
3460if(document.documentMode){
3461attaches=dataPriv.get(this,delegateType)-1;
3462if(!attaches){
3463this.removeEventListener(delegateType,focusMappedHandler);
3464dataPriv.remove(this,delegateType);
3465}else{
3466dataPriv.set(this,delegateType,attaches);
3467}
3468}else{
3469return false;
3470}
3471},
3472_default:function(event){
3473return dataPriv.get(event.target,type);
3474},
3475delegateType:delegateType
3476};
3477jQuery.event.special[delegateType]={
3478setup:function(){
3479var doc=this.ownerDocument||this.document||this,
3480dataHolder=document.documentMode?this:doc,
3481attaches=dataPriv.get(dataHolder,delegateType);
3482if(!attaches){
3483if(document.documentMode){
3484this.addEventListener(delegateType,focusMappedHandler);
3485}else{
3486doc.addEventListener(type,focusMappedHandler,true);
3487}
3488}
3489dataPriv.set(dataHolder,delegateType,(attaches||0)+1);
3490},
3491teardown:function(){
3492var doc=this.ownerDocument||this.document||this,
3493dataHolder=document.documentMode?this:doc,
3494attaches=dataPriv.get(dataHolder,delegateType)-1;
3495if(!attaches){
3496if(document.documentMode){
3497this.removeEventListener(delegateType,focusMappedHandler);
3498}else{
3499doc.removeEventListener(type,focusMappedHandler,true);
3500}
3501dataPriv.remove(dataHolder,delegateType);
3502}else{
3503dataPriv.set(dataHolder,delegateType,attaches);
3504}
3505}
3506};
3507});
3508jQuery.each({
3509mouseenter:"mouseover",
3510mouseleave:"mouseout",
3511pointerenter:"pointerover",
3512pointerleave:"pointerout"
3513},function(orig,fix){
3514jQuery.event.special[orig]={
3515delegateType:fix,
3516bindType:fix,
3517handle:function(event){
3518var ret,
3519target=this,
3520related=event.relatedTarget,
3521handleObj=event.handleObj;
3522if(!related||(related!==target&&!jQuery.contains(target,related))){
3523event.type=handleObj.origType;
3524ret=handleObj.handler.apply(this,arguments);
3525event.type=fix;
3526}
3527return ret;
3528}
3529};
3530});
3531jQuery.fn.extend({
3532on:function(types,selector,data,fn){
3533return on(this,types,selector,data,fn);
3534},
3535one:function(types,selector,data,fn){
3536return on(this,types,selector,data,fn,1);
3537},
3538off:function(types,selector,fn){
3539var handleObj,type;
3540if(types&&types.preventDefault&&types.handleObj){
3541handleObj=types.handleObj;
3542jQuery(types.delegateTarget).off(
3543handleObj.namespace?
3544handleObj.origType+"."+handleObj.namespace:
3545handleObj.origType,
3546handleObj.selector,
3547handleObj.handler
3548);
3549return this;
3550}
3551if(typeof types==="object"){
3552for(type in types){
3553this.off(type,selector,types[type]);
3554}
3555return this;
3556}
3557if(selector===false||typeof selector==="function"){
3558fn=selector;
3559selector=undefined;
3560}
3561if(fn===false){
3562fn=returnFalse;
3563}
3564return this.each(function(){
3565jQuery.event.remove(this,types,fn,selector);
3566});
3567}
3568});
3569var
3570rnoInnerhtml=/<script|<style|<link/i,
3571rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,
3572rcleanScript=/^\s*<!\[CDATA\[|\]\]>\s*$/g;
3573function manipulationTarget(elem,content){
3574if(nodeName(elem,"table")&&
3575nodeName(content.nodeType!==11?content:content.firstChild,"tr")){
3576return jQuery(elem).children("tbody")[0]||elem;
3577}
3578return elem;
3579}
3580function disableScript(elem){
3581elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;
3582return elem;
3583}
3584function restoreScript(elem){
3585if((elem.type||"").slice(0,5)==="true/"){
3586elem.type=elem.type.slice(5);
3587}else{
3588elem.removeAttribute("type");
3589}
3590return elem;
3591}
3592function cloneCopyEvent(src,dest){
3593var i,l,type,pdataOld,udataOld,udataCur,events;
3594if(dest.nodeType!==1){
3595return;
3596}
3597if(dataPriv.hasData(src)){
3598pdataOld=dataPriv.get(src);
3599events=pdataOld.events;
3600if(events){
3601dataPriv.remove(dest,"handle events");
3602for(type in events){
3603for(i=0,l=events[type].length;i<l;i++){
3604jQuery.event.add(dest,type,events[type][i]);
3605}
3606}
3607}
3608}
3609if(dataUser.hasData(src)){
3610udataOld=dataUser.access(src);
3611udataCur=jQuery.extend({},udataOld);
3612dataUser.set(dest,udataCur);
3613}
3614}
3615function fixInput(src,dest){
3616var nodeName=dest.nodeName.toLowerCase();
3617if(nodeName==="input"&&rcheckableType.test(src.type)){
3618dest.checked=src.checked;
3619}else if(nodeName==="input"||nodeName==="textarea"){
3620dest.defaultValue=src.defaultValue;
3621}
3622}
3623function domManip(collection,args,callback,ignored){
3624args=flat(args);
3625var fragment,first,scripts,hasScripts,node,doc,
3626i=0,
3627l=collection.length,
3628iNoClone=l-1,
3629value=args[0],
3630valueIsFunction=isFunction(value);
3631if(valueIsFunction||
3632(l>1&&typeof value==="string"&&
3633!support.checkClone&&rchecked.test(value))){
3634return collection.each(function(index){
3635var self=collection.eq(index);
3636if(valueIsFunction){
3637args[0]=value.call(this,index,self.html());
3638}
3639domManip(self,args,callback,ignored);
3640});
3641}
3642if(l){
3643fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);
3644first=fragment.firstChild;
3645if(fragment.childNodes.length===1){
3646fragment=first;
3647}
3648if(first||ignored){
3649scripts=jQuery.map(getAll(fragment,"script"),disableScript);
3650hasScripts=scripts.length;
3651for(;i<l;i++){
3652node=fragment;
3653if(i!==iNoClone){
3654node=jQuery.clone(node,true,true);
3655if(hasScripts){
3656jQuery.merge(scripts,getAll(node,"script"));
3657}
3658}
3659callback.call(collection[i],node,i);
3660}
3661if(hasScripts){
3662doc=scripts[scripts.length-1].ownerDocument;
3663jQuery.map(scripts,restoreScript);
3664for(i=0;i<hasScripts;i++){
3665node=scripts[i];
3666if(rscriptType.test(node.type||"")&&
3667!dataPriv.access(node,"globalEval")&&
3668jQuery.contains(doc,node)){
3669if(node.src&&(node.type||"").toLowerCase()!=="module"){
3670if(jQuery._evalUrl&&!node.noModule){
3671jQuery._evalUrl(node.src,{
3672nonce:node.nonce||node.getAttribute("nonce")
3673},doc);
3674}
3675}else{
3676DOMEval(node.textContent.replace(rcleanScript,""),node,doc);
3677}
3678}
3679}
3680}
3681}
3682}
3683return collection;
3684}
3685function remove(elem,selector,keepData){
3686var node,
3687nodes=selector?jQuery.filter(selector,elem):elem,
3688i=0;
3689for(;(node=nodes[i])!=null;i++){
3690if(!keepData&&node.nodeType===1){
3691jQuery.cleanData(getAll(node));
3692}
3693if(node.parentNode){
3694if(keepData&&isAttached(node)){
3695setGlobalEval(getAll(node,"script"));
3696}
3697node.parentNode.removeChild(node);
3698}
3699}
3700return elem;
3701}
3702jQuery.extend({
3703htmlPrefilter:function(html){
3704return html;
3705},
3706clone:function(elem,dataAndEvents,deepDataAndEvents){
3707var i,l,srcElements,destElements,
3708clone=elem.cloneNode(true),
3709inPage=isAttached(elem);
3710if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&
3711!jQuery.isXMLDoc(elem)){
3712destElements=getAll(clone);
3713srcElements=getAll(elem);
3714for(i=0,l=srcElements.length;i<l;i++){
3715fixInput(srcElements[i],destElements[i]);
3716}
3717}
3718if(dataAndEvents){
3719if(deepDataAndEvents){
3720srcElements=srcElements||getAll(elem);
3721destElements=destElements||getAll(clone);
3722for(i=0,l=srcElements.length;i<l;i++){
3723cloneCopyEvent(srcElements[i],destElements[i]);
3724}
3725}else{
3726cloneCopyEvent(elem,clone);
3727}
3728}
3729destElements=getAll(clone,"script");
3730if(destElements.length>0){
3731setGlobalEval(destElements,!inPage&&getAll(elem,"script"));
3732}
3733return clone;
3734},
3735cleanData:function(elems){
3736var data,elem,type,
3737special=jQuery.event.special,
3738i=0;
3739for(;(elem=elems[i])!==undefined;i++){
3740if(acceptData(elem)){
3741if((data=elem[dataPriv.expando])){
3742if(data.events){
3743for(type in data.events){
3744if(special[type]){
3745jQuery.event.remove(elem,type);
3746}else{
3747jQuery.removeEvent(elem,type,data.handle);
3748}
3749}
3750}
3751elem[dataPriv.expando]=undefined;
3752}
3753if(elem[dataUser.expando]){
3754elem[dataUser.expando]=undefined;
3755}
3756}
3757}
3758}
3759});
3760jQuery.fn.extend({
3761detach:function(selector){
3762return remove(this,selector,true);
3763},
3764remove:function(selector){
3765return remove(this,selector);
3766},
3767text:function(value){
3768return access(this,function(value){
3769return value===undefined?
3770jQuery.text(this):
3771this.empty().each(function(){
3772if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3773this.textContent=value;
3774}
3775});
3776},null,value,arguments.length);
3777},
3778append:function(){
3779return domManip(this,arguments,function(elem){
3780if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3781var target=manipulationTarget(this,elem);
3782target.appendChild(elem);
3783}
3784});
3785},
3786prepend:function(){
3787return domManip(this,arguments,function(elem){
3788if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3789var target=manipulationTarget(this,elem);
3790target.insertBefore(elem,target.firstChild);
3791}
3792});
3793},
3794before:function(){
3795return domManip(this,arguments,function(elem){
3796if(this.parentNode){
3797this.parentNode.insertBefore(elem,this);
3798}
3799});
3800},
3801after:function(){
3802return domManip(this,arguments,function(elem){
3803if(this.parentNode){
3804this.parentNode.insertBefore(elem,this.nextSibling);
3805}
3806});
3807},
3808empty:function(){
3809var elem,
3810i=0;
3811for(;(elem=this[i])!=null;i++){
3812if(elem.nodeType===1){
3813jQuery.cleanData(getAll(elem,false));
3814elem.textContent="";
3815}
3816}
3817return this;
3818},
3819clone:function(dataAndEvents,deepDataAndEvents){
3820dataAndEvents=dataAndEvents==null?false:dataAndEvents;
3821deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;
3822return this.map(function(){
3823return jQuery.clone(this,dataAndEvents,deepDataAndEvents);
3824});
3825},
3826html:function(value){
3827return access(this,function(value){
3828var elem=this[0]||{},
3829i=0,
3830l=this.length;
3831if(value===undefined&&elem.nodeType===1){
3832return elem.innerHTML;
3833}
3834if(typeof value==="string"&&!rnoInnerhtml.test(value)&&
3835!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){
3836value=jQuery.htmlPrefilter(value);
3837try{
3838for(;i<l;i++){
3839elem=this[i]||{};
3840if(elem.nodeType===1){
3841jQuery.cleanData(getAll(elem,false));
3842elem.innerHTML=value;
3843}
3844}
3845elem=0;
3846}catch(e){}
3847}
3848if(elem){
3849this.empty().append(value);
3850}
3851},null,value,arguments.length);
3852},
3853replaceWith:function(){
3854var ignored=[];
3855return domManip(this,arguments,function(elem){
3856var parent=this.parentNode;
3857if(jQuery.inArray(this,ignored)<0){
3858jQuery.cleanData(getAll(this));
3859if(parent){
3860parent.replaceChild(elem,this);
3861}
3862}
3863},ignored);
3864}
3865});
3866jQuery.each({
3867appendTo:"append",
3868prependTo:"prepend",
3869insertBefore:"before",
3870insertAfter:"after",
3871replaceAll:"replaceWith"
3872},function(name,original){
3873jQuery.fn[name]=function(selector){
3874var elems,
3875ret=[],
3876insert=jQuery(selector),
3877last=insert.length-1,
3878i=0;
3879for(;i<=last;i++){
3880elems=i===last?this:this.clone(true);
3881jQuery(insert[i])[original](elems);
3882push.apply(ret,elems.get());
3883}
3884return this.pushStack(ret);
3885};
3886});
3887var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");
3888var rcustomProp=/^--/;
3889var getStyles=function(elem){
3890var view=elem.ownerDocument.defaultView;
3891if(!view||!view.opener){
3892view=window;
3893}
3894return view.getComputedStyle(elem);
3895};
3896var swap=function(elem,options,callback){
3897var ret,name,
3898old={};
3899for(name in options){
3900old[name]=elem.style[name];
3901elem.style[name]=options[name];
3902}
3903ret=callback.call(elem);
3904for(name in options){
3905elem.style[name]=old[name];
3906}
3907return ret;
3908};
3909var rboxStyle=new RegExp(cssExpand.join("|"),"i");
3910(function(){
3911function computeStyleTests(){
3912if(!div){
3913return;
3914}
3915container.style.cssText="position:absolute;left:-11111px;width:60px;"+
3916"margin-top:1px;padding:0;border:0";
3917div.style.cssText=
3918"position:relative;display:block;box-sizing:border-box;overflow:scroll;"+
3919"margin:auto;border:1px;padding:1px;"+
3920"width:60%;top:1%";
3921documentElement.appendChild(container).appendChild(div);
3922var divStyle=window.getComputedStyle(div);
3923pixelPositionVal=divStyle.top!=="1%";
3924reliableMarginLeftVal=roundPixelMeasures(divStyle.marginLeft)===12;
3925div.style.right="60%";
3926pixelBoxStylesVal=roundPixelMeasures(divStyle.right)===36;
3927boxSizingReliableVal=roundPixelMeasures(divStyle.width)===36;
3928div.style.position="absolute";
3929scrollboxSizeVal=roundPixelMeasures(div.offsetWidth/3)===12;
3930documentElement.removeChild(container);
3931div=null;
3932}
3933function roundPixelMeasures(measure){
3934return Math.round(parseFloat(measure));
3935}
3936var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal,
3937reliableTrDimensionsVal,reliableMarginLeftVal,
3938container=document.createElement("div"),
3939div=document.createElement("div");
3940if(!div.style){
3941return;
3942}
3943div.style.backgroundClip="content-box";
3944div.cloneNode(true).style.backgroundClip="";
3945support.clearCloneStyle=div.style.backgroundClip==="content-box";
3946jQuery.extend(support,{
3947boxSizingReliable:function(){
3948computeStyleTests();
3949return boxSizingReliableVal;
3950},
3951pixelBoxStyles:function(){
3952computeStyleTests();
3953return pixelBoxStylesVal;
3954},
3955pixelPosition:function(){
3956computeStyleTests();
3957return pixelPositionVal;
3958},
3959reliableMarginLeft:function(){
3960computeStyleTests();
3961return reliableMarginLeftVal;
3962},
3963scrollboxSize:function(){
3964computeStyleTests();
3965return scrollboxSizeVal;
3966},
3967reliableTrDimensions:function(){
3968var table,tr,trChild,trStyle;
3969if(reliableTrDimensionsVal==null){
3970table=document.createElement("table");
3971tr=document.createElement("tr");
3972trChild=document.createElement("div");
3973table.style.cssText="position:absolute;left:-11111px;border-collapse:separate";
3974tr.style.cssText="box-sizing:content-box;border:1px solid";
3975tr.style.height="1px";
3976trChild.style.height="9px";
3977trChild.style.display="block";
3978documentElement
3979.appendChild(table)
3980.appendChild(tr)
3981.appendChild(trChild);
3982trStyle=window.getComputedStyle(tr);
3983reliableTrDimensionsVal=(parseInt(trStyle.height,10)+
3984parseInt(trStyle.borderTopWidth,10)+
3985parseInt(trStyle.borderBottomWidth,10))===tr.offsetHeight;
3986documentElement.removeChild(table);
3987}
3988return reliableTrDimensionsVal;
3989}
3990});
3991})();
3992function curCSS(elem,name,computed){
3993var width,minWidth,maxWidth,ret,
3994isCustomProp=rcustomProp.test(name),
3995style=elem.style;
3996computed=computed||getStyles(elem);
3997if(computed){
3998ret=computed.getPropertyValue(name)||computed[name];
3999if(isCustomProp&&ret){
4000ret=ret.replace(rtrimCSS,"$1")||undefined;
4001}
4002if(ret===""&&!isAttached(elem)){
4003ret=jQuery.style(elem,name);
4004}
4005if(!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.test(name)){
4006width=style.width;
4007minWidth=style.minWidth;
4008maxWidth=style.maxWidth;
4009style.minWidth=style.maxWidth=style.width=ret;
4010ret=computed.width;
4011style.width=width;
4012style.minWidth=minWidth;
4013style.maxWidth=maxWidth;
4014}
4015}
4016return ret!==undefined?
4017ret+"":
4018ret;
4019}
4020function addGetHookIf(conditionFn,hookFn){
4021return{
4022get:function(){
4023if(conditionFn()){
4024delete this.get;
4025return;
4026}
4027return(this.get=hookFn).apply(this,arguments);
4028}
4029};
4030}
4031var cssPrefixes=["Webkit","Moz","ms"],
4032emptyStyle=document.createElement("div").style,
4033vendorProps={};
4034function vendorPropName(name){
4035var capName=name[0].toUpperCase()+name.slice(1),
4036i=cssPrefixes.length;
4037while(i--){
4038name=cssPrefixes[i]+capName;
4039if(name in emptyStyle){
4040return name;
4041}
4042}
4043}
4044function finalPropName(name){
4045var final=jQuery.cssProps[name]||vendorProps[name];
4046if(final){
4047return final;
4048}
4049if(name in emptyStyle){
4050return name;
4051}
4052return vendorProps[name]=vendorPropName(name)||name;
4053}
4054var
4055rdisplayswap=/^(none|table(?!-c[ea]).+)/,
4056cssShow={position:"absolute",visibility:"hidden",display:"block"},
4057cssNormalTransform={
4058letterSpacing:"0",
4059fontWeight:"400"
4060};
4061function setPositiveNumber(_elem,value,subtract){
4062var matches=rcssNum.exec(value);
4063return matches?
4064Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):
4065value;
4066}
4067function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){
4068var i=dimension==="width"?1:0,
4069extra=0,
4070delta=0,
4071marginDelta=0;
4072if(box===(isBorderBox?"border":"content")){
4073return 0;
4074}
4075for(;i<4;i+=2){
4076if(box==="margin"){
4077marginDelta+=jQuery.css(elem,box+cssExpand[i],true,styles);
4078}
4079if(!isBorderBox){
4080delta+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
4081if(box!=="padding"){
4082delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4083}else{
4084extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4085}
4086}else{
4087if(box==="content"){
4088delta-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
4089}
4090if(box!=="margin"){
4091delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4092}
4093}
4094}
4095if(!isBorderBox&&computedVal>=0){
4096delta+=Math.max(0,Math.ceil(
4097elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
4098computedVal-
4099delta-
4100extra-
41010.5
4102))||0;
4103}
4104return delta+marginDelta;
4105}
4106function getWidthOrHeight(elem,dimension,extra){
4107var styles=getStyles(elem),
4108boxSizingNeeded=!support.boxSizingReliable()||extra,
4109isBorderBox=boxSizingNeeded&&
4110jQuery.css(elem,"boxSizing",false,styles)==="border-box",
4111valueIsBorderBox=isBorderBox,
4112val=curCSS(elem,dimension,styles),
4113offsetProp="offset"+dimension[0].toUpperCase()+dimension.slice(1);
4114if(rnumnonpx.test(val)){
4115if(!extra){
4116return val;
4117}
4118val="auto";
4119}
4120if((!support.boxSizingReliable()&&isBorderBox||
4121!support.reliableTrDimensions()&&nodeName(elem,"tr")||
4122val==="auto"||
4123!parseFloat(val)&&jQuery.css(elem,"display",false,styles)==="inline")&&
4124elem.getClientRects().length){
4125isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";
4126valueIsBorderBox=offsetProp in elem;
4127if(valueIsBorderBox){
4128val=elem[offsetProp];
4129}
4130}
4131val=parseFloat(val)||0;
4132return(val+
4133boxModelAdjustment(
4134elem,
4135dimension,
4136extra||(isBorderBox?"border":"content"),
4137valueIsBorderBox,
4138styles,
4139val
4140)
4141)+"px";
4142}
4143jQuery.extend({
4144cssHooks:{
4145opacity:{
4146get:function(elem,computed){
4147if(computed){
4148var ret=curCSS(elem,"opacity");
4149return ret===""?"1":ret;
4150}
4151}
4152}
4153},
4154cssNumber:{
4155animationIterationCount:true,
4156aspectRatio:true,
4157borderImageSlice:true,
4158columnCount:true,
4159flexGrow:true,
4160flexShrink:true,
4161fontWeight:true,
4162gridArea:true,
4163gridColumn:true,
4164gridColumnEnd:true,
4165gridColumnStart:true,
4166gridRow:true,
4167gridRowEnd:true,
4168gridRowStart:true,
4169lineHeight:true,
4170opacity:true,
4171order:true,
4172orphans:true,
4173scale:true,
4174widows:true,
4175zIndex:true,
4176zoom:true,
4177fillOpacity:true,
4178floodOpacity:true,
4179stopOpacity:true,
4180strokeMiterlimit:true,
4181strokeOpacity:true
4182},
4183cssProps:{},
4184style:function(elem,name,value,extra){
4185if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){
4186return;
4187}
4188var ret,type,hooks,
4189origName=camelCase(name),
4190isCustomProp=rcustomProp.test(name),
4191style=elem.style;
4192if(!isCustomProp){
4193name=finalPropName(origName);
4194}
4195hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
4196if(value!==undefined){
4197type=typeof value;
4198if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){
4199value=adjustCSS(elem,name,ret);
4200type="number";
4201}
4202if(value==null||value!==value){
4203return;
4204}
4205if(type==="number"&&!isCustomProp){
4206value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");
4207}
4208if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){
4209style[name]="inherit";
4210}
4211if(!hooks||!("set"in hooks)||
4212(value=hooks.set(elem,value,extra))!==undefined){
4213if(isCustomProp){
4214style.setProperty(name,value);
4215}else{
4216style[name]=value;
4217}
4218}
4219}else{
4220if(hooks&&"get"in hooks&&
4221(ret=hooks.get(elem,false,extra))!==undefined){
4222return ret;
4223}
4224return style[name];
4225}
4226},
4227css:function(elem,name,extra,styles){
4228var val,num,hooks,
4229origName=camelCase(name),
4230isCustomProp=rcustomProp.test(name);
4231if(!isCustomProp){
4232name=finalPropName(origName);
4233}
4234hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
4235if(hooks&&"get"in hooks){
4236val=hooks.get(elem,true,extra);
4237}
4238if(val===undefined){
4239val=curCSS(elem,name,styles);
4240}
4241if(val==="normal"&&name in cssNormalTransform){
4242val=cssNormalTransform[name];
4243}
4244if(extra===""||extra){
4245num=parseFloat(val);
4246return extra===true||isFinite(num)?num||0:val;
4247}
4248return val;
4249}
4250});
4251jQuery.each(["height","width"],function(_i,dimension){
4252jQuery.cssHooks[dimension]={
4253get:function(elem,computed,extra){
4254if(computed){
4255return rdisplayswap.test(jQuery.css(elem,"display"))&&
4256(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?
4257swap(elem,cssShow,function(){
4258return getWidthOrHeight(elem,dimension,extra);
4259}):
4260getWidthOrHeight(elem,dimension,extra);
4261}
4262},
4263set:function(elem,value,extra){
4264var matches,
4265styles=getStyles(elem),
4266scrollboxSizeBuggy=!support.scrollboxSize()&&
4267styles.position==="absolute",
4268boxSizingNeeded=scrollboxSizeBuggy||extra,
4269isBorderBox=boxSizingNeeded&&
4270jQuery.css(elem,"boxSizing",false,styles)==="border-box",
4271subtract=extra?
4272boxModelAdjustment(
4273elem,
4274dimension,
4275extra,
4276isBorderBox,
4277styles
4278):
42790;
4280if(isBorderBox&&scrollboxSizeBuggy){
4281subtract-=Math.ceil(
4282elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
4283parseFloat(styles[dimension])-
4284boxModelAdjustment(elem,dimension,"border",false,styles)-
42850.5
4286);
4287}
4288if(subtract&&(matches=rcssNum.exec(value))&&
4289(matches[3]||"px")!=="px"){
4290elem.style[dimension]=value;
4291value=jQuery.css(elem,dimension);
4292}
4293return setPositiveNumber(elem,value,subtract);
4294}
4295};
4296});
4297jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,
4298function(elem,computed){
4299if(computed){
4300return(parseFloat(curCSS(elem,"marginLeft"))||
4301elem.getBoundingClientRect().left-
4302swap(elem,{marginLeft:0},function(){
4303return elem.getBoundingClientRect().left;
4304})
4305)+"px";
4306}
4307}
4308);
4309jQuery.each({
4310margin:"",
4311padding:"",
4312border:"Width"
4313},function(prefix,suffix){
4314jQuery.cssHooks[prefix+suffix]={
4315expand:function(value){
4316var i=0,
4317expanded={},
4318parts=typeof value==="string"?value.split(" "):[value];
4319for(;i<4;i++){
4320expanded[prefix+cssExpand[i]+suffix]=
4321parts[i]||parts[i-2]||parts[0];
4322}
4323return expanded;
4324}
4325};
4326if(prefix!=="margin"){
4327jQuery.cssHooks[prefix+suffix].set=setPositiveNumber;
4328}
4329});
4330jQuery.fn.extend({
4331css:function(name,value){
4332return access(this,function(elem,name,value){
4333var styles,len,
4334map={},
4335i=0;
4336if(Array.isArray(name)){
4337styles=getStyles(elem);
4338len=name.length;
4339for(;i<len;i++){
4340map[name[i]]=jQuery.css(elem,name[i],false,styles);
4341}
4342return map;
4343}
4344return value!==undefined?
4345jQuery.style(elem,name,value):
4346jQuery.css(elem,name);
4347},name,value,arguments.length>1);
4348}
4349});
4350function Tween(elem,options,prop,end,easing){
4351return new Tween.prototype.init(elem,options,prop,end,easing);
4352}
4353jQuery.Tween=Tween;
4354Tween.prototype={
4355constructor:Tween,
4356init:function(elem,options,prop,end,easing,unit){
4357this.elem=elem;
4358this.prop=prop;
4359this.easing=easing||jQuery.easing._default;
4360this.options=options;
4361this.start=this.now=this.cur();
4362this.end=end;
4363this.unit=unit||(jQuery.cssNumber[prop]?"":"px");
4364},
4365cur:function(){
4366var hooks=Tween.propHooks[this.prop];
4367return hooks&&hooks.get?
4368hooks.get(this):
4369Tween.propHooks._default.get(this);
4370},
4371run:function(percent){
4372var eased,
4373hooks=Tween.propHooks[this.prop];
4374if(this.options.duration){
4375this.pos=eased=jQuery.easing[this.easing](
4376percent,this.options.duration*percent,0,1,this.options.duration
4377);
4378}else{
4379this.pos=eased=percent;
4380}
4381this.now=(this.end-this.start)*eased+this.start;
4382if(this.options.step){
4383this.options.step.call(this.elem,this.now,this);
4384}
4385if(hooks&&hooks.set){
4386hooks.set(this);
4387}else{
4388Tween.propHooks._default.set(this);
4389}
4390return this;
4391}
4392};
4393Tween.prototype.init.prototype=Tween.prototype;
4394Tween.propHooks={
4395_default:{
4396get:function(tween){
4397var result;
4398if(tween.elem.nodeType!==1||
4399tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){
4400return tween.elem[tween.prop];
4401}
4402result=jQuery.css(tween.elem,tween.prop,"");
4403return!result||result==="auto"?0:result;
4404},
4405set:function(tween){
4406if(jQuery.fx.step[tween.prop]){
4407jQuery.fx.step[tween.prop](tween);
4408}else if(tween.elem.nodeType===1&&(
4409jQuery.cssHooks[tween.prop]||
4410tween.elem.style[finalPropName(tween.prop)]!=null)){
4411jQuery.style(tween.elem,tween.prop,tween.now+tween.unit);
4412}else{
4413tween.elem[tween.prop]=tween.now;
4414}
4415}
4416}
4417};
4418Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={
4419set:function(tween){
4420if(tween.elem.nodeType&&tween.elem.parentNode){
4421tween.elem[tween.prop]=tween.now;
4422}
4423}
4424};
4425jQuery.easing={
4426linear:function(p){
4427return p;
4428},
4429swing:function(p){
4430return 0.5-Math.cos(p*Math.PI)/2;
4431},
4432_default:"swing"
4433};
4434jQuery.fx=Tween.prototype.init;
4435jQuery.fx.step={};
4436var
4437fxNow,inProgress,
4438rfxtypes=/^(?:toggle|show|hide)$/,
4439rrun=/queueHooks$/;
4440function schedule(){
4441if(inProgress){
4442if(document.hidden===false&&window.requestAnimationFrame){
4443window.requestAnimationFrame(schedule);
4444}else{
4445window.setTimeout(schedule,jQuery.fx.interval);
4446}
4447jQuery.fx.tick();
4448}
4449}
4450function createFxNow(){
4451window.setTimeout(function(){
4452fxNow=undefined;
4453});
4454return(fxNow=Date.now());
4455}
4456function genFx(type,includeWidth){
4457var which,
4458i=0,
4459attrs={height:type};
4460includeWidth=includeWidth?1:0;
4461for(;i<4;i+=2-includeWidth){
4462which=cssExpand[i];
4463attrs["margin"+which]=attrs["padding"+which]=type;
4464}
4465if(includeWidth){
4466attrs.opacity=attrs.width=type;
4467}
4468return attrs;
4469}
4470function createTween(value,prop,animation){
4471var tween,
4472collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),
4473index=0,
4474length=collection.length;
4475for(;index<length;index++){
4476if((tween=collection[index].call(animation,prop,value))){
4477return tween;
4478}
4479}
4480}
4481function defaultPrefilter(elem,props,opts){
4482var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,
4483isBox="width"in props||"height"in props,
4484anim=this,
4485orig={},
4486style=elem.style,
4487hidden=elem.nodeType&&isHiddenWithinTree(elem),
4488dataShow=dataPriv.get(elem,"fxshow");
4489if(!opts.queue){
4490hooks=jQuery._queueHooks(elem,"fx");
4491if(hooks.unqueued==null){
4492hooks.unqueued=0;
4493oldfire=hooks.empty.fire;
4494hooks.empty.fire=function(){
4495if(!hooks.unqueued){
4496oldfire();
4497}
4498};
4499}
4500hooks.unqueued++;
4501anim.always(function(){
4502anim.always(function(){
4503hooks.unqueued--;
4504if(!jQuery.queue(elem,"fx").length){
4505hooks.empty.fire();
4506}
4507});
4508});
4509}
4510for(prop in props){
4511value=props[prop];
4512if(rfxtypes.test(value)){
4513delete props[prop];
4514toggle=toggle||value==="toggle";
4515if(value===(hidden?"hide":"show")){
4516if(value==="show"&&dataShow&&dataShow[prop]!==undefined){
4517hidden=true;
4518}else{
4519continue;
4520}
4521}
4522orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);
4523}
4524}
4525propTween=!jQuery.isEmptyObject(props);
4526if(!propTween&&jQuery.isEmptyObject(orig)){
4527return;
4528}
4529if(isBox&&elem.nodeType===1){
4530opts.overflow=[style.overflow,style.overflowX,style.overflowY];
4531restoreDisplay=dataShow&&dataShow.display;
4532if(restoreDisplay==null){
4533restoreDisplay=dataPriv.get(elem,"display");
4534}
4535display=jQuery.css(elem,"display");
4536if(display==="none"){
4537if(restoreDisplay){
4538display=restoreDisplay;
4539}else{
4540showHide([elem],true);
4541restoreDisplay=elem.style.display||restoreDisplay;
4542display=jQuery.css(elem,"display");
4543showHide([elem]);
4544}
4545}
4546if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){
4547if(jQuery.css(elem,"float")==="none"){
4548if(!propTween){
4549anim.done(function(){
4550style.display=restoreDisplay;
4551});
4552if(restoreDisplay==null){
4553display=style.display;
4554restoreDisplay=display==="none"?"":display;
4555}
4556}
4557style.display="inline-block";
4558}
4559}
4560}
4561if(opts.overflow){
4562style.overflow="hidden";
4563anim.always(function(){
4564style.overflow=opts.overflow[0];
4565style.overflowX=opts.overflow[1];
4566style.overflowY=opts.overflow[2];
4567});
4568}
4569propTween=false;
4570for(prop in orig){
4571if(!propTween){
4572if(dataShow){
4573if("hidden"in dataShow){
4574hidden=dataShow.hidden;
4575}
4576}else{
4577dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay});
4578}
4579if(toggle){
4580dataShow.hidden=!hidden;
4581}
4582if(hidden){
4583showHide([elem],true);
4584}
4585anim.done(function(){
4586if(!hidden){
4587showHide([elem]);
4588}
4589dataPriv.remove(elem,"fxshow");
4590for(prop in orig){
4591jQuery.style(elem,prop,orig[prop]);
4592}
4593});
4594}
4595propTween=createTween(hidden?dataShow[prop]:0,prop,anim);
4596if(!(prop in dataShow)){
4597dataShow[prop]=propTween.start;
4598if(hidden){
4599propTween.end=propTween.start;
4600propTween.start=0;
4601}
4602}
4603}
4604}
4605function propFilter(props,specialEasing){
4606var index,name,easing,value,hooks;
4607for(index in props){
4608name=camelCase(index);
4609easing=specialEasing[name];
4610value=props[index];
4611if(Array.isArray(value)){
4612easing=value[1];
4613value=props[index]=value[0];
4614}
4615if(index!==name){
4616props[name]=value;
4617delete props[index];
4618}
4619hooks=jQuery.cssHooks[name];
4620if(hooks&&"expand"in hooks){
4621value=hooks.expand(value);
4622delete props[name];
4623for(index in value){
4624if(!(index in props)){
4625props[index]=value[index];
4626specialEasing[index]=easing;
4627}
4628}
4629}else{
4630specialEasing[name]=easing;
4631}
4632}
4633}
4634function Animation(elem,properties,options){
4635var result,
4636stopped,
4637index=0,
4638length=Animation.prefilters.length,
4639deferred=jQuery.Deferred().always(function(){
4640delete tick.elem;
4641}),
4642tick=function(){
4643if(stopped){
4644return false;
4645}
4646var currentTime=fxNow||createFxNow(),
4647remaining=Math.max(0,animation.startTime+animation.duration-currentTime),
4648temp=remaining/animation.duration||0,
4649percent=1-temp,
4650index=0,
4651length=animation.tweens.length;
4652for(;index<length;index++){
4653animation.tweens[index].run(percent);
4654}
4655deferred.notifyWith(elem,[animation,percent,remaining]);
4656if(percent<1&&length){
4657return remaining;
4658}
4659if(!length){
4660deferred.notifyWith(elem,[animation,1,0]);
4661}
4662deferred.resolveWith(elem,[animation]);
4663return false;
4664},
4665animation=deferred.promise({
4666elem:elem,
4667props:jQuery.extend({},properties),
4668opts:jQuery.extend(true,{
4669specialEasing:{},
4670easing:jQuery.easing._default
4671},options),
4672originalProperties:properties,
4673originalOptions:options,
4674startTime:fxNow||createFxNow(),
4675duration:options.duration,
4676tweens:[],
4677createTween:function(prop,end){
4678var tween=jQuery.Tween(elem,animation.opts,prop,end,
4679animation.opts.specialEasing[prop]||animation.opts.easing);
4680animation.tweens.push(tween);
4681return tween;
4682},
4683stop:function(gotoEnd){
4684var index=0,
4685length=gotoEnd?animation.tweens.length:0;
4686if(stopped){
4687return this;
4688}
4689stopped=true;
4690for(;index<length;index++){
4691animation.tweens[index].run(1);
4692}
4693if(gotoEnd){
4694deferred.notifyWith(elem,[animation,1,0]);
4695deferred.resolveWith(elem,[animation,gotoEnd]);
4696}else{
4697deferred.rejectWith(elem,[animation,gotoEnd]);
4698}
4699return this;
4700}
4701}),
4702props=animation.props;
4703propFilter(props,animation.opts.specialEasing);
4704for(;index<length;index++){
4705result=Animation.prefilters[index].call(animation,elem,props,animation.opts);
4706if(result){
4707if(isFunction(result.stop)){
4708jQuery._queueHooks(animation.elem,animation.opts.queue).stop=
4709result.stop.bind(result);
4710}
4711return result;
4712}
4713}
4714jQuery.map(props,createTween,animation);
4715if(isFunction(animation.opts.start)){
4716animation.opts.start.call(elem,animation);
4717}
4718animation
4719.progress(animation.opts.progress)
4720.done(animation.opts.done,animation.opts.complete)
4721.fail(animation.opts.fail)
4722.always(animation.opts.always);
4723jQuery.fx.timer(
4724jQuery.extend(tick,{
4725elem:elem,
4726anim:animation,
4727queue:animation.opts.queue
4728})
4729);
4730return animation;
4731}
4732jQuery.Animation=jQuery.extend(Animation,{
4733tweeners:{
4734"*":[function(prop,value){
4735var tween=this.createTween(prop,value);
4736adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);
4737return tween;
4738}]
4739},
4740tweener:function(props,callback){
4741if(isFunction(props)){
4742callback=props;
4743props=["*"];
4744}else{
4745props=props.match(rnothtmlwhite);
4746}
4747var prop,
4748index=0,
4749length=props.length;
4750for(;index<length;index++){
4751prop=props[index];
4752Animation.tweeners[prop]=Animation.tweeners[prop]||[];
4753Animation.tweeners[prop].unshift(callback);
4754}
4755},
4756prefilters:[defaultPrefilter],
4757prefilter:function(callback,prepend){
4758if(prepend){
4759Animation.prefilters.unshift(callback);
4760}else{
4761Animation.prefilters.push(callback);
4762}
4763}
4764});
4765jQuery.speed=function(speed,easing,fn){
4766var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{
4767complete:fn||!fn&&easing||
4768isFunction(speed)&&speed,
4769duration:speed,
4770easing:fn&&easing||easing&&!isFunction(easing)&&easing
4771};
4772if(jQuery.fx.off){
4773opt.duration=0;
4774}else{
4775if(typeof opt.duration!=="number"){
4776if(opt.duration in jQuery.fx.speeds){
4777opt.duration=jQuery.fx.speeds[opt.duration];
4778}else{
4779opt.duration=jQuery.fx.speeds._default;
4780}
4781}
4782}
4783if(opt.queue==null||opt.queue===true){
4784opt.queue="fx";
4785}
4786opt.old=opt.complete;
4787opt.complete=function(){
4788if(isFunction(opt.old)){
4789opt.old.call(this);
4790}
4791if(opt.queue){
4792jQuery.dequeue(this,opt.queue);
4793}
4794};
4795return opt;
4796};
4797jQuery.fn.extend({
4798fadeTo:function(speed,to,easing,callback){
4799return this.filter(isHiddenWithinTree).css("opacity",0).show()
4800.end().animate({opacity:to},speed,easing,callback);
4801},
4802animate:function(prop,speed,easing,callback){
4803var empty=jQuery.isEmptyObject(prop),
4804optall=jQuery.speed(speed,easing,callback),
4805doAnimation=function(){
4806var anim=Animation(this,jQuery.extend({},prop),optall);
4807if(empty||dataPriv.get(this,"finish")){
4808anim.stop(true);
4809}
4810};
4811doAnimation.finish=doAnimation;
4812return empty||optall.queue===false?
4813this.each(doAnimation):
4814this.queue(optall.queue,doAnimation);
4815},
4816stop:function(type,clearQueue,gotoEnd){
4817var stopQueue=function(hooks){
4818var stop=hooks.stop;
4819delete hooks.stop;
4820stop(gotoEnd);
4821};
4822if(typeof type!=="string"){
4823gotoEnd=clearQueue;
4824clearQueue=type;
4825type=undefined;
4826}
4827if(clearQueue){
4828this.queue(type||"fx",[]);
4829}
4830return this.each(function(){
4831var dequeue=true,
4832index=type!=null&&type+"queueHooks",
4833timers=jQuery.timers,
4834data=dataPriv.get(this);
4835if(index){
4836if(data[index]&&data[index].stop){
4837stopQueue(data[index]);
4838}
4839}else{
4840for(index in data){
4841if(data[index]&&data[index].stop&&rrun.test(index)){
4842stopQueue(data[index]);
4843}
4844}
4845}
4846for(index=timers.length;index--;){
4847if(timers[index].elem===this&&
4848(type==null||timers[index].queue===type)){
4849timers[index].anim.stop(gotoEnd);
4850dequeue=false;
4851timers.splice(index,1);
4852}
4853}
4854if(dequeue||!gotoEnd){
4855jQuery.dequeue(this,type);
4856}
4857});
4858},
4859finish:function(type){
4860if(type!==false){
4861type=type||"fx";
4862}
4863return this.each(function(){
4864var index,
4865data=dataPriv.get(this),
4866queue=data[type+"queue"],
4867hooks=data[type+"queueHooks"],
4868timers=jQuery.timers,
4869length=queue?queue.length:0;
4870data.finish=true;
4871jQuery.queue(this,type,[]);
4872if(hooks&&hooks.stop){
4873hooks.stop.call(this,true);
4874}
4875for(index=timers.length;index--;){
4876if(timers[index].elem===this&&timers[index].queue===type){
4877timers[index].anim.stop(true);
4878timers.splice(index,1);
4879}
4880}
4881for(index=0;index<length;index++){
4882if(queue[index]&&queue[index].finish){
4883queue[index].finish.call(this);
4884}
4885}
4886delete data.finish;
4887});
4888}
4889});
4890jQuery.each(["toggle","show","hide"],function(_i,name){
4891var cssFn=jQuery.fn[name];
4892jQuery.fn[name]=function(speed,easing,callback){
4893return speed==null||typeof speed==="boolean"?
4894cssFn.apply(this,arguments):
4895this.animate(genFx(name,true),speed,easing,callback);
4896};
4897});
4898jQuery.each({
4899slideDown:genFx("show"),
4900slideUp:genFx("hide"),
4901slideToggle:genFx("toggle"),
4902fadeIn:{opacity:"show"},
4903fadeOut:{opacity:"hide"},
4904fadeToggle:{opacity:"toggle"}
4905},function(name,props){
4906jQuery.fn[name]=function(speed,easing,callback){
4907return this.animate(props,speed,easing,callback);
4908};
4909});
4910jQuery.timers=[];
4911jQuery.fx.tick=function(){
4912var timer,
4913i=0,
4914timers=jQuery.timers;
4915fxNow=Date.now();
4916for(;i<timers.length;i++){
4917timer=timers[i];
4918if(!timer()&&timers[i]===timer){
4919timers.splice(i--,1);
4920}
4921}
4922if(!timers.length){
4923jQuery.fx.stop();
4924}
4925fxNow=undefined;
4926};
4927jQuery.fx.timer=function(timer){
4928jQuery.timers.push(timer);
4929jQuery.fx.start();
4930};
4931jQuery.fx.interval=13;
4932jQuery.fx.start=function(){
4933if(inProgress){
4934return;
4935}
4936inProgress=true;
4937schedule();
4938};
4939jQuery.fx.stop=function(){
4940inProgress=null;
4941};
4942jQuery.fx.speeds={
4943slow:600,
4944fast:200,
4945_default:400
4946};
4947jQuery.fn.delay=function(time,type){
4948time=jQuery.fx?jQuery.fx.speeds[time]||time:time;
4949type=type||"fx";
4950return this.queue(type,function(next,hooks){
4951var timeout=window.setTimeout(next,time);
4952hooks.stop=function(){
4953window.clearTimeout(timeout);
4954};
4955});
4956};
4957(function(){
4958var input=document.createElement("input"),
4959select=document.createElement("select"),
4960opt=select.appendChild(document.createElement("option"));
4961input.type="checkbox";
4962support.checkOn=input.value!=="";
4963support.optSelected=opt.selected;
4964input=document.createElement("input");
4965input.value="t";
4966input.type="radio";
4967support.radioValue=input.value==="t";
4968})();
4969var boolHook,
4970attrHandle=jQuery.expr.attrHandle;
4971jQuery.fn.extend({
4972attr:function(name,value){
4973return access(this,jQuery.attr,name,value,arguments.length>1);
4974},
4975removeAttr:function(name){
4976return this.each(function(){
4977jQuery.removeAttr(this,name);
4978});
4979}
4980});
4981jQuery.extend({
4982attr:function(elem,name,value){
4983var ret,hooks,
4984nType=elem.nodeType;
4985if(nType===3||nType===8||nType===2){
4986return;
4987}
4988if(typeof elem.getAttribute==="undefined"){
4989return jQuery.prop(elem,name,value);
4990}
4991if(nType!==1||!jQuery.isXMLDoc(elem)){
4992hooks=jQuery.attrHooks[name.toLowerCase()]||
4993(jQuery.expr.match.bool.test(name)?boolHook:undefined);
4994}
4995if(value!==undefined){
4996if(value===null){
4997jQuery.removeAttr(elem,name);
4998return;
4999}
5000if(hooks&&"set"in hooks&&
5001(ret=hooks.set(elem,value,name))!==undefined){
5002return ret;
5003}
5004elem.setAttribute(name,value+"");
5005return value;
5006}
5007if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
5008return ret;
5009}
5010ret=jQuery.find.attr(elem,name);
5011return ret==null?undefined:ret;
5012},
5013attrHooks:{
5014type:{
5015set:function(elem,value){
5016if(!support.radioValue&&value==="radio"&&
5017nodeName(elem,"input")){
5018var val=elem.value;
5019elem.setAttribute("type",value);
5020if(val){
5021elem.value=val;
5022}
5023return value;
5024}
5025}
5026}
5027},
5028removeAttr:function(elem,value){
5029var name,
5030i=0,
5031attrNames=value&&value.match(rnothtmlwhite);
5032if(attrNames&&elem.nodeType===1){
5033while((name=attrNames[i++])){
5034elem.removeAttribute(name);
5035}
5036}
5037}
5038});
5039boolHook={
5040set:function(elem,value,name){
5041if(value===false){
5042jQuery.removeAttr(elem,name);
5043}else{
5044elem.setAttribute(name,name);
5045}
5046return name;
5047}
5048};
5049jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(_i,name){
5050var getter=attrHandle[name]||jQuery.find.attr;
5051attrHandle[name]=function(elem,name,isXML){
5052var ret,handle,
5053lowercaseName=name.toLowerCase();
5054if(!isXML){
5055handle=attrHandle[lowercaseName];
5056attrHandle[lowercaseName]=ret;
5057ret=getter(elem,name,isXML)!=null?
5058lowercaseName:
5059null;
5060attrHandle[lowercaseName]=handle;
5061}
5062return ret;
5063};
5064});
5065var rfocusable=/^(?:input|select|textarea|button)$/i,
5066rclickable=/^(?:a|area)$/i;
5067jQuery.fn.extend({
5068prop:function(name,value){
5069return access(this,jQuery.prop,name,value,arguments.length>1);
5070},
5071removeProp:function(name){
5072return this.each(function(){
5073delete this[jQuery.propFix[name]||name];
5074});
5075}
5076});
5077jQuery.extend({
5078prop:function(elem,name,value){
5079var ret,hooks,
5080nType=elem.nodeType;
5081if(nType===3||nType===8||nType===2){
5082return;
5083}
5084if(nType!==1||!jQuery.isXMLDoc(elem)){
5085name=jQuery.propFix[name]||name;
5086hooks=jQuery.propHooks[name];
5087}
5088if(value!==undefined){
5089if(hooks&&"set"in hooks&&
5090(ret=hooks.set(elem,value,name))!==undefined){
5091return ret;
5092}
5093return(elem[name]=value);
5094}
5095if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
5096return ret;
5097}
5098return elem[name];
5099},
5100propHooks:{
5101tabIndex:{
5102get:function(elem){
5103var tabindex=jQuery.find.attr(elem,"tabindex");
5104if(tabindex){
5105return parseInt(tabindex,10);
5106}
5107if(
5108rfocusable.test(elem.nodeName)||
5109rclickable.test(elem.nodeName)&&
5110elem.href
5111){
5112return 0;
5113}
5114return-1;
5115}
5116}
5117},
5118propFix:{
5119"for":"htmlFor",
5120"class":"className"
5121}
5122});
5123if(!support.optSelected){
5124jQuery.propHooks.selected={
5125get:function(elem){
5126var parent=elem.parentNode;
5127if(parent&&parent.parentNode){
5128parent.parentNode.selectedIndex;
5129}
5130return null;
5131},
5132set:function(elem){
5133var parent=elem.parentNode;
5134if(parent){
5135parent.selectedIndex;
5136if(parent.parentNode){
5137parent.parentNode.selectedIndex;
5138}
5139}
5140}
5141};
5142}
5143jQuery.each([
5144"tabIndex",
5145"readOnly",
5146"maxLength",
5147"cellSpacing",
5148"cellPadding",
5149"rowSpan",
5150"colSpan",
5151"useMap",
5152"frameBorder",
5153"contentEditable"
5154],function(){
5155jQuery.propFix[this.toLowerCase()]=this;
5156});
5157function stripAndCollapse(value){
5158var tokens=value.match(rnothtmlwhite)||[];
5159return tokens.join(" ");
5160}
5161function getClass(elem){
5162return elem.getAttribute&&elem.getAttribute("class")||"";
5163}
5164function classesToArray(value){
5165if(Array.isArray(value)){
5166return value;
5167}
5168if(typeof value==="string"){
5169return value.match(rnothtmlwhite)||[];
5170}
5171return[];
5172}
5173jQuery.fn.extend({
5174addClass:function(value){
5175var classNames,cur,curValue,className,i,finalValue;
5176if(isFunction(value)){
5177return this.each(function(j){
5178jQuery(this).addClass(value.call(this,j,getClass(this)));
5179});
5180}
5181classNames=classesToArray(value);
5182if(classNames.length){
5183return this.each(function(){
5184curValue=getClass(this);
5185cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
5186if(cur){
5187for(i=0;i<classNames.length;i++){
5188className=classNames[i];
5189if(cur.indexOf(" "+className+" ")<0){
5190cur+=className+" ";
5191}
5192}
5193finalValue=stripAndCollapse(cur);
5194if(curValue!==finalValue){
5195this.setAttribute("class",finalValue);
5196}
5197}
5198});
5199}
5200return this;
5201},
5202removeClass:function(value){
5203var classNames,cur,curValue,className,i,finalValue;
5204if(isFunction(value)){
5205return this.each(function(j){
5206jQuery(this).removeClass(value.call(this,j,getClass(this)));
5207});
5208}
5209if(!arguments.length){
5210return this.attr("class","");
5211}
5212classNames=classesToArray(value);
5213if(classNames.length){
5214return this.each(function(){
5215curValue=getClass(this);
5216cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
5217if(cur){
5218for(i=0;i<classNames.length;i++){
5219className=classNames[i];
5220while(cur.indexOf(" "+className+" ")>-1){
5221cur=cur.replace(" "+className+" "," ");
5222}
5223}
5224finalValue=stripAndCollapse(cur);
5225if(curValue!==finalValue){
5226this.setAttribute("class",finalValue);
5227}
5228}
5229});
5230}
5231return this;
5232},
5233toggleClass:function(value,stateVal){
5234var classNames,className,i,self,
5235type=typeof value,
5236isValidValue=type==="string"||Array.isArray(value);
5237if(isFunction(value)){
5238return this.each(function(i){
5239jQuery(this).toggleClass(
5240value.call(this,i,getClass(this),stateVal),
5241stateVal
5242);
5243});
5244}
5245if(typeof stateVal==="boolean"&&isValidValue){
5246return stateVal?this.addClass(value):this.removeClass(value);
5247}
5248classNames=classesToArray(value);
5249return this.each(function(){
5250if(isValidValue){
5251self=jQuery(this);
5252for(i=0;i<classNames.length;i++){
5253className=classNames[i];
5254if(self.hasClass(className)){
5255self.removeClass(className);
5256}else{
5257self.addClass(className);
5258}
5259}
5260}else if(value===undefined||type==="boolean"){
5261className=getClass(this);
5262if(className){
5263dataPriv.set(this,"__className__",className);
5264}
5265if(this.setAttribute){
5266this.setAttribute("class",
5267className||value===false?
5268"":
5269dataPriv.get(this,"__className__")||""
5270);
5271}
5272}
5273});
5274},
5275hasClass:function(selector){
5276var className,elem,
5277i=0;
5278className=" "+selector+" ";
5279while((elem=this[i++])){
5280if(elem.nodeType===1&&
5281(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){
5282return true;
5283}
5284}
5285return false;
5286}
5287});
5288var rreturn=/\r/g;
5289jQuery.fn.extend({
5290val:function(value){
5291var hooks,ret,valueIsFunction,
5292elem=this[0];
5293if(!arguments.length){
5294if(elem){
5295hooks=jQuery.valHooks[elem.type]||
5296jQuery.valHooks[elem.nodeName.toLowerCase()];
5297if(hooks&&
5298"get"in hooks&&
5299(ret=hooks.get(elem,"value"))!==undefined
5300){
5301return ret;
5302}
5303ret=elem.value;
5304if(typeof ret==="string"){
5305return ret.replace(rreturn,"");
5306}
5307return ret==null?"":ret;
5308}
5309return;
5310}
5311valueIsFunction=isFunction(value);
5312return this.each(function(i){
5313var val;
5314if(this.nodeType!==1){
5315return;
5316}
5317if(valueIsFunction){
5318val=value.call(this,i,jQuery(this).val());
5319}else{
5320val=value;
5321}
5322if(val==null){
5323val="";
5324}else if(typeof val==="number"){
5325val+="";
5326}else if(Array.isArray(val)){
5327val=jQuery.map(val,function(value){
5328return value==null?"":value+"";
5329});
5330}
5331hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];
5332if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){
5333this.value=val;
5334}
5335});
5336}
5337});
5338jQuery.extend({
5339valHooks:{
5340option:{
5341get:function(elem){
5342var val=jQuery.find.attr(elem,"value");
5343return val!=null?
5344val:
5345stripAndCollapse(jQuery.text(elem));
5346}
5347},
5348select:{
5349get:function(elem){
5350var value,option,i,
5351options=elem.options,
5352index=elem.selectedIndex,
5353one=elem.type==="select-one",
5354values=one?null:[],
5355max=one?index+1:options.length;
5356if(index<0){
5357i=max;
5358}else{
5359i=one?index:0;
5360}
5361for(;i<max;i++){
5362option=options[i];
5363if((option.selected||i===index)&&
5364!option.disabled&&
5365(!option.parentNode.disabled||
5366!nodeName(option.parentNode,"optgroup"))){
5367value=jQuery(option).val();
5368if(one){
5369return value;
5370}
5371values.push(value);
5372}
5373}
5374return values;
5375},
5376set:function(elem,value){
5377var optionSet,option,
5378options=elem.options,
5379values=jQuery.makeArray(value),
5380i=options.length;
5381while(i--){
5382option=options[i];
5383if(option.selected=
5384jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1
5385){
5386optionSet=true;
5387}
5388}
5389if(!optionSet){
5390elem.selectedIndex=-1;
5391}
5392return values;
5393}
5394}
5395}
5396});
5397jQuery.each(["radio","checkbox"],function(){
5398jQuery.valHooks[this]={
5399set:function(elem,value){
5400if(Array.isArray(value)){
5401return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1);
5402}
5403}
5404};
5405if(!support.checkOn){
5406jQuery.valHooks[this].get=function(elem){
5407return elem.getAttribute("value")===null?"on":elem.value;
5408};
5409}
5410});
5411var location=window.location;
5412var nonce={guid:Date.now()};
5413var rquery=(/\?/);
5414jQuery.parseXML=function(data){
5415var xml,parserErrorElem;
5416if(!data||typeof data!=="string"){
5417return null;
5418}
5419try{
5420xml=(new window.DOMParser()).parseFromString(data,"text/xml");
5421}catch(e){}
5422parserErrorElem=xml&&xml.getElementsByTagName("parsererror")[0];
5423if(!xml||parserErrorElem){
5424jQuery.error("Invalid XML: "+(
5425parserErrorElem?
5426jQuery.map(parserErrorElem.childNodes,function(el){
5427return el.textContent;
5428}).join("\n"):
5429data
5430));
5431}
5432return xml;
5433};
5434var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,
5435stopPropagationCallback=function(e){
5436e.stopPropagation();
5437};
5438jQuery.extend(jQuery.event,{
5439trigger:function(event,data,elem,onlyHandlers){
5440var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,
5441eventPath=[elem||document],
5442type=hasOwn.call(event,"type")?event.type:event,
5443namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];
5444cur=lastElement=tmp=elem=elem||document;
5445if(elem.nodeType===3||elem.nodeType===8){
5446return;
5447}
5448if(rfocusMorph.test(type+jQuery.event.triggered)){
5449return;
5450}
5451if(type.indexOf(".")>-1){
5452namespaces=type.split(".");
5453type=namespaces.shift();
5454namespaces.sort();
5455}
5456ontype=type.indexOf(":")<0&&"on"+type;
5457event=event[jQuery.expando]?
5458event:
5459new jQuery.Event(type,typeof event==="object"&&event);
5460event.isTrigger=onlyHandlers?2:3;
5461event.namespace=namespaces.join(".");
5462event.rnamespace=event.namespace?
5463new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):
5464null;
5465event.result=undefined;
5466if(!event.target){
5467event.target=elem;
5468}
5469data=data==null?
5470[event]:
5471jQuery.makeArray(data,[event]);
5472special=jQuery.event.special[type]||{};
5473if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){
5474return;
5475}
5476if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){
5477bubbleType=special.delegateType||type;
5478if(!rfocusMorph.test(bubbleType+type)){
5479cur=cur.parentNode;
5480}
5481for(;cur;cur=cur.parentNode){
5482eventPath.push(cur);
5483tmp=cur;
5484}
5485if(tmp===(elem.ownerDocument||document)){
5486eventPath.push(tmp.defaultView||tmp.parentWindow||window);
5487}
5488}
5489i=0;
5490while((cur=eventPath[i++])&&!event.isPropagationStopped()){
5491lastElement=cur;
5492event.type=i>1?
5493bubbleType:
5494special.bindType||type;
5495handle=(dataPriv.get(cur,"events")||Object.create(null))[event.type]&&
5496dataPriv.get(cur,"handle");
5497if(handle){
5498handle.apply(cur,data);
5499}
5500handle=ontype&&cur[ontype];
5501if(handle&&handle.apply&&acceptData(cur)){
5502event.result=handle.apply(cur,data);
5503if(event.result===false){
5504event.preventDefault();
5505}
5506}
5507}
5508event.type=type;
5509if(!onlyHandlers&&!event.isDefaultPrevented()){
5510if((!special._default||
5511special._default.apply(eventPath.pop(),data)===false)&&
5512acceptData(elem)){
5513if(ontype&&isFunction(elem[type])&&!isWindow(elem)){
5514tmp=elem[ontype];
5515if(tmp){
5516elem[ontype]=null;
5517}
5518jQuery.event.triggered=type;
5519if(event.isPropagationStopped()){
5520lastElement.addEventListener(type,stopPropagationCallback);
5521}
5522elem[type]();
5523if(event.isPropagationStopped()){
5524lastElement.removeEventListener(type,stopPropagationCallback);
5525}
5526jQuery.event.triggered=undefined;
5527if(tmp){
5528elem[ontype]=tmp;
5529}
5530}
5531}
5532}
5533return event.result;
5534},
5535simulate:function(type,elem,event){
5536var e=jQuery.extend(
5537new jQuery.Event(),
5538event,
5539{
5540type:type,
5541isSimulated:true
5542}
5543);
5544jQuery.event.trigger(e,null,elem);
5545}
5546});
5547jQuery.fn.extend({
5548trigger:function(type,data){
5549return this.each(function(){
5550jQuery.event.trigger(type,data,this);
5551});
5552},
5553triggerHandler:function(type,data){
5554var elem=this[0];
5555if(elem){
5556return jQuery.event.trigger(type,data,elem,true);
5557}
5558}
5559});
5560var
5561rbracket=/\[\]$/,
5562rCRLF=/\r?\n/g,
5563rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,
5564rsubmittable=/^(?:input|select|textarea|keygen)/i;
5565function buildParams(prefix,obj,traditional,add){
5566var name;
5567if(Array.isArray(obj)){
5568jQuery.each(obj,function(i,v){
5569if(traditional||rbracket.test(prefix)){
5570add(prefix,v);
5571}else{
5572buildParams(
5573prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",
5574v,
5575traditional,
5576add
5577);
5578}
5579});
5580}else if(!traditional&&toType(obj)==="object"){
5581for(name in obj){
5582buildParams(prefix+"["+name+"]",obj[name],traditional,add);
5583}
5584}else{
5585add(prefix,obj);
5586}
5587}
5588jQuery.param=function(a,traditional){
5589var prefix,
5590s=[],
5591add=function(key,valueOrFunction){
5592var value=isFunction(valueOrFunction)?
5593valueOrFunction():
5594valueOrFunction;
5595s[s.length]=encodeURIComponent(key)+"="+
5596encodeURIComponent(value==null?"":value);
5597};
5598if(a==null){
5599return"";
5600}
5601if(Array.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){
5602jQuery.each(a,function(){
5603add(this.name,this.value);
5604});
5605}else{
5606for(prefix in a){
5607buildParams(prefix,a[prefix],traditional,add);
5608}
5609}
5610return s.join("&");
5611};
5612jQuery.fn.extend({
5613serialize:function(){
5614return jQuery.param(this.serializeArray());
5615},
5616serializeArray:function(){
5617return this.map(function(){
5618var elements=jQuery.prop(this,"elements");
5619return elements?jQuery.makeArray(elements):this;
5620}).filter(function(){
5621var type=this.type;
5622return this.name&&!jQuery(this).is(":disabled")&&
5623rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&
5624(this.checked||!rcheckableType.test(type));
5625}).map(function(_i,elem){
5626var val=jQuery(this).val();
5627if(val==null){
5628return null;
5629}
5630if(Array.isArray(val)){
5631return jQuery.map(val,function(val){
5632return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
5633});
5634}
5635return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
5636}).get();
5637}
5638});
5639var
5640r20=/%20/g,
5641rhash=/#.*$/,
5642rantiCache=/([?&])_=[^&]*/,
5643rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,
5644rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
5645rnoContent=/^(?:GET|HEAD)$/,
5646rprotocol=/^\/\//,
5647prefilters={},
5648transports={},
5649allTypes="*/".concat("*"),
5650originAnchor=document.createElement("a");
5651originAnchor.href=location.href;
5652function addToPrefiltersOrTransports(structure){
5653return function(dataTypeExpression,func){
5654if(typeof dataTypeExpression!=="string"){
5655func=dataTypeExpression;
5656dataTypeExpression="*";
5657}
5658var dataType,
5659i=0,
5660dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];
5661if(isFunction(func)){
5662while((dataType=dataTypes[i++])){
5663if(dataType[0]==="+"){
5664dataType=dataType.slice(1)||"*";
5665(structure[dataType]=structure[dataType]||[]).unshift(func);
5666}else{
5667(structure[dataType]=structure[dataType]||[]).push(func);
5668}
5669}
5670}
5671};
5672}
5673function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){
5674var inspected={},
5675seekingTransport=(structure===transports);
5676function inspect(dataType){
5677var selected;
5678inspected[dataType]=true;
5679jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){
5680var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);
5681if(typeof dataTypeOrTransport==="string"&&
5682!seekingTransport&&!inspected[dataTypeOrTransport]){
5683options.dataTypes.unshift(dataTypeOrTransport);
5684inspect(dataTypeOrTransport);
5685return false;
5686}else if(seekingTransport){
5687return!(selected=dataTypeOrTransport);
5688}
5689});
5690return selected;
5691}
5692return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");
5693}
5694function ajaxExtend(target,src){
5695var key,deep,
5696flatOptions=jQuery.ajaxSettings.flatOptions||{};
5697for(key in src){
5698if(src[key]!==undefined){
5699(flatOptions[key]?target:(deep||(deep={})))[key]=src[key];
5700}
5701}
5702if(deep){
5703jQuery.extend(true,target,deep);
5704}
5705return target;
5706}
5707function ajaxHandleResponses(s,jqXHR,responses){
5708var ct,type,finalDataType,firstDataType,
5709contents=s.contents,
5710dataTypes=s.dataTypes;
5711while(dataTypes[0]==="*"){
5712dataTypes.shift();
5713if(ct===undefined){
5714ct=s.mimeType||jqXHR.getResponseHeader("Content-Type");
5715}
5716}
5717if(ct){
5718for(type in contents){
5719if(contents[type]&&contents[type].test(ct)){
5720dataTypes.unshift(type);
5721break;
5722}
5723}
5724}
5725if(dataTypes[0]in responses){
5726finalDataType=dataTypes[0];
5727}else{
5728for(type in responses){
5729if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){
5730finalDataType=type;
5731break;
5732}
5733if(!firstDataType){
5734firstDataType=type;
5735}
5736}
5737finalDataType=finalDataType||firstDataType;
5738}
5739if(finalDataType){
5740if(finalDataType!==dataTypes[0]){
5741dataTypes.unshift(finalDataType);
5742}
5743return responses[finalDataType];
5744}
5745}
5746function ajaxConvert(s,response,jqXHR,isSuccess){
5747var conv2,current,conv,tmp,prev,
5748converters={},
5749dataTypes=s.dataTypes.slice();
5750if(dataTypes[1]){
5751for(conv in s.converters){
5752converters[conv.toLowerCase()]=s.converters[conv];
5753}
5754}
5755current=dataTypes.shift();
5756while(current){
5757if(s.responseFields[current]){
5758jqXHR[s.responseFields[current]]=response;
5759}
5760if(!prev&&isSuccess&&s.dataFilter){
5761response=s.dataFilter(response,s.dataType);
5762}
5763prev=current;
5764current=dataTypes.shift();
5765if(current){
5766if(current==="*"){
5767current=prev;
5768}else if(prev!=="*"&&prev!==current){
5769conv=converters[prev+" "+current]||converters["* "+current];
5770if(!conv){
5771for(conv2 in converters){
5772tmp=conv2.split(" ");
5773if(tmp[1]===current){
5774conv=converters[prev+" "+tmp[0]]||
5775converters["* "+tmp[0]];
5776if(conv){
5777if(conv===true){
5778conv=converters[conv2];
5779}else if(converters[conv2]!==true){
5780current=tmp[0];
5781dataTypes.unshift(tmp[1]);
5782}
5783break;
5784}
5785}
5786}
5787}
5788if(conv!==true){
5789if(conv&&s.throws){
5790response=conv(response);
5791}else{
5792try{
5793response=conv(response);
5794}catch(e){
5795return{
5796state:"parsererror",
5797error:conv?e:"No conversion from "+prev+" to "+current
5798};
5799}
5800}
5801}
5802}
5803}
5804}
5805return{state:"success",data:response};
5806}
5807jQuery.extend({
5808active:0,
5809lastModified:{},
5810etag:{},
5811ajaxSettings:{
5812url:location.href,
5813type:"GET",
5814isLocal:rlocalProtocol.test(location.protocol),
5815global:true,
5816processData:true,
5817async:true,
5818contentType:"application/x-www-form-urlencoded; charset=UTF-8",
5819accepts:{
5820"*":allTypes,
5821text:"text/plain",
5822html:"text/html",
5823xml:"application/xml, text/xml",
5824json:"application/json, text/javascript"
5825},
5826contents:{
5827xml:/\bxml\b/,
5828html:/\bhtml/,
5829json:/\bjson\b/
5830},
5831responseFields:{
5832xml:"responseXML",
5833text:"responseText",
5834json:"responseJSON"
5835},
5836converters:{
5837"* text":String,
5838"text html":true,
5839"text json":JSON.parse,
5840"text xml":jQuery.parseXML
5841},
5842flatOptions:{
5843url:true,
5844context:true
5845}
5846},
5847ajaxSetup:function(target,settings){
5848return settings?
5849ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):
5850ajaxExtend(jQuery.ajaxSettings,target);
5851},
5852ajaxPrefilter:addToPrefiltersOrTransports(prefilters),
5853ajaxTransport:addToPrefiltersOrTransports(transports),
5854ajax:function(url,options){
5855if(typeof url==="object"){
5856options=url;
5857url=undefined;
5858}
5859options=options||{};
5860var transport,
5861cacheURL,
5862responseHeadersString,
5863responseHeaders,
5864timeoutTimer,
5865urlAnchor,
5866completed,
5867fireGlobals,
5868i,
5869uncached,
5870s=jQuery.ajaxSetup({},options),
5871callbackContext=s.context||s,
5872globalEventContext=s.context&&
5873(callbackContext.nodeType||callbackContext.jquery)?
5874jQuery(callbackContext):
5875jQuery.event,
5876deferred=jQuery.Deferred(),
5877completeDeferred=jQuery.Callbacks("once memory"),
5878statusCode=s.statusCode||{},
5879requestHeaders={},
5880requestHeadersNames={},
5881strAbort="canceled",
5882jqXHR={
5883readyState:0,
5884getResponseHeader:function(key){
5885var match;
5886if(completed){
5887if(!responseHeaders){
5888responseHeaders={};
5889while((match=rheaders.exec(responseHeadersString))){
5890responseHeaders[match[1].toLowerCase()+" "]=
5891(responseHeaders[match[1].toLowerCase()+" "]||[])
5892.concat(match[2]);
5893}
5894}
5895match=responseHeaders[key.toLowerCase()+" "];
5896}
5897return match==null?null:match.join(", ");
5898},
5899getAllResponseHeaders:function(){
5900return completed?responseHeadersString:null;
5901},
5902setRequestHeader:function(name,value){
5903if(completed==null){
5904name=requestHeadersNames[name.toLowerCase()]=
5905requestHeadersNames[name.toLowerCase()]||name;
5906requestHeaders[name]=value;
5907}
5908return this;
5909},
5910overrideMimeType:function(type){
5911if(completed==null){
5912s.mimeType=type;
5913}
5914return this;
5915},
5916statusCode:function(map){
5917var code;
5918if(map){
5919if(completed){
5920jqXHR.always(map[jqXHR.status]);
5921}else{
5922for(code in map){
5923statusCode[code]=[statusCode[code],map[code]];
5924}
5925}
5926}
5927return this;
5928},
5929abort:function(statusText){
5930var finalText=statusText||strAbort;
5931if(transport){
5932transport.abort(finalText);
5933}
5934done(0,finalText);
5935return this;
5936}
5937};
5938deferred.promise(jqXHR);
5939s.url=((url||s.url||location.href)+"")
5940.replace(rprotocol,location.protocol+"//");
5941s.type=options.method||options.type||s.method||s.type;
5942s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""];
5943if(s.crossDomain==null){
5944urlAnchor=document.createElement("a");
5945try{
5946urlAnchor.href=s.url;
5947urlAnchor.href=urlAnchor.href;
5948s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==
5949urlAnchor.protocol+"//"+urlAnchor.host;
5950}catch(e){
5951s.crossDomain=true;
5952}
5953}
5954if(s.data&&s.processData&&typeof s.data!=="string"){
5955s.data=jQuery.param(s.data,s.traditional);
5956}
5957inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);
5958if(completed){
5959return jqXHR;
5960}
5961fireGlobals=jQuery.event&&s.global;
5962if(fireGlobals&&jQuery.active++===0){
5963jQuery.event.trigger("ajaxStart");
5964}
5965s.type=s.type.toUpperCase();
5966s.hasContent=!rnoContent.test(s.type);
5967cacheURL=s.url.replace(rhash,"");
5968if(!s.hasContent){
5969uncached=s.url.slice(cacheURL.length);
5970if(s.data&&(s.processData||typeof s.data==="string")){
5971cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data;
5972delete s.data;
5973}
5974if(s.cache===false){
5975cacheURL=cacheURL.replace(rantiCache,"$1");
5976uncached=(rquery.test(cacheURL)?"&":"?")+"_="+(nonce.guid++)+
5977uncached;
5978}
5979s.url=cacheURL+uncached;
5980}else if(s.data&&s.processData&&
5981(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){
5982s.data=s.data.replace(r20,"+");
5983}
5984if(s.ifModified){
5985if(jQuery.lastModified[cacheURL]){
5986jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);
5987}
5988if(jQuery.etag[cacheURL]){
5989jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);
5990}
5991}
5992if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){
5993jqXHR.setRequestHeader("Content-Type",s.contentType);
5994}
5995jqXHR.setRequestHeader(
5996"Accept",
5997s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?
5998s.accepts[s.dataTypes[0]]+
5999(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):
6000s.accepts["*"]
6001);
6002for(i in s.headers){
6003jqXHR.setRequestHeader(i,s.headers[i]);
6004}
6005if(s.beforeSend&&
6006(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){
6007return jqXHR.abort();
6008}
6009strAbort="abort";
6010completeDeferred.add(s.complete);
6011jqXHR.done(s.success);
6012jqXHR.fail(s.error);
6013transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);
6014if(!transport){
6015done(-1,"No Transport");
6016}else{
6017jqXHR.readyState=1;
6018if(fireGlobals){
6019globalEventContext.trigger("ajaxSend",[jqXHR,s]);
6020}
6021if(completed){
6022return jqXHR;
6023}
6024if(s.async&&s.timeout>0){
6025timeoutTimer=window.setTimeout(function(){
6026jqXHR.abort("timeout");
6027},s.timeout);
6028}
6029try{
6030completed=false;
6031transport.send(requestHeaders,done);
6032}catch(e){
6033if(completed){
6034throw e;
6035}
6036done(-1,e);
6037}
6038}
6039function done(status,nativeStatusText,responses,headers){
6040var isSuccess,success,error,response,modified,
6041statusText=nativeStatusText;
6042if(completed){
6043return;
6044}
6045completed=true;
6046if(timeoutTimer){
6047window.clearTimeout(timeoutTimer);
6048}
6049transport=undefined;
6050responseHeadersString=headers||"";
6051jqXHR.readyState=status>0?4:0;
6052isSuccess=status>=200&&status<300||status===304;
6053if(responses){
6054response=ajaxHandleResponses(s,jqXHR,responses);
6055}
6056if(!isSuccess&&
6057jQuery.inArray("script",s.dataTypes)>-1&&
6058jQuery.inArray("json",s.dataTypes)<0){
6059s.converters["text script"]=function(){};
6060}
6061response=ajaxConvert(s,response,jqXHR,isSuccess);
6062if(isSuccess){
6063if(s.ifModified){
6064modified=jqXHR.getResponseHeader("Last-Modified");
6065if(modified){
6066jQuery.lastModified[cacheURL]=modified;
6067}
6068modified=jqXHR.getResponseHeader("etag");
6069if(modified){
6070jQuery.etag[cacheURL]=modified;
6071}
6072}
6073if(status===204||s.type==="HEAD"){
6074statusText="nocontent";
6075}else if(status===304){
6076statusText="notmodified";
6077}else{
6078statusText=response.state;
6079success=response.data;
6080error=response.error;
6081isSuccess=!error;
6082}
6083}else{
6084error=statusText;
6085if(status||!statusText){
6086statusText="error";
6087if(status<0){
6088status=0;
6089}
6090}
6091}
6092jqXHR.status=status;
6093jqXHR.statusText=(nativeStatusText||statusText)+"";
6094if(isSuccess){
6095deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);
6096}else{
6097deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);
6098}
6099jqXHR.statusCode(statusCode);
6100statusCode=undefined;
6101if(fireGlobals){
6102globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",
6103[jqXHR,s,isSuccess?success:error]);
6104}
6105completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);
6106if(fireGlobals){
6107globalEventContext.trigger("ajaxComplete",[jqXHR,s]);
6108if(!(--jQuery.active)){
6109jQuery.event.trigger("ajaxStop");
6110}
6111}
6112}
6113return jqXHR;
6114},
6115getJSON:function(url,data,callback){
6116return jQuery.get(url,data,callback,"json");
6117},
6118getScript:function(url,callback){
6119return jQuery.get(url,undefined,callback,"script");
6120}
6121});
6122jQuery.each(["get","post"],function(_i,method){
6123jQuery[method]=function(url,data,callback,type){
6124if(isFunction(data)){
6125type=type||callback;
6126callback=data;
6127data=undefined;
6128}
6129return jQuery.ajax(jQuery.extend({
6130url:url,
6131type:method,
6132dataType:type,
6133data:data,
6134success:callback
6135},jQuery.isPlainObject(url)&&url));
6136};
6137});
6138jQuery.ajaxPrefilter(function(s){
6139var i;
6140for(i in s.headers){
6141if(i.toLowerCase()==="content-type"){
6142s.contentType=s.headers[i]||"";
6143}
6144}
6145});
6146jQuery._evalUrl=function(url,options,doc){
6147return jQuery.ajax({
6148url:url,
6149type:"GET",
6150dataType:"script",
6151cache:true,
6152async:false,
6153global:false,
6154converters:{
6155"text script":function(){}
6156},
6157dataFilter:function(response){
6158jQuery.globalEval(response,options,doc);
6159}
6160});
6161};
6162jQuery.fn.extend({
6163wrapAll:function(html){
6164var wrap;
6165if(this[0]){
6166if(isFunction(html)){
6167html=html.call(this[0]);
6168}
6169wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);
6170if(this[0].parentNode){
6171wrap.insertBefore(this[0]);
6172}
6173wrap.map(function(){
6174var elem=this;
6175while(elem.firstElementChild){
6176elem=elem.firstElementChild;
6177}
6178return elem;
6179}).append(this);
6180}
6181return this;
6182},
6183wrapInner:function(html){
6184if(isFunction(html)){
6185return this.each(function(i){
6186jQuery(this).wrapInner(html.call(this,i));
6187});
6188}
6189return this.each(function(){
6190var self=jQuery(this),
6191contents=self.contents();
6192if(contents.length){
6193contents.wrapAll(html);
6194}else{
6195self.append(html);
6196}
6197});
6198},
6199wrap:function(html){
6200var htmlIsFunction=isFunction(html);
6201return this.each(function(i){
6202jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html);
6203});
6204},
6205unwrap:function(selector){
6206this.parent(selector).not("body").each(function(){
6207jQuery(this).replaceWith(this.childNodes);
6208});
6209return this;
6210}
6211});
6212jQuery.expr.pseudos.hidden=function(elem){
6213return!jQuery.expr.pseudos.visible(elem);
6214};
6215jQuery.expr.pseudos.visible=function(elem){
6216return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);
6217};
6218jQuery.ajaxSettings.xhr=function(){
6219try{
6220return new window.XMLHttpRequest();
6221}catch(e){}
6222};
6223var xhrSuccessStatus={
62240:200,
62251223:204
6226},
6227xhrSupported=jQuery.ajaxSettings.xhr();
6228support.cors=!!xhrSupported&&("withCredentials"in xhrSupported);
6229support.ajax=xhrSupported=!!xhrSupported;
6230jQuery.ajaxTransport(function(options){
6231var callback,errorCallback;
6232if(support.cors||xhrSupported&&!options.crossDomain){
6233return{
6234send:function(headers,complete){
6235var i,
6236xhr=options.xhr();
6237xhr.open(
6238options.type,
6239options.url,
6240options.async,
6241options.username,
6242options.password
6243);
6244if(options.xhrFields){
6245for(i in options.xhrFields){
6246xhr[i]=options.xhrFields[i];
6247}
6248}
6249if(options.mimeType&&xhr.overrideMimeType){
6250xhr.overrideMimeType(options.mimeType);
6251}
6252if(!options.crossDomain&&!headers["X-Requested-With"]){
6253headers["X-Requested-With"]="XMLHttpRequest";
6254}
6255for(i in headers){
6256xhr.setRequestHeader(i,headers[i]);
6257}
6258callback=function(type){
6259return function(){
6260if(callback){
6261callback=errorCallback=xhr.onload=
6262xhr.onerror=xhr.onabort=xhr.ontimeout=
6263xhr.onreadystatechange=null;
6264if(type==="abort"){
6265xhr.abort();
6266}else if(type==="error"){
6267if(typeof xhr.status!=="number"){
6268complete(0,"error");
6269}else{
6270complete(
6271xhr.status,
6272xhr.statusText
6273);
6274}
6275}else{
6276complete(
6277xhrSuccessStatus[xhr.status]||xhr.status,
6278xhr.statusText,
6279(xhr.responseType||"text")!=="text"||
6280typeof xhr.responseText!=="string"?
6281{binary:xhr.response}:
6282{text:xhr.responseText},
6283xhr.getAllResponseHeaders()
6284);
6285}
6286}
6287};
6288};
6289xhr.onload=callback();
6290errorCallback=xhr.onerror=xhr.ontimeout=callback("error");
6291if(xhr.onabort!==undefined){
6292xhr.onabort=errorCallback;
6293}else{
6294xhr.onreadystatechange=function(){
6295if(xhr.readyState===4){
6296window.setTimeout(function(){
6297if(callback){
6298errorCallback();
6299}
6300});
6301}
6302};
6303}
6304callback=callback("abort");
6305try{
6306xhr.send(options.hasContent&&options.data||null);
6307}catch(e){
6308if(callback){
6309throw e;
6310}
6311}
6312},
6313abort:function(){
6314if(callback){
6315callback();
6316}
6317}
6318};
6319}
6320});
6321jQuery.ajaxPrefilter(function(s){
6322if(s.crossDomain){
6323s.contents.script=false;
6324}
6325});
6326jQuery.ajaxSetup({
6327accepts:{
6328script:"text/javascript, application/javascript, "+
6329"application/ecmascript, application/x-ecmascript"
6330},
6331contents:{
6332script:/\b(?:java|ecma)script\b/
6333},
6334converters:{
6335"text script":function(text){
6336jQuery.globalEval(text);
6337return text;
6338}
6339}
6340});
6341jQuery.ajaxPrefilter("script",function(s){
6342if(s.cache===undefined){
6343s.cache=false;
6344}
6345if(s.crossDomain){
6346s.type="GET";
6347}
6348});
6349jQuery.ajaxTransport("script",function(s){
6350if(s.crossDomain||s.scriptAttrs){
6351var script,callback;
6352return{
6353send:function(_,complete){
6354script=jQuery("<script>")
6355.attr(s.scriptAttrs||{})
6356.prop({charset:s.scriptCharset,src:s.url})
6357.on("load error",callback=function(evt){
6358script.remove();
6359callback=null;
6360if(evt){
6361complete(evt.type==="error"?404:200,evt.type);
6362}
6363});
6364document.head.appendChild(script[0]);
6365},
6366abort:function(){
6367if(callback){
6368callback();
6369}
6370}
6371};
6372}
6373});
6374var oldCallbacks=[],
6375rjsonp=/(=)\?(?=&|$)|\?\?/;
6376jQuery.ajaxSetup({
6377jsonp:"callback",
6378jsonpCallback:function(){
6379var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce.guid++));
6380this[callback]=true;
6381return callback;
6382}
6383});
6384jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){
6385var callbackName,overwritten,responseContainer,
6386jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?
6387"url":
6388typeof s.data==="string"&&
6389(s.contentType||"")
6390.indexOf("application/x-www-form-urlencoded")===0&&
6391rjsonp.test(s.data)&&"data"
6392);
6393if(jsonProp||s.dataTypes[0]==="jsonp"){
6394callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?
6395s.jsonpCallback():
6396s.jsonpCallback;
6397if(jsonProp){
6398s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName);
6399}else if(s.jsonp!==false){
6400s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;
6401}
6402s.converters["script json"]=function(){
6403if(!responseContainer){
6404jQuery.error(callbackName+" was not called");
6405}
6406return responseContainer[0];
6407};
6408s.dataTypes[0]="json";
6409overwritten=window[callbackName];
6410window[callbackName]=function(){
6411responseContainer=arguments;
6412};
6413jqXHR.always(function(){
6414if(overwritten===undefined){
6415jQuery(window).removeProp(callbackName);
6416}else{
6417window[callbackName]=overwritten;
6418}
6419if(s[callbackName]){
6420s.jsonpCallback=originalSettings.jsonpCallback;
6421oldCallbacks.push(callbackName);
6422}
6423if(responseContainer&&isFunction(overwritten)){
6424overwritten(responseContainer[0]);
6425}
6426responseContainer=overwritten=undefined;
6427});
6428return"script";
6429}
6430});
6431support.createHTMLDocument=(function(){
6432var body=document.implementation.createHTMLDocument("").body;
6433body.innerHTML="<form></form><form></form>";
6434return body.childNodes.length===2;
6435})();
6436jQuery.parseHTML=function(data,context,keepScripts){
6437if(typeof data!=="string"){
6438return[];
6439}
6440if(typeof context==="boolean"){
6441keepScripts=context;
6442context=false;
6443}
6444var base,parsed,scripts;
6445if(!context){
6446if(support.createHTMLDocument){
6447context=document.implementation.createHTMLDocument("");
6448base=context.createElement("base");
6449base.href=document.location.href;
6450context.head.appendChild(base);
6451}else{
6452context=document;
6453}
6454}
6455parsed=rsingleTag.exec(data);
6456scripts=!keepScripts&&[];
6457if(parsed){
6458return[context.createElement(parsed[1])];
6459}
6460parsed=buildFragment([data],context,scripts);
6461if(scripts&&scripts.length){
6462jQuery(scripts).remove();
6463}
6464return jQuery.merge([],parsed.childNodes);
6465};
6466jQuery.fn.load=function(url,params,callback){
6467var selector,type,response,
6468self=this,
6469off=url.indexOf(" ");
6470if(off>-1){
6471selector=stripAndCollapse(url.slice(off));
6472url=url.slice(0,off);
6473}
6474if(isFunction(params)){
6475callback=params;
6476params=undefined;
6477}else if(params&&typeof params==="object"){
6478type="POST";
6479}
6480if(self.length>0){
6481jQuery.ajax({
6482url:url,
6483type:type||"GET",
6484dataType:"html",
6485data:params
6486}).done(function(responseText){
6487response=arguments;
6488self.html(selector?
6489jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):
6490responseText);
6491}).always(callback&&function(jqXHR,status){
6492self.each(function(){
6493callback.apply(this,response||[jqXHR.responseText,status,jqXHR]);
6494});
6495});
6496}
6497return this;
6498};
6499jQuery.expr.pseudos.animated=function(elem){
6500return jQuery.grep(jQuery.timers,function(fn){
6501return elem===fn.elem;
6502}).length;
6503};
6504jQuery.offset={
6505setOffset:function(elem,options,i){
6506var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,
6507position=jQuery.css(elem,"position"),
6508curElem=jQuery(elem),
6509props={};
6510if(position==="static"){
6511elem.style.position="relative";
6512}
6513curOffset=curElem.offset();
6514curCSSTop=jQuery.css(elem,"top");
6515curCSSLeft=jQuery.css(elem,"left");
6516calculatePosition=(position==="absolute"||position==="fixed")&&
6517(curCSSTop+curCSSLeft).indexOf("auto")>-1;
6518if(calculatePosition){
6519curPosition=curElem.position();
6520curTop=curPosition.top;
6521curLeft=curPosition.left;
6522}else{
6523curTop=parseFloat(curCSSTop)||0;
6524curLeft=parseFloat(curCSSLeft)||0;
6525}
6526if(isFunction(options)){
6527options=options.call(elem,i,jQuery.extend({},curOffset));
6528}
6529if(options.top!=null){
6530props.top=(options.top-curOffset.top)+curTop;
6531}
6532if(options.left!=null){
6533props.left=(options.left-curOffset.left)+curLeft;
6534}
6535if("using"in options){
6536options.using.call(elem,props);
6537}else{
6538curElem.css(props);
6539}
6540}
6541};
6542jQuery.fn.extend({
6543offset:function(options){
6544if(arguments.length){
6545return options===undefined?
6546this:
6547this.each(function(i){
6548jQuery.offset.setOffset(this,options,i);
6549});
6550}
6551var rect,win,
6552elem=this[0];
6553if(!elem){
6554return;
6555}
6556if(!elem.getClientRects().length){
6557return{top:0,left:0};
6558}
6559rect=elem.getBoundingClientRect();
6560win=elem.ownerDocument.defaultView;
6561return{
6562top:rect.top+win.pageYOffset,
6563left:rect.left+win.pageXOffset
6564};
6565},
6566position:function(){
6567if(!this[0]){
6568return;
6569}
6570var offsetParent,offset,doc,
6571elem=this[0],
6572parentOffset={top:0,left:0};
6573if(jQuery.css(elem,"position")==="fixed"){
6574offset=elem.getBoundingClientRect();
6575}else{
6576offset=this.offset();
6577doc=elem.ownerDocument;
6578offsetParent=elem.offsetParent||doc.documentElement;
6579while(offsetParent&&
6580(offsetParent===doc.body||offsetParent===doc.documentElement)&&
6581jQuery.css(offsetParent,"position")==="static"){
6582offsetParent=offsetParent.parentNode;
6583}
6584if(offsetParent&&offsetParent!==elem&&offsetParent.nodeType===1){
6585parentOffset=jQuery(offsetParent).offset();
6586parentOffset.top+=jQuery.css(offsetParent,"borderTopWidth",true);
6587parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",true);
6588}
6589}
6590return{
6591top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),
6592left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)
6593};
6594},
6595offsetParent:function(){
6596return this.map(function(){
6597var offsetParent=this.offsetParent;
6598while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){
6599offsetParent=offsetParent.offsetParent;
6600}
6601return offsetParent||documentElement;
6602});
6603}
6604});
6605jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){
6606var top="pageYOffset"===prop;
6607jQuery.fn[method]=function(val){
6608return access(this,function(elem,method,val){
6609var win;
6610if(isWindow(elem)){
6611win=elem;
6612}else if(elem.nodeType===9){
6613win=elem.defaultView;
6614}
6615if(val===undefined){
6616return win?win[prop]:elem[method];
6617}
6618if(win){
6619win.scrollTo(
6620!top?val:win.pageXOffset,
6621top?val:win.pageYOffset
6622);
6623}else{
6624elem[method]=val;
6625}
6626},method,val,arguments.length);
6627};
6628});
6629jQuery.each(["top","left"],function(_i,prop){
6630jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,
6631function(elem,computed){
6632if(computed){
6633computed=curCSS(elem,prop);
6634return rnumnonpx.test(computed)?
6635jQuery(elem).position()[prop]+"px":
6636computed;
6637}
6638}
6639);
6640});
6641jQuery.each({Height:"height",Width:"width"},function(name,type){
6642jQuery.each({
6643padding:"inner"+name,
6644content:type,
6645"":"outer"+name
6646},function(defaultExtra,funcName){
6647jQuery.fn[funcName]=function(margin,value){
6648var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),
6649extra=defaultExtra||(margin===true||value===true?"margin":"border");
6650return access(this,function(elem,type,value){
6651var doc;
6652if(isWindow(elem)){
6653return funcName.indexOf("outer")===0?
6654elem["inner"+name]:
6655elem.document.documentElement["client"+name];
6656}
6657if(elem.nodeType===9){
6658doc=elem.documentElement;
6659return Math.max(
6660elem.body["scroll"+name],doc["scroll"+name],
6661elem.body["offset"+name],doc["offset"+name],
6662doc["client"+name]
6663);
6664}
6665return value===undefined?
6666jQuery.css(elem,type,extra):
6667jQuery.style(elem,type,value,extra);
6668},type,chainable?margin:undefined,chainable);
6669};
6670});
6671});
6672jQuery.each([
6673"ajaxStart",
6674"ajaxStop",
6675"ajaxComplete",
6676"ajaxError",
6677"ajaxSuccess",
6678"ajaxSend"
6679],function(_i,type){
6680jQuery.fn[type]=function(fn){
6681return this.on(type,fn);
6682};
6683});
6684jQuery.fn.extend({
6685bind:function(types,data,fn){
6686return this.on(types,null,data,fn);
6687},
6688unbind:function(types,fn){
6689return this.off(types,null,fn);
6690},
6691delegate:function(selector,types,data,fn){
6692return this.on(types,selector,data,fn);
6693},
6694undelegate:function(selector,types,fn){
6695return arguments.length===1?
6696this.off(selector,"**"):
6697this.off(types,selector||"**",fn);
6698},
6699hover:function(fnOver,fnOut){
6700return this
6701.on("mouseenter",fnOver)
6702.on("mouseleave",fnOut||fnOver);
6703}
6704});
6705jQuery.each(
6706("blur focus focusin focusout resize scroll click dblclick "+
6707"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+
6708"change select submit keydown keypress keyup contextmenu").split(" "),
6709function(_i,name){
6710jQuery.fn[name]=function(data,fn){
6711return arguments.length>0?
6712this.on(name,null,data,fn):
6713this.trigger(name);
6714};
6715}
6716);
6717var rtrim=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
6718jQuery.proxy=function(fn,context){
6719var tmp,args,proxy;
6720if(typeof context==="string"){
6721tmp=fn[context];
6722context=fn;
6723fn=tmp;
6724}
6725if(!isFunction(fn)){
6726return undefined;
6727}
6728args=slice.call(arguments,2);
6729proxy=function(){
6730return fn.apply(context||this,args.concat(slice.call(arguments)));
6731};
6732proxy.guid=fn.guid=fn.guid||jQuery.guid++;
6733return proxy;
6734};
6735jQuery.holdReady=function(hold){
6736if(hold){
6737jQuery.readyWait++;
6738}else{
6739jQuery.ready(true);
6740}
6741};
6742jQuery.isArray=Array.isArray;
6743jQuery.parseJSON=JSON.parse;
6744jQuery.nodeName=nodeName;
6745jQuery.isFunction=isFunction;
6746jQuery.isWindow=isWindow;
6747jQuery.camelCase=camelCase;
6748jQuery.type=toType;
6749jQuery.now=Date.now;
6750jQuery.isNumeric=function(obj){
6751var type=jQuery.type(obj);
6752return(type==="number"||type==="string")&&
6753!isNaN(obj-parseFloat(obj));
6754};
6755jQuery.trim=function(text){
6756return text==null?
6757"":
6758(text+"").replace(rtrim,"$1");
6759};
6760if(typeof define==="function"&&define.amd){
6761define("jquery",[],function(){
6762return jQuery;
6763});
6764}
6765var
6766_jQuery=window.jQuery,
6767_$=window.$;
6768jQuery.noConflict=function(deep){
6769if(window.$===jQuery){
6770window.$=_$;
6771}
6772if(deep&&window.jQuery===jQuery){
6773window.jQuery=_jQuery;
6774}
6775return jQuery;
6776};
6777if(typeof noGlobal==="undefined"){
6778window.jQuery=window.$=jQuery;
6779}
6780return jQuery;
6781});
6782
6783
6784/* prive/javascript/jquery.form.js?1790181870 */
6785
6786(function(factory){
6787if(typeof define==='function'&&define.amd){
6788define(['jquery'],factory);
6789}else if(typeof module==='object'&&module.exports){
6790module.exports=function(root,jQuery){
6791if(typeof jQuery==='undefined'){
6792if(typeof window!=='undefined'){
6793jQuery=require('jquery');
6794}
6795else{
6796jQuery=require('jquery')(root);
6797}
6798}
6799factory(jQuery);
6800return jQuery;
6801};
6802}else{
6803factory(jQuery);
6804}
6805}(function($){
6806'use strict';
6807var rCRLF=/\r?\n/g;
6808var feature={};
6809feature.fileapi=$('<input type="file">').get(0).files!==undefined;
6810feature.formdata=(typeof window.FormData!=='undefined');
6811var hasProp=!!$.fn.prop;
6812$.fn.attr2=function(){
6813if(!hasProp){
6814return this.attr.apply(this,arguments);
6815}
6816var val=this.prop.apply(this,arguments);
6817if((val&&val.jquery)||typeof val==='string'){
6818return val;
6819}
6820return this.attr.apply(this,arguments);
6821};
6822$.fn.ajaxSubmit=function(options,data,dataType,onSuccess){
6823if(!this.length){
6824log('ajaxSubmit: skipping submit process - no element selected');
6825return this;
6826}
6827var method,action,url,isMsie,iframeSrc,$form=this;
6828if(typeof options==='function'){
6829options={success:options};
6830}else if(typeof options==='string'||(options===false&&arguments.length>0)){
6831options={
6832'url':options,
6833'data':data,
6834'dataType':dataType
6835};
6836if(typeof onSuccess==='function'){
6837options.success=onSuccess;
6838}
6839}else if(typeof options==='undefined'){
6840options={};
6841}
6842method=options.method||options.type||this.attr2('method');
6843action=options.url||this.attr2('action');
6844url=(typeof action==='string')?$.trim(action):'';
6845url=url||window.location.href||'';
6846if(url){
6847url=(url.match(/^([^#]+)/)||[])[1];
6848}
6849isMsie=/(MSIE|Trident)/.test(navigator.userAgent||'');
6850iframeSrc=(isMsie&&/^https/i.test(window.location.href||''))?'javascript:false':'about:blank';
6851options=$.extend(true,{
6852url:url,
6853success:$.ajaxSettings.success,
6854type:method||$.ajaxSettings.type,
6855iframeSrc:iframeSrc
6856},options);
6857var veto={};
6858this.trigger('form-pre-serialize',[this,options,veto]);
6859if(veto.veto){
6860log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
6861return this;
6862}
6863if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){
6864log('ajaxSubmit: submit aborted via beforeSerialize callback');
6865return this;
6866}
6867var traditional=options.traditional;
6868if(typeof traditional==='undefined'){
6869traditional=$.ajaxSettings.traditional;
6870}
6871var elements=[];
6872var qx,a=this.formToArray(options.semantic,elements,options.filtering);
6873if(options.data){
6874var optionsData=$.isFunction(options.data)?options.data(a):options.data;
6875options.extraData=optionsData;
6876qx=$.param(optionsData,traditional);
6877}
6878if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){
6879log('ajaxSubmit: submit aborted via beforeSubmit callback');
6880return this;
6881}
6882this.trigger('form-submit-validate',[a,this,options,veto]);
6883if(veto.veto){
6884log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
6885return this;
6886}
6887var q=$.param(a,traditional);
6888if(qx){
6889q=(q?(q+'&'+qx):qx);
6890}
6891if(options.type.toUpperCase()==='GET'){
6892options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;
6893options.data=null;
6894}else{
6895options.data=q;
6896}
6897var callbacks=[];
6898if(options.resetForm){
6899callbacks.push(function(){
6900$form.resetForm();
6901});
6902}
6903if(options.clearForm){
6904callbacks.push(function(){
6905$form.clearForm(options.includeHidden);
6906});
6907}
6908if(!options.dataType&&options.target){
6909var oldSuccess=options.success||function(){};
6910callbacks.push(function(data,textStatus,jqXHR){
6911var successArguments=arguments,
6912fn=options.replaceTarget?'replaceWith':'html';
6913if(fn=='html'){
6914data=$.parseHTML($("<div>").text(data).html())
6915};
6916$(options.target)[fn](data).each(function(){
6917oldSuccess.apply(this,successArguments);
6918});
6919});
6920}else if(options.success){
6921if($.isArray(options.success)){
6922$.merge(callbacks,options.success);
6923}else{
6924callbacks.push(options.success);
6925}
6926}
6927options.success=function(data,status,xhr){
6928var context=options.context||this;
6929for(var i=0,max=callbacks.length;i<max;i++){
6930callbacks[i].apply(context,[data,status,xhr||$form,$form]);
6931}
6932};
6933if(options.error){
6934var oldError=options.error;
6935options.error=function(xhr,status,error){
6936var context=options.context||this;
6937oldError.apply(context,[xhr,status,error,$form]);
6938};
6939}
6940if(options.complete){
6941var oldComplete=options.complete;
6942options.complete=function(xhr,status){
6943var context=options.context||this;
6944oldComplete.apply(context,[xhr,status,$form]);
6945};
6946}
6947var fileInputs=$('input[type=file]:enabled',this).filter(function(){
6948return $(this).val()!=='';
6949});
6950var hasFileInputs=fileInputs.length>0;
6951var mp='multipart/form-data';
6952var multipart=($form.attr('enctype')===mp||$form.attr('encoding')===mp);
6953var fileAPI=feature.fileapi&&feature.formdata;
6954log('fileAPI :'+fileAPI);
6955var shouldUseFrame=(hasFileInputs||multipart)&&!fileAPI;
6956var jqxhr;
6957if(options.iframe!==false&&(options.iframe||shouldUseFrame)){
6958if(options.closeKeepAlive){
6959$.get(options.closeKeepAlive,function(){
6960jqxhr=fileUploadIframe(a);
6961});
6962}else{
6963jqxhr=fileUploadIframe(a);
6964}
6965}else if((hasFileInputs||multipart)&&fileAPI){
6966jqxhr=fileUploadXhr(a);
6967}else{
6968jqxhr=$.ajax(options);
6969}
6970$form.removeData('jqxhr').data('jqxhr',jqxhr);
6971for(var k=0;k<elements.length;k++){
6972elements[k]=null;
6973}
6974this.trigger('form-submit-notify',[this,options]);
6975return this;
6976function deepSerialize(extraData){
6977var serialized=$.param(extraData,options.traditional).split('&');
6978var len=serialized.length;
6979var result=[];
6980var i,part;
6981for(i=0;i<len;i++){
6982serialized[i]=serialized[i].replace(/\+/g,' ');
6983part=serialized[i].split('=');
6984result.push([decodeURIComponent(part[0]),decodeURIComponent(part[1])]);
6985}
6986return result;
6987}
6988function fileUploadXhr(a){
6989var formdata=new FormData();
6990for(var i=0;i<a.length;i++){
6991formdata.append(a[i].name,a[i].value);
6992}
6993if(options.extraData){
6994var serializedData=deepSerialize(options.extraData);
6995for(i=0;i<serializedData.length;i++){
6996if(serializedData[i]){
6997formdata.append(serializedData[i][0],serializedData[i][1]);
6998}
6999}
7000}
7001options.data=null;
7002var s=$.extend(true,{},$.ajaxSettings,options,{
7003contentType:false,
7004processData:false,
7005cache:false,
7006type:method||'POST'
7007});
7008if(options.uploadProgress){
7009s.xhr=function(){
7010var xhr=$.ajaxSettings.xhr();
7011if(xhr.upload){
7012xhr.upload.addEventListener('progress',function(event){
7013var percent=0;
7014var position=event.loaded||event.position;
7015var total=event.total;
7016if(event.lengthComputable){
7017percent=Math.ceil(position/total*100);
7018}
7019options.uploadProgress(event,position,total,percent);
7020},false);
7021}
7022return xhr;
7023};
7024}
7025s.data=null;
7026var beforeSend=s.beforeSend;
7027s.beforeSend=function(xhr,o){
7028if(options.formData){
7029o.data=options.formData;
7030}else{
7031o.data=formdata;
7032}
7033if(beforeSend){
7034beforeSend.call(this,xhr,o);
7035}
7036};
7037return $.ajax(s);
7038}
7039function fileUploadIframe(a){
7040var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;
7041var deferred=$.Deferred();
7042deferred.abort=function(status){
7043xhr.abort(status);
7044};
7045if(a){
7046for(i=0;i<elements.length;i++){
7047el=$(elements[i]);
7048if(hasProp){
7049el.prop('disabled',false);
7050}else{
7051el.removeAttr('disabled');
7052}
7053}
7054}
7055s=$.extend(true,{},$.ajaxSettings,options);
7056s.context=s.context||s;
7057id='jqFormIO'+new Date().getTime();
7058var ownerDocument=form.ownerDocument;
7059var $body=$form.closest('body');
7060if(s.iframeTarget){
7061$io=$(s.iframeTarget,ownerDocument);
7062n=$io.attr2('name');
7063if(!n){
7064$io.attr2('name',id);
7065}else{
7066id=n;
7067}
7068}else{
7069$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'">',ownerDocument);
7070$io.css({position:'absolute',top:'-1000px',left:'-1000px'});
7071}
7072io=$io[0];
7073xhr={
7074aborted:0,
7075responseText:null,
7076responseXML:null,
7077status:0,
7078statusText:'n/a',
7079getAllResponseHeaders:function(){},
7080getResponseHeader:function(){},
7081setRequestHeader:function(){},
7082abort:function(status){
7083var e=(status==='timeout'?'timeout':'aborted');
7084log('aborting upload... '+e);
7085this.aborted=1;
7086try{
7087if(io.contentWindow.document.execCommand){
7088io.contentWindow.document.execCommand('Stop');
7089}
7090}catch(ignore){}
7091$io.attr('src',s.iframeSrc);
7092xhr.error=e;
7093if(s.error){
7094s.error.call(s.context,xhr,e,status);
7095}
7096if(g){
7097$.event.trigger('ajaxError',[xhr,s,e]);
7098}
7099if(s.complete){
7100s.complete.call(s.context,xhr,e);
7101}
7102}
7103};
7104g=s.global;
7105if(g&&$.active++===0){
7106$.event.trigger('ajaxStart');
7107}
7108if(g){
7109$.event.trigger('ajaxSend',[xhr,s]);
7110}
7111if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){
7112if(s.global){
7113$.active--;
7114}
7115deferred.reject();
7116return deferred;
7117}
7118if(xhr.aborted){
7119deferred.reject();
7120return deferred;
7121}
7122sub=form.clk;
7123if(sub){
7124n=sub.name;
7125if(n&&!sub.disabled){
7126s.extraData=s.extraData||{};
7127s.extraData[n]=sub.value;
7128if(sub.type==='image'){
7129s.extraData[n+'.x']=form.clk_x;
7130s.extraData[n+'.y']=form.clk_y;
7131}
7132}
7133}
7134var CLIENT_TIMEOUT_ABORT=1;
7135var SERVER_ABORT=2;
7136function getDoc(frame){
7137var doc=null;
7138try{
7139if(frame.contentWindow){
7140doc=frame.contentWindow.document;
7141}
7142}catch(err){
7143log('cannot get iframe.contentWindow document: '+err);
7144}
7145if(doc){
7146return doc;
7147}
7148try{
7149doc=frame.contentDocument?frame.contentDocument:frame.document;
7150}catch(err){
7151log('cannot get iframe.contentDocument: '+err);
7152doc=frame.document;
7153}
7154return doc;
7155}
7156var csrf_token=$('meta[name=csrf-token]').attr('content');
7157var csrf_param=$('meta[name=csrf-param]').attr('content');
7158if(csrf_param&&csrf_token){
7159s.extraData=s.extraData||{};
7160s.extraData[csrf_param]=csrf_token;
7161}
7162function doSubmit(){
7163var t=$form.attr2('target'),
7164a=$form.attr2('action'),
7165mp='multipart/form-data',
7166et=$form.attr('enctype')||$form.attr('encoding')||mp;
7167form.setAttribute('target',id);
7168if(!method||/post/i.test(method)){
7169form.setAttribute('method','POST');
7170}
7171if(a!==s.url){
7172form.setAttribute('action',s.url);
7173}
7174if(!s.skipEncodingOverride&&(!method||/post/i.test(method))){
7175$form.attr({
7176encoding:'multipart/form-data',
7177enctype:'multipart/form-data'
7178});
7179}
7180if(s.timeout){
7181timeoutHandle=setTimeout(function(){
7182timedOut=true;cb(CLIENT_TIMEOUT_ABORT);
7183},s.timeout);
7184}
7185function checkState(){
7186try{
7187var state=getDoc(io).readyState;
7188log('state = '+state);
7189if(state&&state.toLowerCase()==='uninitialized'){
7190setTimeout(checkState,50);
7191}
7192}catch(e){
7193log('Server abort: ',e,' (',e.name,')');
7194cb(SERVER_ABORT);
7195if(timeoutHandle){
7196clearTimeout(timeoutHandle);
7197}
7198timeoutHandle=undefined;
7199}
7200}
7201var extraInputs=[];
7202try{
7203if(s.extraData){
7204for(var n in s.extraData){
7205if(s.extraData.hasOwnProperty(n)){
7206if($.isPlainObject(s.extraData[n])&&s.extraData[n].hasOwnProperty('name')&&s.extraData[n].hasOwnProperty('value')){
7207extraInputs.push(
7208$('<input type="hidden" name="'+s.extraData[n].name+'">',ownerDocument).val(s.extraData[n].value)
7209.appendTo(form)[0]);
7210}else{
7211extraInputs.push(
7212$('<input type="hidden" name="'+n+'">',ownerDocument).val(s.extraData[n])
7213.appendTo(form)[0]);
7214}
7215}
7216}
7217}
7218if(!s.iframeTarget){
7219$io.appendTo($body);
7220}
7221if(io.attachEvent){
7222io.attachEvent('onload',cb);
7223}else{
7224io.addEventListener('load',cb,false);
7225}
7226setTimeout(checkState,15);
7227try{
7228form.submit();
7229}catch(err){
7230var submitFn=document.createElement('form').submit;
7231submitFn.apply(form);
7232}
7233}finally{
7234form.setAttribute('action',a);
7235form.setAttribute('enctype',et);
7236if(t){
7237form.setAttribute('target',t);
7238}else{
7239$form.removeAttr('target');
7240}
7241$(extraInputs).remove();
7242}
7243}
7244if(s.forceSync){
7245doSubmit();
7246}else{
7247setTimeout(doSubmit,10);
7248}
7249var data,doc,domCheckCount=50,callbackProcessed;
7250function cb(e){
7251if(xhr.aborted||callbackProcessed){
7252return;
7253}
7254doc=getDoc(io);
7255if(!doc){
7256log('cannot access response document');
7257e=SERVER_ABORT;
7258}
7259if(e===CLIENT_TIMEOUT_ABORT&&xhr){
7260xhr.abort('timeout');
7261deferred.reject(xhr,'timeout');
7262return;
7263}
7264if(e===SERVER_ABORT&&xhr){
7265xhr.abort('server abort');
7266deferred.reject(xhr,'error','server abort');
7267return;
7268}
7269if(!doc||doc.location.href===s.iframeSrc){
7270if(!timedOut){
7271return;
7272}
7273}
7274if(io.detachEvent){
7275io.detachEvent('onload',cb);
7276}else{
7277io.removeEventListener('load',cb,false);
7278}
7279var status='success',errMsg;
7280try{
7281if(timedOut){
7282throw'timeout';
7283}
7284var isXml=s.dataType==='xml'||doc.XMLDocument||$.isXMLDoc(doc);
7285log('isXml='+isXml);
7286if(!isXml&&window.opera&&(doc.body===null||!doc.body.innerHTML)){
7287if(--domCheckCount){
7288log('requeing onLoad callback, DOM not available');
7289setTimeout(cb,250);
7290return;
7291}
7292}
7293var docRoot=doc.body?doc.body:doc.documentElement;
7294xhr.responseText=docRoot?docRoot.innerHTML:null;
7295xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;
7296if(isXml){
7297s.dataType='xml';
7298}
7299xhr.getResponseHeader=function(header){
7300var headers={'content-type':s.dataType};
7301return headers[header.toLowerCase()];
7302};
7303if(docRoot){
7304xhr.status=Number(docRoot.getAttribute('status'))||xhr.status;
7305xhr.statusText=docRoot.getAttribute('statusText')||xhr.statusText;
7306}
7307var dt=(s.dataType||'').toLowerCase();
7308var scr=/(json|script|text)/.test(dt);
7309if(scr||s.textarea){
7310var ta=doc.getElementsByTagName('textarea')[0];
7311if(ta){
7312xhr.responseText=ta.value;
7313xhr.status=Number(ta.getAttribute('status'))||xhr.status;
7314xhr.statusText=ta.getAttribute('statusText')||xhr.statusText;
7315}else if(scr){
7316var pre=doc.getElementsByTagName('pre')[0];
7317var b=doc.getElementsByTagName('body')[0];
7318if(pre){
7319xhr.responseText=pre.textContent?pre.textContent:pre.innerText;
7320}else if(b){
7321xhr.responseText=b.textContent?b.textContent:b.innerText;
7322}
7323}
7324}else if(dt==='xml'&&!xhr.responseXML&&xhr.responseText){
7325xhr.responseXML=toXml(xhr.responseText);
7326}
7327try{
7328data=httpData(xhr,dt,s);
7329}catch(err){
7330status='parsererror';
7331xhr.error=errMsg=(err||status);
7332}
7333}catch(err){
7334log('error caught: ',err);
7335status='error';
7336xhr.error=errMsg=(err||status);
7337}
7338if(xhr.aborted){
7339log('upload aborted');
7340status=null;
7341}
7342if(xhr.status){
7343status=((xhr.status>=200&&xhr.status<300)||xhr.status===304)?'success':'error';
7344}
7345if(status==='success'){
7346if(s.success){
7347s.success.call(s.context,data,'success',xhr);
7348}
7349deferred.resolve(xhr.responseText,'success',xhr);
7350if(g){
7351$.event.trigger('ajaxSuccess',[xhr,s]);
7352}
7353}else if(status){
7354if(typeof errMsg==='undefined'){
7355errMsg=xhr.statusText;
7356}
7357if(s.error){
7358s.error.call(s.context,xhr,status,errMsg);
7359}
7360deferred.reject(xhr,'error',errMsg);
7361if(g){
7362$.event.trigger('ajaxError',[xhr,s,errMsg]);
7363}
7364}
7365if(g){
7366$.event.trigger('ajaxComplete',[xhr,s]);
7367}
7368if(g&&!--$.active){
7369$.event.trigger('ajaxStop');
7370}
7371if(s.complete){
7372s.complete.call(s.context,xhr,status);
7373}
7374callbackProcessed=true;
7375if(s.timeout){
7376clearTimeout(timeoutHandle);
7377}
7378setTimeout(function(){
7379if(!s.iframeTarget){
7380$io.remove();
7381}else{
7382$io.attr('src',s.iframeSrc);
7383}
7384xhr.responseXML=null;
7385},100);
7386}
7387var toXml=$.parseXML||function(s,doc){
7388if(window.ActiveXObject){
7389doc=new ActiveXObject('Microsoft.XMLDOM');
7390doc.async='false';
7391doc.loadXML(s);
7392}else{
7393doc=(new DOMParser()).parseFromString(s,'text/xml');
7394}
7395return(doc&&doc.documentElement&&doc.documentElement.nodeName!=='parsererror')?doc:null;
7396};
7397var parseJSON=$.parseJSON||function(s){
7398window.console.error('jquery.parseJSON is undefined');
7399return null;
7400};
7401var httpData=function(xhr,type,s){
7402var ct=xhr.getResponseHeader('content-type')||'',
7403xml=((type==='xml'||!type)&&ct.indexOf('xml')>=0),
7404data=xml?xhr.responseXML:xhr.responseText;
7405if(xml&&data.documentElement.nodeName==='parsererror'){
7406if($.error){
7407$.error('parsererror');
7408}
7409}
7410if(s&&s.dataFilter){
7411data=s.dataFilter(data,type);
7412}
7413if(typeof data==='string'){
7414if((type==='json'||!type)&&ct.indexOf('json')>=0){
7415data=parseJSON(data);
7416}else if((type==='script'||!type)&&ct.indexOf('javascript')>=0){
7417$.globalEval(data);
7418}
7419}
7420return data;
7421};
7422return deferred;
7423}
7424};
7425$.fn.ajaxForm=function(options,data,dataType,onSuccess){
7426if(typeof options==='string'||(options===false&&arguments.length>0)){
7427options={
7428'url':options,
7429'data':data,
7430'dataType':dataType
7431};
7432if(typeof onSuccess==='function'){
7433options.success=onSuccess;
7434}
7435}
7436options=options||{};
7437options.delegation=options.delegation&&$.isFunction($.fn.on);
7438if(!options.delegation&&this.length===0){
7439var o={s:this.selector,c:this.context};
7440if(!$.isReady&&o.s){
7441log('DOM not ready, queuing ajaxForm');
7442$(function(){
7443$(o.s,o.c).ajaxForm(options);
7444});
7445return this;
7446}
7447log('terminating; zero elements found by selector'+($.isReady?'':' (DOM not ready)'));
7448return this;
7449}
7450if(options.delegation){
7451$(document)
7452.off('submit.form-plugin',this.selector,doAjaxSubmit)
7453.off('click.form-plugin',this.selector,captureSubmittingElement)
7454.on('submit.form-plugin',this.selector,options,doAjaxSubmit)
7455.on('click.form-plugin',this.selector,options,captureSubmittingElement);
7456return this;
7457}
7458if(options.beforeFormUnbind){
7459options.beforeFormUnbind(this,options);
7460}
7461return this.ajaxFormUnbind()
7462.on('submit.form-plugin',options,doAjaxSubmit)
7463.on('click.form-plugin',options,captureSubmittingElement);
7464};
7465function doAjaxSubmit(e){
7466var options=e.data;
7467if(!e.isDefaultPrevented()){
7468e.preventDefault();
7469$(e.target).closest('form').ajaxSubmit(options);
7470}
7471}
7472function captureSubmittingElement(e){
7473var target=e.target;
7474var $el=$(target);
7475if(!$el.is('[type=submit],[type=image]')){
7476var t=$el.closest('[type=submit]');
7477if(t.length===0){
7478return;
7479}
7480target=t[0];
7481}
7482var form=target.form;
7483form.clk=target;
7484if(target.type==='image'){
7485if(typeof e.offsetX!=='undefined'){
7486form.clk_x=e.offsetX;
7487form.clk_y=e.offsetY;
7488}else if(typeof $.fn.offset==='function'){
7489var offset=$el.offset();
7490form.clk_x=e.pageX-offset.left;
7491form.clk_y=e.pageY-offset.top;
7492}else{
7493form.clk_x=e.pageX-target.offsetLeft;
7494form.clk_y=e.pageY-target.offsetTop;
7495}
7496}
7497setTimeout(function(){
7498form.clk=form.clk_x=form.clk_y=null;
7499},100);
7500}
7501$.fn.ajaxFormUnbind=function(){
7502return this.off('submit.form-plugin click.form-plugin');
7503};
7504$.fn.formToArray=function(semantic,elements,filtering){
7505var a=[];
7506if(this.length===0){
7507return a;
7508}
7509var form=this[0];
7510var formId=this.attr('id');
7511var els=(semantic||typeof form.elements==='undefined')?form.getElementsByTagName('*'):form.elements;
7512var els2;
7513if(els){
7514els=$.makeArray(els);
7515}
7516if(formId&&(semantic||/(Edge|Trident)\//.test(navigator.userAgent))){
7517els2=$(':input[form="'+formId+'"]').get();
7518if(els2.length){
7519els=(els||[]).concat(els2);
7520}
7521}
7522if(!els||!els.length){
7523return a;
7524}
7525if($.isFunction(filtering)){
7526els=$.map(els,filtering);
7527}
7528var i,j,n,v,el,max,jmax;
7529for(i=0,max=els.length;i<max;i++){
7530el=els[i];
7531n=el.name;
7532if(!n||el.disabled){
7533continue;
7534}
7535if(semantic&&form.clk&&el.type==='image'){
7536if(form.clk===el){
7537a.push({name:n,value:$(el).val(),type:el.type});
7538a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
7539}
7540continue;
7541}
7542v=$.fieldValue(el,true);
7543if(v&&v.constructor===Array){
7544if(elements){
7545elements.push(el);
7546}
7547for(j=0,jmax=v.length;j<jmax;j++){
7548a.push({name:n,value:v[j]});
7549}
7550}else if(feature.fileapi&&el.type==='file'){
7551if(elements){
7552elements.push(el);
7553}
7554var files=el.files;
7555if(files.length){
7556for(j=0;j<files.length;j++){
7557a.push({name:n,value:files[j],type:el.type});
7558}
7559}else{
7560a.push({name:n,value:'',type:el.type});
7561}
7562}else if(v!==null&&typeof v!=='undefined'){
7563if(elements){
7564elements.push(el);
7565}
7566a.push({name:n,value:v,type:el.type,required:el.required});
7567}
7568}
7569if(!semantic&&form.clk){
7570var $input=$(form.clk),input=$input[0];
7571n=input.name;
7572if(n&&!input.disabled&&input.type==='image'){
7573a.push({name:n,value:$input.val()});
7574a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
7575}
7576}
7577return a;
7578};
7579$.fn.formSerialize=function(semantic){
7580return $.param(this.formToArray(semantic));
7581};
7582$.fn.fieldSerialize=function(successful){
7583var a=[];
7584this.each(function(){
7585var n=this.name;
7586if(!n){
7587return;
7588}
7589var v=$.fieldValue(this,successful);
7590if(v&&v.constructor===Array){
7591for(var i=0,max=v.length;i<max;i++){
7592a.push({name:n,value:v[i]});
7593}
7594}else if(v!==null&&typeof v!=='undefined'){
7595a.push({name:this.name,value:v});
7596}
7597});
7598return $.param(a);
7599};
7600$.fn.fieldValue=function(successful){
7601for(var val=[],i=0,max=this.length;i<max;i++){
7602var el=this[i];
7603var v=$.fieldValue(el,successful);
7604if(v===null||typeof v==='undefined'||(v.constructor===Array&&!v.length)){
7605continue;
7606}
7607if(v.constructor===Array){
7608$.merge(val,v);
7609}else{
7610val.push(v);
7611}
7612}
7613return val;
7614};
7615$.fieldValue=function(el,successful){
7616var n=el.name,t=el.type,tag=el.tagName.toLowerCase();
7617if(typeof successful==='undefined'){
7618successful=true;
7619}
7620if(successful&&(!n||el.disabled||t==='reset'||t==='button'||
7621(t==='checkbox'||t==='radio')&&!el.checked||
7622(t==='submit'||t==='image')&&el.form&&el.form.clk!==el||
7623tag==='select'&&el.selectedIndex===-1)){
7624return null;
7625}
7626if(tag==='select'){
7627var index=el.selectedIndex;
7628if(index<0){
7629return null;
7630}
7631var a=[],ops=el.options;
7632var one=(t==='select-one');
7633var max=(one?index+1:ops.length);
7634for(var i=(one?index:0);i<max;i++){
7635var op=ops[i];
7636if(op.selected&&!op.disabled){
7637var v=op.value;
7638if(!v){
7639v=(op.attributes&&op.attributes.value&&!(op.attributes.value.specified))?op.text:op.value;
7640}
7641if(one){
7642return v;
7643}
7644a.push(v);
7645}
7646}
7647return a;
7648}
7649return $(el).val().replace(rCRLF,'\r\n');
7650};
7651$.fn.clearForm=function(includeHidden){
7652return this.each(function(){
7653$('input,select,textarea',this).clearFields(includeHidden);
7654});
7655};
7656$.fn.clearFields=$.fn.clearInputs=function(includeHidden){
7657var re=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;
7658return this.each(function(){
7659var t=this.type,tag=this.tagName.toLowerCase();
7660if(re.test(t)||tag==='textarea'){
7661this.value='';
7662}else if(t==='checkbox'||t==='radio'){
7663this.checked=false;
7664}else if(tag==='select'){
7665this.selectedIndex=-1;
7666}else if(t==='file'){
7667if(/MSIE/.test(navigator.userAgent)){
7668$(this).replaceWith($(this).clone(true));
7669}else{
7670$(this).val('');
7671}
7672}else if(includeHidden){
7673if((includeHidden===true&&/hidden/.test(t))||
7674(typeof includeHidden==='string'&&$(this).is(includeHidden))){
7675this.value='';
7676}
7677}
7678});
7679};
7680$.fn.resetForm=function(){
7681return this.each(function(){
7682var el=$(this);
7683var tag=this.tagName.toLowerCase();
7684switch(tag){
7685case'input':
7686this.checked=this.defaultChecked;
7687case'textarea':
7688this.value=this.defaultValue;
7689return true;
7690case'option':
7691case'optgroup':
7692var select=el.parents('select');
7693if(select.length&&select[0].multiple){
7694if(tag==='option'){
7695this.selected=this.defaultSelected;
7696}else{
7697el.find('option').resetForm();
7698}
7699}else{
7700select.resetForm();
7701}
7702return true;
7703case'select':
7704el.find('option').each(function(i){
7705this.selected=this.defaultSelected;
7706if(this.defaultSelected&&!el[0].multiple){
7707el[0].selectedIndex=i;
7708return false;
7709}
7710});
7711return true;
7712case'label':
7713var forEl=$(el.attr('for'));
7714var list=el.find('input,select,textarea');
7715if(forEl[0]){
7716list.unshift(forEl[0]);
7717}
7718list.resetForm();
7719return true;
7720case'form':
7721if(typeof this.reset==='function'||(typeof this.reset==='object'&&!this.reset.nodeType)){
7722this.reset();
7723}
7724return true;
7725default:
7726el.find('form,input,label,select,textarea').resetForm();
7727return true;
7728}
7729});
7730};
7731$.fn.enable=function(b){
7732if(typeof b==='undefined'){
7733b=true;
7734}
7735return this.each(function(){
7736this.disabled=!b;
7737});
7738};
7739$.fn.selected=function(select){
7740if(typeof select==='undefined'){
7741select=true;
7742}
7743return this.each(function(){
7744var t=this.type;
7745if(t==='checkbox'||t==='radio'){
7746this.checked=select;
7747}else if(this.tagName.toLowerCase()==='option'){
7748var $sel=$(this).parent('select');
7749if(select&&$sel[0]&&$sel[0].type==='select-one'){
7750$sel.find('option').selected(false);
7751}
7752this.selected=select;
7753}
7754});
7755};
7756$.fn.ajaxSubmit.debug=false;
7757function log(){
7758if(!$.fn.ajaxSubmit.debug){
7759return;
7760}
7761var msg='[jquery.form] '+Array.prototype.join.call(arguments,'');
7762if(window.console&&window.console.log){
7763window.console.log(msg);
7764}else if(window.opera&&window.opera.postError){
7765window.opera.postError(msg);
7766}
7767}
7768}));
7769
7770
7771/* prive/javascript/jquery.autosave.js?1790181870 */
7772
7773(function($){
7774$.fn.autosave=function(opt){
7775opt=$.extend({
7776url:window.location,
7777confirm:false,
7778confirmstring:'Sauvegarder ?'
7779},opt);
7780var save_changed=function(){
7781$('form.autosavechanged')
7782.each(function(){
7783if(!opt.confirm||confirm(opt.confirmstring)){
7784var contenu=$(this).serialize();
7785var d=new Date();
7786contenu=contenu+"&__timestamp="+Math.round(d.getTime()/1000);
7787$.post(opt.url,{
7788'action':'session',
7789'var':'autosave_'+$('input[name=autosave]',this).val(),
7790'val':contenu
7791});
7792}
7793}).removeClass('autosavechanged');
7794};
7795$(window).on('unload',save_changed);
7796return this
7797.on('keyup',function(){
7798$(this).addClass('autosavechanged');
7799})
7800.on('change',function(){
7801$(this).addClass('autosavechanged');
7802save_changed();
7803})
7804.on('submit',function(){
7805save_changed();
7806});
7807};
7808})(jQuery);
7809
7810
7811/* prive/javascript/jquery.placeholder-label.js?1790181870 */
7812
7813(function($){
7814$.placeholderLabel={
7815placeholder_class:null,
7816add_placeholder:function(){
7817if($(this).val()==$(this).attr('placeholder')){
7818$(this).val('').removeClass($.placeholderLabel.placeholder_class);
7819}
7820},
7821remove_placeholder:function(){
7822if($(this).val()==''){
7823$(this).val($(this).attr('placeholder')).addClass($.placeholderLabel.placeholder_class);
7824}
7825},
7826disable_placeholder_fields:function(){
7827$(this).find("input[placeholder]").each(function(){
7828if($(this).val()==$(this).attr('placeholder')){
7829$(this).val('');
7830}
7831});
7832return true;
7833}
7834};
7835$.fn.placeholderLabel=function(options){
7836var dummy=document.createElement('input');
7837if(dummy.placeholder!=undefined){
7838return this;
7839}
7840var config={
7841placeholder_class:'placeholder'
7842};
7843if(options)$.extend(config,options);
7844$.placeholderLabel.placeholder_class=config.placeholder_class;
7845this.each(function(){
7846var input=$(this);
7847input.focus($.placeholderLabel.add_placeholder);
7848input.blur($.placeholderLabel.remove_placeholder);
7849input.triggerHandler('focus');
7850input.triggerHandler('blur');
7851$(this.form).submit($.placeholderL
7851abel.disable_placeholder_fields);
7852});
7853return this;
7854}
7855})(jQuery);
7856
7857
7858/* prive/javascript/ajaxCallback.js?1790181870 */
7859jQuery.spip=jQuery.spip||{};
7860jQuery.spip.log=function(){
7861if(jQuery.spip.debug&&window.console&&window.console.log)
7862window.console.log.apply(this,arguments);
7863}
7864jQuery.spip.test_espace_prive=function(){
7865if(typeof spipConfig.core.test_espace_prive!=undefined&&spipConfig.core.test_espace_prive){
7866return true;
7867}
7868return false;
7869}
7870if(!jQuery.spip.load_handlers){
7871jQuery.spip.load_handlers=new Array();
7872function onAjaxLoad(f){
7873jQuery.spip.load_handlers.push(f);
7874};
7875jQuery.spip.triggerAjaxLoad=function(root){
7876jQuery.spip.log('triggerAjaxLoad');
7877jQuery.spip.log(root);
7878for(var i=0;i<jQuery.spip.load_handlers.length;i++)
7879jQuery.spip.load_handlers[i].apply(root);
7880};
7881jQuery.spip.intercepted={};
7882jQuery.spip.intercepted.load=jQuery.fn.load;
7883jQuery.fn.load=function(url,params,callback){
7884if(typeof url!=="string"){
7885return jQuery.spip.intercepted.load.apply(this,arguments);
7886}
7887callback=callback||function(){};
7888if(params){
7889if(params.constructor==Function){
7890callback=params;
7891params=null;
7892}
7893}
7894params=jQuery.extend(params,{triggerAjaxLoad:false});
7895var callback2=function(){jQuery.spip.log('jQuery.load');jQuery.spip.triggerAjaxLoad(this);callback.apply(this,arguments);};
7896return jQuery.spip.intercepted.load.apply(this,[url,params,callback2]);
7897};
7898jQuery.spip.intercepted.ajaxSubmit=jQuery.fn.ajaxSubmit;
7899jQuery.fn.ajaxSubmit=function(options){
7900options=options||{};
7901if(typeof options.onAjaxLoad=="undefined"||options.onAjaxLoad!=false){
7902var me=jQuery(this).parents('div.ajax');
7903if(me.length)
7904me=me.parent();
7905else
7906me=document;
7907if(typeof options=='function')
7908options={success:options};
7909var callback=options.success||function(){};
7910options.success=function(){callback.apply(this,arguments);jQuery.spip.log('jQuery.ajaxSubmit');jQuery.spip.triggerAjaxLoad(me);}
7911}
7912return jQuery.spip.intercepted.ajaxSubmit.apply(this,[options]);
7913}
7914jQuery.spip.intercepted.ajax=jQuery.ajax;
7915jQuery.ajax=function(url,settings){
7916if(typeof settings=='undefined'){
7917settings={};
7918if(typeof url=='object'){
7919settings=url;
7920url=null;
7921}
7922}
7923if(typeof url=='string'){
7924settings['url']=url;
7925}
7926if(settings.data&&settings.data['triggerAjaxLoad']===false){
7927settings.data['triggerAjaxLoad']=null;
7928return jQuery.spip.intercepted.ajax(settings);
7929}
7930var s=jQuery.extend(true,{},jQuery.ajaxSettings,settings);
7931var callbackContext=s.context||s;
7932try{
7933if(jQuery.ajax.caller==jQuery.spip.intercepted.load||jQuery.ajax.caller==jQuery.spip.intercepted.ajaxSubmit)
7934return jQuery.spip.intercepted.ajax(settings);
7935}
7936catch(err){}
7937var orig_complete=s.complete||function(){};
7938settings.complete=function(res,status){
7939var dataType=settings.dataType;
7940var ct=(res&&(typeof res.getResponseHeader=='function'))
7941?res.getResponseHeader("content-type"):'';
7942var xml=!dataType&&ct&&ct.indexOf("xml")>=0;
7943orig_complete.call(callbackContext,res,status);
7944if((!dataType&&!xml)||dataType=="html"){
7945jQuery.spip.log('jQuery.ajax');
7946if(typeof s.onAjaxLoad=="undefined"||s.onAjaxLoad!=false)
7947jQuery.spip.triggerAjaxLoad(s.ajaxTarget?s.ajaxTarget:document);
7948}
7949};
7950return jQuery.spip.intercepted.ajax(settings);
7951};
7952}
7953jQuery.uaMatch=function(ua){
7954ua=ua.toLowerCase();
7955var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||
7956ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||
7957[];
7958return{
7959browser:match[1]||"",
7960version:match[2]||"0"
7961};
7962};
7963if(!jQuery.browser){
7964matched=jQuery.uaMatch(navigator.userAgent);
7965browser={};
7966if(matched.browser){
7967browser[matched.browser]=true;
7968browser.version=matched.version;
7969}
7970if(browser.chrome){
7971browser.webkit=true;
7972}else if(browser.webkit){
7973browser.safari=true;
7974}
7975jQuery.browser=browser;
7976}
7977jQuery.getScript=function(url,callback){
7978return $.ajax({
7979url:url,
7980dataType:"script",
7981success:callback,
7982cache:true
7983});
7984}
7985jQuery.fn.positionner=function(force,setfocus){
7986if(!this.length){
7987return this;
7988}
7989var offset=jQuery(this).offset();
7990var hauteur=parseInt(jQuery(this).css('height'));
7991var marge=jQuery.spip.positionner_marge||5;
7992var scrolltop=self['pageYOffset']||
7993jQuery.boxModel&&document.documentElement['scrollTop']||
7994document.body['scrollTop'];
7995var h=jQuery(window).height();
7996var scroll=0;
7997if(force||(offset&&offset['top']-marge<=scrolltop)){
7998scroll=offset['top']-marge;
7999}
8000else if(offset&&offset['top']+hauteur-h+marge>scrolltop){
8001scroll=Math.min(offset['top']-marge-15,offset['top']+hauteur-h+40);
8002}
8003if(scroll)
8004jQuery('html,body')
8005.animate({scrollTop:scroll},300);
8006if(setfocus!==false)
8007jQuery(jQuery('*',this).filter('input[type=text],textarea')[0]).focus();
8008return this;
8009}
8010jQuery.spip.virtualbuffer_id='spip_virtualbufferupdate';
8011jQuery.spip.initReaderBuffer=function(){
8012if(jQuery('#'+jQuery.spip.virtualbuffer_id).length)return;
8013jQuery('body').append('<div style="float:left;width:0;height:0;position:absolute;left:-5000px;top:-5000px;"><input type="hidden" name="'+jQuery.spip.virtualbuffer_id+'" id="'+jQuery.spip.virtualbuffer_id+'" value="0"></div>');
8014}
8015jQuery.spip.updateReaderBuffer=function(){
8016var i=jQuery('#'+jQuery.spip.virtualbuffer_id);
8017if(!i.length)return;
8018i.val(parseInt(i.val())+1);
8019}
8020jQuery.fn.formulaire_setContainer=function(){
8021if(!this.closest('.ajax-form-container').length){
8022this.find('script').remove();
8023var aria=this.data('aria');
8024var $container=jQuery('<div class="ajax-form-container"></div>');
8025if(aria&&typeof aria==='object'){
8026for(var i in aria){
8027$container=$container.attr(i,aria[i]);
8028}
8029}
8030else{
8031aria=false;
8032}
8033this.wrap($container);
8034if(aria){
8035jQuery('form',this).not('[aria-live]').attr('aria-live','off');
8036}
8037}
8038return this;
8039}
8040jQuery.fn.formulaire_dyn_ajax=function(target){
8041if(this.length)
8042jQuery.spip.initReaderBuffer();
8043return this.each(function(){
8044var scrollwhensubmit=!jQuery(this).is('.noscroll');
8045var cible=target||this;
8046jQuery(cible).formulaire_setContainer();
8047jQuery('form:not(.noajax):not(.bouton_action_post)',this).each(function(){
8048var leform=this;
8049var leclk,leclk_x,leclk_y;
8050var onError=function(xhr,status,error,$form){
8051jQuery(leform).ajaxFormUnbind().find('input[name="var_ajax"]').remove();
8052var msg="Erreur";
8053if(typeof(error_on_ajaxform)!=="undefined")msg=error_on_ajaxform;
8054jQuery(leform).prepend("<p class='error ajax-error none'>"+msg+"</p>").find('.ajax-error').show('fast');
8055jQuery(cible).closest('.ajax-form-container').endLoading(true);
8056}
8057jQuery(this).prepend("<input type='hidden' name='var_ajax' value='form'>")
8058.ajaxForm({
8059beforeSubmit:function(){
8060leclk=leform.clk;
8061var scrollwhensubmit_button=true;
8062if(leclk){
8063scrollwhensubmit_button=!jQuery(leclk).is('.noscroll');
8064var n=leclk.name;
8065if(n&&!leclk.disabled&&leclk.type==="image"){
8066leclk_x=leform.clk_x;
8067leclk_y=leform.clk_y;
8068}
8069}
8070jQuery(cible).wrap('<div />');
8071cible=jQuery(cible).parent();
8072jQuery(cible).closest('.ajax-form-container').animateLoading();
8073if(scrollwhensubmit&&scrollwhensubmit_button){
8074jQuery(cible).positionner(false,false);
8075}
8076},
8077error:onError,
8078success:function(c,status,xhr,$form){
8079if(c.match(/^\s*noajax\s*$/)){
8080jQuery("input[name=var_ajax]",leform).remove();
8081if(leclk){
8082var n=leclk.name;
8083if(n&&!leclk.disabled){
8084jQuery(leform).prepend("<input type='hidden' name='"+n+"' value='"+leclk.value+"'>");
8085if(leclk.type==="image"){
8086jQuery(leform).prepend("<input type='hidden' name='"+n+".x' value='"+leform.clk_x+"'>");
8087jQuery(leform).prepend("<input type='hidden' name='"+n+".y' value='"+leform.clk_y+"'>");
8088}
8089}
8090}
8091jQuery(leform).ajaxFormUnbind().closest('.formulaire_spip').addClass('resubmit-noajax');
8092try{
8093leform.submit();
8094}catch(err){
8095var submitFn=document.createElement('form').submit;
8096submitFn.apply(leform);
8097}
8098}
8099else{
8100if(!c.length||c.indexOf("ajax-form-is-ok")==-1)
8101return onError.apply(this,[status,xhr,$form]);
8102var preloaded=jQuery.spip.preloaded_urls;
8103jQuery.spip.preloaded_urls={};
8104jQuery(cible).html(c);
8105var a=jQuery('a:first',cible).eq(0);
8106var d=jQuery('div.ajax',cible);
8107if(!d.length){
8108jQuery(cible).addClass('ajax');
8109if(!scrollwhensubmit)
8110jQuery(cible).addClass('noscroll');
8111}
8112else{
8113d.siblings('br.bugajaxie').remove();
8114cible=jQuery(":first",cible);
8115cible.unwrap();
8116}
8117if(a.length
8118&&a.is('a[name=ajax_ancre]')
8119&&jQuery(a.attr('href'),cible).length){
8120a=a.attr('href');
8121if(jQuery(a,cible).length)
8122setTimeout(function(){
8123jQuery(a,cible).positionner(false);
8124},10);
8125jQuery(cible).closest('.ajax-form-container').endLoading(true);
8126}
8127else{
8128if(a.length&&a.is('a[name=ajax_redirect]')){
8129a=a.get(0).href;
8130setTimeout(function(){
8131var cur=window.location.href.split('#');
8132document.location.replace(a);
8133if(cur[0]==a.split('#')[0]){
8134window.location.reload();
8135}
8136},10);
8137jQuery(cible).closest('.ajax-form-container').animateLoading();
8138}
8139else{
8140jQuery(cible).closest('.ajax-form-container').endLoading(true);
8141}
8142}
8143if(!jQuery('.reponse_formulaire_ok',cible).length)
8144jQuery.spip.preloaded_urls=preloaded;
8145jQuery.spip.updateReaderBuffer();
8146}
8147}
8148})
8149.addClass('noajax hasajax');
8150});
8151});
8152}
8153jQuery.fn.formulaire_verifier=function(callback,champ){
8154var erreurs={'message_erreur':'form non ajax'};
8155var me=this;
8156if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true'){
8157if(jQuery(me).is('form.hasajax')){
8158jQuery(me).ajaxSubmit({
8159dataType:"json",
8160data:{formulaire_action_verifier_json:true},
8161success:function(errs){
8162var args=[errs,champ]
8163if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true')
8164callback.apply(me,args);
8165}
8166});
8167}
8168else
8169callback.apply(me,[erreurs,champ]);
8170}
8171return this;
8172}
8173jQuery.fn.formulaire_activer_verif_auto=function(callback){
8174callback=callback||formulaire_actualiser_erreurs;
8175var me=jQuery(this).closest('.ajax-form-container');
8176var check=function(){
8177var name=jQuery(this).attr('name');
8178setTimeout(function(){me.find('form').formulaire_verifier(callback,name);},50);
8179}
8180var activer=function(){
8181if(me.find('form').attr('data-verifjson')!='on'){
8182me
8183.find('form')
8184.attr('data-verifjson','on')
8185.find('input,select,textarea')
8186.on('change',check);
8187}
8188}
8189jQuery(activer);
8190onAjaxLoad(function(){setTimeout(activer,150);});
8191}
8192function formulaire_actualiser_erreurs(erreurs){
8193var parent=jQuery(this).closest('.formulaire_spip');
8194if(!parent.length)return;
8195parent.find('.reponse_formulaire,.erreur_message').fadeOut().remove();
8196parent.find('.erreur').removeClass('erreur');
8197if(erreurs['message_ok'])
8198parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_ok">'+erreurs['message_ok']+'</p>');
8199if(erreurs['message_erreur'])
8200parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_erreur">'+erreurs['message_erreur']+'</p>');
8201for(var k in erreurs){
8202var saisie=parent.find('.editer_'+k);
8203if(saisie.length){
8204saisie.addClass('erreur');
8205saisie.find('label').after('<span class="erreur_message">'+erreurs[k]+'</span>');
8206}
8207}
8208}
8209var ajax_confirm=true;
8210var ajax_confirm_date=0;
8211var spip_confirm=window.confirm;
8212function _confirm(message){
8213ajax_confirm=spip_confirm(message);
8214if(!ajax_confirm){
8215var d=new Date();
8216ajax_confirm_date=d.getTime();
8217}
8218return ajax_confirm;
8219}
8220window.confirm=_confirm;
8221var ajaxbloc_selecteur;
8222jQuery.spip.preloaded_urls={};
8223jQuery.spip.on_ajax_loaded=function(blocfrag,c,href,history){
8224history=history||(history==null);
8225if(typeof href==undefined||href==null)
8226history=false;
8227if(history)
8228jQuery.spip.setHistoryState(blocfrag);
8229if(jQuery(blocfrag).attr('data-loaded-callback')){
8230var callback=eval(jQuery(blocfrag).attr('data-loaded-callback'));
8231callback.call(blocfrag,c,href,history);
8232}
8233else{
8234jQuery(blocfrag)
8235.html(c)
8236.endLoading();
8237}
8238if(typeof href!=undefined)
8239jQuery(blocfrag).attr('data-url',href);
8240if(history){
8241var href_history=href;
8242if(href_history.indexOf('var_nullify')!==-1){
8243href_history=parametre_url(href_history,'var_nullify','');
8244}
8245jQuery.spip.pushHistoryState(href_history);
8246jQuery.spip.setHistoryState(blocfrag);
8247}
8248var a=jQuery('a:first',jQuery(blocfrag)).eq(0);
8249if(a.length
8250&&a.is('a[name=ajax_ancre]')
8251&&jQuery(a.attr('href'),blocfrag).length){
8252a=a.attr('href');
8253jQuery(a,blocfrag).positionner(false);
8254}
8255jQuery.spip.log('on_ajax_loaded');
8256jQuery.spip.triggerAjaxLoad(blocfrag);
8257a=jQuery(blocfrag).parents('form.hasajax')
8258if(a.length)
8259a.eq(0).removeClass('noajax').parents('div.ajax').formulaire_dyn_ajax();
8260jQuery.spip.updateReaderBuffer();
8261}
8262jQuery.spip.on_ajax_failed=function(blocfrag,statusCode,href,history){
8263jQuery(blocfrag).addClass('invalid');
8264jQuery.spip.log("Echec AJAX statusCode "+statusCode)
8265history=history||(history==null);
8266if(history){
8267if(jQuery.spip.debug){
8268jQuery.spip.log("On redirige sur sur "+href)
8269}
8270else{
8271window.location.href=href;
8272}
8273}
8274}
8275jQuery.spip.stateId=0;
8276jQuery.spip.setHistoryState=function(blocfrag){
8277if(!window.history.replaceState)return;
8278if(!blocfrag.attr('id')){
8279while(jQuery('#ghsid'+jQuery.spip.stateId).length)
8280jQuery.spip.stateId++;
8281blocfrag.attr('id','ghsid'+jQuery.spip.stateId);
8282}
8283var href=blocfrag.attr('data-url')||blocfrag.attr('data-origin');
8284href=jQuery("<"+"a href='"+href+"'></a>").get(0).href;
8285var state={
8286id:blocfrag.attr('id'),
8287href:href
8288};
8289var ajaxid=blocfrag.attr('class').match(/\bajax-id-[\w-]+\b/);
8290if(ajaxid&&ajaxid.length)
8291state["ajaxid"]=ajaxid[0];
8292window.history.replaceState(state,window.document.title,window.document.location);
8293}
8294jQuery.spip.pushHistoryState=function(href,title){
8295if(!window.history.pushState)
8296return false;
8297window.history.pushState({},title,href);
8298}
8299window.onpopstate=function(popState){
8300if(popState.state&&popState.state.href){
8301var blocfrag=false;
8302if(popState.state.id){
8303blocfrag=jQuery('#'+popState.state.id);
8304}
8305if((!blocfrag||!blocfrag.length)&&popState.state.ajaxid){
8306blocfrag=jQuery('.ajaxbloc.'+popState.state.ajaxid);
8307}
8308if(blocfrag&&blocfrag.length==1){
8309jQuery.spip.ajaxClick(blocfrag,popState.state.href,{history:false});
8310return true;
8311}
8312else{
8313window.location.href=popState.state.href;
8314}
8315}
8316}
8317jQuery.spip.loadAjax=function(blocfrag,url,href,options){
8318var force=options.force||false;
8319if(jQuery(blocfrag).attr('data-loading-callback')){
8320var callback=eval(jQuery(blocfrag).attr('data-loading-callback'));
8321callback.call(blocfrag,url,href,options);
8322}
8323else{
8324jQuery(blocfrag).animateLoading();
8325}
8326if(jQuery.spip.preloaded_urls[url]&&!force){
8327if(jQuery.spip.preloaded_urls[url]=="<!--loading-->"){
8328setTimeout(function(){jQuery.spip.loadAjax(blocfrag,url,href,options);},100);
8329return;
8330}
8331jQuery.spip.on_ajax_loaded(blocfrag,jQuery.spip.preloaded_urls[url],href,options.history);
8332}else{
8333var d=new Date();
8334jQuery.spip.preloaded_urls[url]="<!--loading-->";
8335jQuery.ajax({
8336url:parametre_url(url,'var_t',d.getTime()),
8337onAjaxLoad:false,
8338success:function(c){
8339jQuery.spip.on_ajax_loaded(blocfrag,c,href,options.history);
8340jQuery.spip.preloaded_urls[url]=c;
8341if(options.callback&&typeof options.callback=="function")
8342options.callback.apply(blocfrag);
8343},
8344error:function(e){
8345jQuery.spip.preloaded_urls[url]='';
8346jQuery.spip.on_ajax_failed(blocfrag,e.status,href,options.history);
8347}
8348});
8349}
8350}
8351jQuery.spip.makeAjaxUrl=function(href,ajax_env,origin){
8352var url=href.split('#');
8353url[0]=parametre_url(url[0],'var_ajax',1);
8354url[0]=parametre_url(url[0],'var_ajax_env',ajax_env);
8355if(origin){
8356if(origin.indexOf('var_nullify')!==-1){
8357origin=parametre_url(origin,'var_nullify','');
8358}
8359var p=origin.indexOf('?');
8360var nullify=[];
8361if(p!==-1){
8362var args=origin.substring(p+1).split('&');
8363var val;
8364var arg;
8365for(var n=0;n<args.length;n++){
8366arg=args[n].split('=');
8367arg=decodeURIComponent(arg[0]);
8368p=arg.indexOf('[');
8369if(p!==-1)
8370arg=arg.substring(0,p);
8371val=parametre_url(href,arg);
8372if((typeof val=="undefined"||val==null)&&nullify.indexOf(arg)===-1){
8373nullify.push(arg);
8374}
8375}
8376if(nullify.length){
8377url[0]=url[0]+'&'+'var_nullify='+encodeURIComponent(nullify.join('|'));
8378}
8379}
8380}
8381if(url[1])
8382url[0]=parametre_url(url[0],'var_ajax_ancre',url[1]);
8383return url[0];
8384}
8385jQuery.spip.ajaxReload=function(blocfrag,options){
8386var ajax_env=blocfrag.attr('data-ajax-env');
8387if(!ajax_env||ajax_env==undefined)return;
8388var href=options.href||blocfrag.attr('data-url')||blocfrag.attr('data-origin');
8389if(href&&typeof href!=undefined){
8390if(href.indexOf('var_nullify')!==-1){
8391href=parametre_url(href,'var_nullify','');
8392}
8393options=options||{};
8394var callback=options.callback||null;
8395var history=options.history||false;
8396var args=options.args||{};
8397for(var key in args){
8398href=parametre_url(href,key,args[key]==undefined?'':args[key],'&',args[key]==undefined?false:true);
8399}
8400var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8401jQuery.spip.loadAjax(blocfrag,url,href,{force:true,callback:callback,history:history});
8402return true;
8403}
8404}
8405jQuery.spip.ajaxClick=function(blocfrag,href,options){
8406var ajax_env=blocfrag.attr('data-ajax-env');
8407if(!ajax_env||ajax_env==undefined)return;
8408if(!ajax_confirm){
8409ajax_confirm=true;
8410var d=new Date();
8411if((d.getTime()-ajax_confirm_date)<=2)
8412return false;
8413}
8414var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8415jQuery.spip.loadAjax(blocfrag,url,href,options);
8416return false;
8417}
8418jQuery.fn.ajaxbloc=function(){
8419if(this.length)
8420jQuery.spip.initReaderBuffer();
8421if(ajaxbloc_selecteur==undefined)
8422ajaxbloc_selecteur='.pagination a,a.ajax';
8423return this.each(function(){
8424jQuery('div.ajaxbloc',this).ajaxbloc();
8425var blocfrag=jQuery(this);
8426var ajax_env=blocfrag.attr('data-ajax-env');
8427if(!ajax_env||ajax_env==undefined)return;
8428blocfrag.not('.bind-ajaxReload').on('ajaxReload',function(event,options){
8429if(jQuery.spip.ajaxReload(blocfrag,options))
8430event.stopPropagation();
8431}).addClass('bind-ajaxReload');
8432jQuery(ajaxbloc_selecteur,this).not('.noajax,.bind-ajax')
8433.click(function(){return jQuery.spip.ajaxClick(blocfrag,this.href,{force:jQuery(this).is('.nocache'),history:!(jQuery(this).is('.nohistory')||jQuery(this).closest('.box_modalbox').length)});})
8434.addClass('bind-ajax')
8435.filter('.preload').each(function(){
8436var href=this.href;
8437var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8438if(!jQuery.spip.preloaded_urls[url]){
8439jQuery.spip.preloaded_urls[url]='<!--loading-->';
8440jQuery.ajax({url:url,onAjaxLoad:false,success:function(r){jQuery.spip.preloaded_urls[url]=r;},error:function(){jQuery.spip.preloaded_urls[url]='';}});
8441}
8442});
8443jQuery('form.bouton_action_post.ajax',this).not('.noajax,.bind-ajax').each(function(){
8444var leform=this;
8445var url=jQuery(this).attr('action').split('#');
8446var scrollwhensubmit=(!jQuery(this).is('.noscroll')&&!jQuery('.submit',this).is('.noscroll'));
8447jQuery(this)
8448.prepend("<input type='hidden' name='var_ajax' value='1'><input type='hidden' name='var_ajax_env' value='"+(ajax_env)+"'>"+(url[1]?"<input type='hidden' name='var_ajax_ancre' value='"+url[1]+"'>":""))
8449.ajaxForm({
8450beforeSubmit:function(){
8451jQuery(blocfrag).animateLoading();
8452if(scrollwhensubmit){
8453jQuery(blocfrag).positionner(false);
8454}
8455},
8456onAjaxLoad:false,
8457success:function(c){
8458jQuery.spip.on_ajax_loaded(blocfrag,c);
8459jQuery.spip.preloaded_urls={};
8460},
8461error:function(e){
8462jQuery.spip.preloaded_urls={};
8463var href=parametre_url(url,'redirect');
8464if(!href){
8465href=window.location.href;
8466}
8467jQuery.spip.on_ajax_failed(blocfrag,e.status,href,e.status===400);
8468}
8469})
8470.addClass('bind-ajax');
8471});
8472});
8473};
8474jQuery.fn.followLink=function(){
8475$(this).click();
8476if(!$(this).is('.bind-ajax'))
8477window.location.href=$(this).get(0).href;
8478return this;
8479}
8480function ajaxReload(ajaxid,options){
8481jQuery('div.ajaxbloc.ajax-id-'+ajaxid).ajaxReload(options);
8482}
8483jQuery.fn.ajaxReload=function(options){
8484options=options||{};
8485jQuery(this).trigger('ajaxReload',[options]);
8486return this;
8487}
8488jQuery.fn.animateLoading=function(){
8489this.attr('aria-busy','true').addClass('loading').children().css('opacity',0.5);
8490if(typeof ajax_image_searching!='undefined'){
8491var i=(this).find('.image_loading');
8492if(i.length)i.eq(0).html(ajax_image_searching);
8493else this.prepend('<span class="image_loading">'+ajax_image_searching+'</span>');
8494}
8495return this;
8496}
8497jQuery.fn.animeajax=jQuery.fn.animateLoading;
8498jQuery.fn.endLoading=function(hard){
8499hard=hard||false;
8500this.attr('aria-busy','false').removeClass('loading');
8501if(hard){
8502this.children().css('opacity','');
8503this.find('.image_loading').html('');
8504}
8505return this;
8506}
8507jQuery.fn.animateRemove=function(callback){
8508if(this.length){
8509var me=this;
8510var color=$("<div class='remove'></div>").css('background-color');
8511var sel=$(this);
8512if(sel.is('tr'))
8513sel=sel.add('>td',sel);
8514sel.addClass('remove').css({backgroundColor:color}).animate({opacity:"0.0"},'fast',function(){
8515sel.removeClass('remove').css({backgroundColor:''});
8516if(callback)
8517callback.apply(me);
8518});
8519}
8520return this;
8521}
8522jQuery.fn.animateAppend=function(callback){
8523if(this.length){
8524var me=this;
8525var color=$("<div class='append'></div>").css('background-color');
8526var origin=$(this).css('background-color')||'#ffffff';
8527if(origin=='transparent')origin='#ffffff';
8528var sel=$(this);
8529if(sel.is('tr'))
8530sel=sel.add('>td',sel);
8531sel.css('opacity','0.0').addClass('append').css({backgroundColor:color}).animate({opacity:"1.0"},1000,function(){
8532sel.animate({backgroundColor:origin},3000,function(){
8533sel.removeClass('append').css({backgroundColor:''});
8534if(callback)
8535callback.apply(me);
8536});
8537});
8538}
8539return this;
8540}
8541function parametre_url(url,c,v,sep,force_vide){
8542if(typeof(url)=='undefined'){
8543url='';
8544}
8545var p;
8546var ancre='';
8547var a='./';
8548var args=[];
8549p=url.indexOf('#');
8550if(p!=-1){
8551ancre=url.substring(p);
8552url=url.substring(0,p);
8553}
8554p=url.indexOf('?');
8555if(p!==-1){
8556if(p>0)a=url.substring(0,p);
8557args=url.substring(p+1).split('&');
8558}
8559else
8560a=url;
8561var regexp=new RegExp('^('+c.replace('[]','\\[\\]')+'\\[?\\]?)(=.*)?$');
8562var ajouts=[];
8563var u=(typeof(v)!=='object')?encodeURIComponent(v):v;
8564var na=[];
8565var v_read=null;
8566for(var n=0;n<args.length;n++){
8567var val=args[n];
8568try{
8569val=decodeURIComponent(val);
8570}catch(e){}
8571var r=val.match(regexp);
8572if(r&&r.length){
8573if(v==null){
8574if(r[1].substr(-2)=='[]'){
8575if(!v_read)v_read=[];
8576v_read.push((r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'');
8577}
8578else{
8579return(r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'';
8580}
8581}
8582else if(!v.length){
8583}
8584else if(r[1].substr(-2)!='[]'){
8585na.push(r[1]+'='+u);
8586ajouts.push(r[1]);
8587}
8588}
8589else
8590na.push(args[n]);
8591}
8592if(v==null)return v_read;
8593if(v||v.length||force_vide){
8594ajouts="="+ajouts.join("=")+"=";
8595var all=c.split('|');
8596for(n=0;n<all.length;n++){
8597if(ajouts.search("="+all[n]+"=")==-1){
8598if(typeof(v)!=='object'){
8599na.push(all[n]+'='+u);
8600}
8601else{
8602var id=((all[n].substring(-2)=='[]')?all[n]:all[n]+"[]");
8603for(p=0;p<v.length;p++)
8604na.push(id+'='+encodeURIComponent(v[p]));
8605}
8606}
8607}
8608}
8609if(na.length){
8610if(!sep)sep='&';
8611a=a+"?"+na.join(sep);
8612}
8613return a+ancre;
8614}
8615function spip_logo_survol_hover(){
8616var me=jQuery(this);
8617if(me.attr('data-src-hover')){
8618me.attr('data-src-original',me.attr('src'));
8619me.attr('src',me.attr('data-src-hover'));
8620}
8621}
8622function spip_logo_survol_out(){
8623var me=jQuery(this);
8624if(me.attr('data-src-original')){
8625me.attr('src',me.attr('data-src-original'));
8626}
8627}
8628function disableClickAfterFormSubmit(){
8629if(jQuery(this).is('.processing-submitted-form')){
8630return false;
8631}
8632jQuery(this)
8633.addClass('processing-submitted-form')
8634.find('button[type="submit"]')
8635.attr('disabled','disabled')
8636.addClass('disabled')
8637}
8638function puce_enable_survol(){
8639jQuery('span.puce_objet_popup a',this).not('.puce-survol-enabled').click(function(){
8640selec_statut(jQuery(this).attr('data-puce-id'),jQuery(this).attr('data-puce-type'),jQuery(this).attr('data-puce-decal'),jQuery('img',this).attr('src'),jQuery(this).attr('data-puce-action'));
8641return false;
8642}).addClass('puce-survol-enabled');
8643jQuery('span.puce_objet',this).not('.puce-survol-enabled').mouseover(function(){
8644if(!this.puce_loaded){
8645this.puce_loaded=true;prepare_selec_statut(this,jQuery(this).attr('data-puce-nom'),jQuery(this).attr('data-puce-type'),jQuery(this).attr('data-puce-id'),jQuery(this).attr('data-puce-action'));
8646}
8647}).addClass('puce-survol-enabled');
8648}
8649if(!window.var_zajax_content)
8650window.var_zajax_content='contenu';
8651jQuery(function(){
8652jQuery('form:not(.bouton_action_post)').parents('div.ajax')
8653.formulaire_dyn_ajax();
8654jQuery('div.ajaxbloc').ajaxbloc();
8655jQuery("input[placeholder]:text").placeholderLabel();
8656jQuery('.spip_logo_survol').hover(spip_logo_survol_hover,spip_logo_survol_out);
8657puce_enable_survol.apply(this);
8658jQuery('body').on('submit','form.bouton_action_post',disableClickAfterFormSubmit);
8659});
8660onAjaxLoad(function(){
8661if(jQuery){
8662jQuery('form:not(.bouton_action_post)',this).parents('div.ajax')
8663.formulaire_dyn_ajax();
8664if(jQuery(this).is('div.ajaxbloc'))
8665jQuery(this).ajaxbloc();
8666else if(jQuery(this).closest('div.ajaxbloc').length)
8667jQuery(this).closest('div.ajaxbloc').ajaxbloc();
8668else
8669jQuery('div.ajaxbloc',this).ajaxbloc();
8670jQuery("input[placeholder]:text",this).placeholderLabel();
8671jQuery('.spip_logo_survol',this).hover(spip_logo_survol_hover,spip_logo_survol_out);
8672puce_enable_survol.apply(this);
8673}
8674});
8675
8676
8677/* prive/javascript/js.cookie.js?1790181870 */
8678
8679;
8680(function(global,factory){
8681typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():
8682typeof define==='function'&&define.amd?define(factory):
8683(global=typeof globalThis!=='undefined'?globalThis:global||self,(function(){
8684var current=global.Cookies;
8685var exports=global.Cookies=factory();
8686exports.noConflict=function(){global.Cookies=current;return exports;};
8687})());
8688})(this,(function(){'use strict';
8689function assign(target){
8690for(var i=1;i<arguments.length;i++){
8691var source=arguments[i];
8692for(var key in source){
8693target[key]=source[key];
8694}
8695}
8696return target
8697}
8698var defaultConverter={
8699read:function(value){
8700if(value[0]==='"'){
8701value=value.slice(1,-1);
8702}
8703return value.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)
8704},
8705write:function(value){
8706return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
8707decodeURIComponent
8708)
8709}
8710};
8711function init(converter,defaultAttributes){
8712function set(name,value,attributes){
8713if(typeof document==='undefined'){
8714return
8715}
8716attributes=assign({},defaultAttributes,attributes);
8717if(typeof attributes.expires==='number'){
8718attributes.expires=new Date(Date.now()+attributes.expires*864e5);
8719}
8720if(attributes.expires){
8721attributes.expires=attributes.expires.toUTCString();
8722}
8723name=encodeURIComponent(name)
8724.replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent)
8725.replace(/[()]/g,escape);
8726var stringifiedAttributes='';
8727for(var attributeName in attributes){
8728if(!attributes[attributeName]){
8729continue
8730}
8731stringifiedAttributes+='; '+attributeName;
8732if(attributes[attributeName]===true){
8733continue
8734}
8735stringifiedAttributes+='='+attributes[attributeName].split(';')[0];
8736}
8737return(document.cookie=
8738name+'='+converter.write(value,name)+stringifiedAttributes)
8739}
8740function get(name){
8741if(typeof document==='undefined'||(arguments.length&&!name)){
8742return
8743}
8744var cookies=document.cookie?document.cookie.split('; '):[];
8745var jar={};
8746for(var i=0;i<cookies.length;i++){
8747var parts=cookies[i].split('=');
8748var value=parts.slice(1).join('=');
8749try{
8750var found=decodeURIComponent(parts[0]);
8751jar[found]=converter.read(value,found);
8752if(name===found){
8753break
8754}
8755}catch(e){}
8756}
8757return name?jar[name]:jar
8758}
8759return Object.create(
8760{
8761set,
8762get,
8763remove:function(name,attributes){
8764set(
8765name,
8766'',
8767assign({},attributes,{
8768expires:-1
8769})
8770);
8771},
8772withAttributes:function(attributes){
8773return init(this.converter,assign({},this.attributes,attributes))
8774},
8775withConverter:function(converter){
8776return init(assign({},this.converter,converter),this.attributes)
8777}
8778},
8779{
8780attributes:{value:Object.freeze(defaultAttributes)},
8781converter:{value:Object.freeze(converter)}
8782}
8783)
8784}
8785var api=init(defaultConverter,{path:'/'});
8786return api;
8787}));
8788
8789
8790/* plugins-dist/dist/core/mediabox/lib/lity/lity.js?1790181874 */
8791
8792(function(window,factory){
8793if(typeof define==='function'&&define.amd){
8794define(['jquery'],function($){
8795return factory(window,$);
8796});
8797}else if(typeof module==='object'&&typeof module.exports==='object'){
8798module.exports=factory(window,require('jquery'));
8799}else{
8800window.lity=factory(window,window.jQuery||window.Zepto);
8801}
8802}(typeof window!=="undefined"?window:this,function(window,$){
8803'use strict';
8804var document=window.document;
8805var _win=$(window);
8806var _deferred=$.Deferred;
8807var _html=$('html');
8808var _instances=[];
8809var _attrAriaHidden='aria-hidden';
8810var _dataAriaHidden='lity-'+_attrAriaHidden;
8811var _focusableElementsSelector='a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),iframe,object,embed,[contenteditable],[tabindex]:not
8811([tabindex^="-"])';
8812var _defaultOptions={
8813esc:true,
8814handler:null,
8815handlers:{
8816image:imageHandler,
8817inline:inlineHandler,
8818iframe:iframeHandler
8819},
8820forceFocusInside:false,
8821template:'<div class="lity" role="dialog" aria-label="Dialog Window (Press escape to close)" tabindex="-1"><div class="lity-wrap" data-lity-close role="document"><div class="lity-loader" aria-hidden="true">Loading...</div><div class="lity-container"><div class="lity-content"></div><button class="lity-close" type="button" aria-label="Close (Press escape to close)" data-lity-close>&times;</button></div></div></div>'
8822};
8823var _imageRegexp=/(^data:image\/)|(\.(png|jpe?g|gif|svg|webp|bmp|ico|tiff?)(\?\S*)?$)/i;
8824var _transitionEndEvent=(function(){
8825var el=document.createElement('div');
8826var transEndEventNames={
8827WebkitTransition:'webkitTransitionEnd',
8828MozTransition:'transitionend',
8829OTransition:'oTransitionEnd otransitionend',
8830transition:'transitionend'
8831};
8832for(var name in transEndEventNames){
8833if(el.style[name]!==undefined){
8834return transEndEventNames[name];
8835}
8836}
8837return false;
8838})();
8839function transitionEnd(element){
8840var deferred=_deferred();
8841if(!_transitionEndEvent||!element.length){
8842deferred.resolve();
8843}else{
8844element.one(_transitionEndEvent,deferred.resolve);
8845setTimeout(deferred.resolve,500);
8846}
8847return deferred.promise();
8848}
8849function settings(currSettings,key,value){
8850if(arguments.length===1){
8851return $.extend({},currSettings);
8852}
8853if(typeof key==='string'){
8854if(typeof value==='undefined'){
8855return typeof currSettings[key]==='undefined'
8856?null
8857:currSettings[key];
8858}
8859currSettings[key]=value;
8860}else{
8861$.extend(currSettings,key);
8862}
8863return this;
8864}
8865function parseQueryParams(params){
8866var pos=params.indexOf('?');
8867if(pos>-1){
8868params=params.substr(pos+1);
8869}
8870var pairs=decodeURI(params.split('#')[0]).split('&');
8871var obj={},p;
8872for(var i=0,n=pairs.length;i<n;i++){
8873if(!pairs[i]){
8874continue;
8875}
8876p=pairs[i].split('=');
8877obj[p[0]]=p[1];
8878}
8879return obj;
8880}
8881function appendQueryParams(url,params){
8882if(!params){
8883return url;
8884}
8885if('string'===$.type(params)){
8886params=parseQueryParams(params);
8887}
8888if(url.indexOf('?')>-1){
8889var split=url.split('?');
8890url=split.shift();
8891params=$.extend(
8892{},
8893parseQueryParams(split[0]),
8894params
8895)
8896}
8897return url+'?'+$.param(params);
8898}
8899function transferHash(originalUrl,newUrl){
8900var pos=originalUrl.indexOf('#');
8901if(-1===pos){
8902return newUrl;
8903}
8904if(pos>0){
8905originalUrl=originalUrl.substr(pos);
8906}
8907return newUrl+originalUrl;
8908}
8909function iframe(iframeUrl,instance,queryParams,hashUrl){
8910instance&&instance.element().addClass('lity-iframe');
8911if(queryParams){
8912iframeUrl=appendQueryParams(iframeUrl,queryParams);
8913}
8914if(hashUrl){
8915iframeUrl=transferHash(hashUrl,iframeUrl);
8916}
8917return'<div class="lity-iframe-container"><iframe frameborder="0" allowfullscreen allow="autoplay; fullscreen" src="'+iframeUrl+'"/></div>';
8918}
8919function error(msg){
8920return $('<span class="lity-error"></span>').append(msg);
8921}
8922function imageHandler(target,instance){
8923var desc=(instance.opener()&&instance.opener().data('lity-desc'))||'Image with no description';
8924var img=$('<img src="'+target+'" alt="'+desc+'"/>');
8925var deferred=_deferred();
8926var failed=function(){
8927deferred.reject(error('Failed loading image'));
8928};
8929img
8930.on('load',function(){
8931if(this.naturalWidth===0){
8932return failed();
8933}
8934deferred.resolve(img);
8935})
8936.on('error',failed)
8937;
8938return deferred.promise();
8939}
8940imageHandler.test=function(target){
8941return _imageRegexp.test(target);
8942};
8943function inlineHandler(target,instance){
8944var el,placeholder,hasHideClass;
8945try{
8946el=$(target);
8947}catch(e){
8948return false;
8949}
8950if(!el.length){
8951return false;
8952}
8953placeholder=$('<i style="display:none !important"></i>');
8954hasHideClass=el.hasClass('lity-hide');
8955instance
8956.element()
8957.one('lity:remove',function(){
8958placeholder
8959.before(el)
8960.remove()
8961;
8962if(hasHideClass&&!el.closest('.lity-content').length){
8963el.addClass('lity-hide');
8964}
8965})
8966;
8967return el
8968.removeClass('lity-hide')
8969.after(placeholder)
8970;
8971}
8972function iframeHandler(target,instance){
8973return iframe(target,instance);
8974}
8975function winHeight(){
8976return document.documentElement.clientHeight
8977?document.documentElement.clientHeight
8978:Math.round(_win.height());
8979}
8980function keydown(e){
8981var current=currentInstance();
8982if(!current){
8983return;
8984}
8985if(e.keyCode===27&&!!current.options('esc')){
8986current.close();
8987}
8988if(e.keyCode===9){
8989handleTabKey(e,current);
8990}
8991}
8992function handleTabKey(e,instance){
8993var focusableElements=instance.element().find(_focusableElementsSelector);
8994var focusedIndex=focusableElements.index(document.activeElement);
8995if(e.shiftKey&&focusedIndex<=0){
8996focusableElements.get(focusableElements.length-1).focus();
8997e.preventDefault();
8998}else if(!e.shiftKey&&focusedIndex===focusableElements.length-1){
8999focusableElements.get(0).focus();
9000e.preventDefault();
9001}
9002if(focusedIndex===-1&&instance.options().forceFocusInside){
9003focusableElements.get(0).focus();
9004e.preventDefault();
9005}
9006}
9007function resize(){
9008$.each(_instances,function(i,instance){
9009instance.resize();
9010});
9011}
9012function registerInstance(instanceToRegister){
9013if(1===_instances.unshift(instanceToRegister)){
9014_html.addClass('lity-active');
9015_win
9016.on({
9017resize:resize,
9018keydown:keydown
9019})
9020;
9021}
9022$('body > *').not(instanceToRegister.element())
9023.addClass('lity-hidden')
9024.each(function(){
9025var el=$(this);
9026if(undefined!==el.data(_dataAriaHidden)){
9027return;
9028}
9029el.data(_dataAriaHidden,el.attr(_attrAriaHidden)||null);
9030})
9031.attr(_attrAriaHidden,'true')
9032;
9033}
9034function removeInstance(instanceToRemove){
9035var show;
9036instanceToRemove
9037.element()
9038.attr(_attrAriaHidden,'true')
9039;
9040if(1===_instances.length){
9041_html.removeClass('lity-active');
9042_win
9043.off({
9044resize:resize,
9045keydown:keydown
9046})
9047;
9048}
9049_instances=$.grep(_instances,function(instance){
9050return instanceToRemove!==instance;
9051});
9052if(!!_instances.length){
9053show=_instances[0].element();
9054}else{
9055show=$('.lity-hidden');
9056}
9057show
9058.removeClass('lity-hidden')
9059.each(function(){
9060var el=$(this),oldAttr=el.data(_dataAriaHidden);
9061if(!oldAttr){
9062el.removeAttr(_attrAriaHidden);
9063}else{
9064el.attr(_attrAriaHidden,oldAttr);
9065}
9066el.removeData(_dataAriaHidden);
9067})
9068;
9069}
9070function currentInstance(){
9071if(0===_instances.length){
9072return null;
9073}
9074return _instances[0];
9075}
9076function factory(target,instance,handlers,preferredHandler){
9077var handler='inline',content;
9078var currentHandlers=$.extend({},handlers);
9079if(preferredHandler&&currentHandlers[preferredHandler]){
9080content=currentHandlers[preferredHandler](target,instance);
9081handler=preferredHandler;
9082}else{
9083$.each(['inline','iframe'],function(i,name){
9084delete currentHandlers[name];
9085currentHandlers[name]=handlers[name];
9086});
9087$.each(currentHandlers,function(name,currentHandler){
9088if(!currentHandler){
9089return true;
9090}
9091if(
9092currentHandler.test&&
9093!currentHandler.test(target,instance)
9094){
9095return true;
9096}
9097content=currentHandler(target,instance);
9098if(false!==content){
9099handler=name;
9100return false;
9101}
9102});
9103}
9104return{handler:handler,content:content||''};
9105}
9106function Lity(target,options,opener,activeElement){
9107var self=this;
9108var result;
9109var isReady=false;
9110var isClosed=false;
9111var element;
9112var content;
9113options=$.extend(
9114{},
9115_defaultOptions,
9116options
9117);
9118element=$(options.template);
9119self.element=function(){
9120return element;
9121};
9122self.opener=function(){
9123return opener;
9124};
9125self.content=function(){
9126return content;
9127};
9128self.options=$.proxy(settings,self,options);
9129self.handlers=$.proxy(settings,self,options.handlers);
9130self.resize=function(){
9131if(!isReady||isClosed){
9132return;
9133}
9134content
9135.css('max-height',winHeight()+'px')
9136.trigger('lity:resize',[self])
9137;
9138};
9139self.close=function(){
9140if(isClosed){
9141return;
9142}
9143isClosed=true;
9144removeInstance(self);
9145var deferred=_deferred();
9146if(
9147activeElement&&
9148(
9149document.activeElement===element[0]||
9150$.contains(element[0],document.activeElement)
9151)
9152){
9153try{
9154activeElement.focus();
9155}catch(e){
9156}
9157}
9158var trigerable=(content?content:element);
9159trigerable.trigger('lity:close',[self]);
9160element
9161.removeClass('lity-opened')
9162.addClass('lity-closed')
9163;
9164transitionEnd(trigerable.add(element))
9165.always(function(){
9166trigerable.trigger('lity:remove',[self]);
9167element.remove();
9168element=undefined;
9169deferred.resolve();
9170})
9171;
9172return deferred.promise();
9173};
9174result=factory(target,self,options.handlers,options.handler);
9175element
9176.attr(_attrAriaHidden,'false')
9177.addClass('lity-loading lity-opened lity-'+result.handler)
9178.appendTo('body')
9179.focus()
9180.on('click','[data-lity-close]',function(e){
9181if($(e.target).is('[data-lity-close]')){
9182self.close();
9183}
9184})
9185.trigger('lity:open',[self])
9186;
9187registerInstance(self);
9188$.when(result.content)
9189.always(ready)
9190;
9191function ready(result){
9192if(isClosed){
9193return;
9194}
9195content=$(result)
9196.css('max-height',winHeight()+'px')
9197;
9198element
9199.find('.lity-loader')
9200.each(function(){
9201var loader=$(this);
9202transitionEnd(loader)
9203.always(function(){
9204loader.remove();
9205})
9206;
9207})
9208;
9209element
9210.removeClass('lity-loading')
9211.find('.lity-content')
9212.empty()
9213.append(content)
9214;
9215isReady=true;
9216content
9217.trigger('lity:ready',[self])
9218;
9219}
9220}
9221function lity(target,options,opener){
9222if(!target.preventDefault){
9223opener=$(opener);
9224}else{
9225target.preventDefault();
9226opener=$(this);
9227target=opener.data('lity-target')||opener.attr('href')||opener.attr('src');
9228}
9229var instance=new Lity(
9230target,
9231$.extend(
9232{},
9233opener.data('lity-options')||opener.data('lity'),
9234options
9235),
9236opener,
9237document.activeElement
9238);
9239if(!target.preventDefault){
9240return instance;
9241}
9242}
9243lity.version='3.0.0-dev';
9244lity.options=$.proxy(settings,lity,_defaultOptions);
9245lity.handlers=$.proxy(settings,lity,_defaultOptions.handlers);
9246lity.current=currentInstance;
9247lity.iframe=iframe;
9248$(document).on('click.lity','[data-lity]',lity);
9249return lity;
9250}));
9251
9252
9253/* plugins-dist/dist/core/mediabox/lity/js/lity.mediabox.js?1790181874 */
9254;
9255(function($){
9256var litySpip={
9257nameSpace:'mediabox',
9258config:{
9259forceFocusInside:true,
9260},
9261strings:{
9262},
9263callbacks:{
9264onOpen:[],
9265onShow:[],
9266onClose:[]
9267},
9268focusedItem:[],
9269isTransition:false,
9270adjustHeight:function(instance){
9271var $content=instance.content();
9272var $containerHeight=instance.element().find('.lity-container').height();
9273if($containerHeight){
9274var h=Math.round($containerHeight)+'px';
9275$content
9276.css('max-height',h)
9277.find('[data-'+litySpip.nameSpace+'-force-max-height]')
9278.css('max-height',h);
9279}
9280},
9281template:function(cfg,type,groupName,groupPosition,groupLength){
9282var className='';
9283if(!!cfg.className){
9284className=' '+cfg.className;
9285}
9286if(cfg.transitionOnOpen){
9287className+=' lity-transition-on-open-'+cfg.transitionOnOpen;
9288}
9289if(!!cfg.noTransition){
9290className+=' lity-no-transition';
9291}
9292if(!!cfg.slideShow){
9293className+=' lity-slideshow';
9294}
9295var styles=[];
9296var styles_container='';
9297var styles_content='';
9298if(cfg.sideBar){
9299className+=' lity-sidebar lity-sidebar-'+cfg.sideBar;
9300if(cfg.sideBar==='start'||cfg.sideBar==='end'){
9301className+=' lity-sidebar-inline';
9302cfg.height='100vh';
9303cfg.maxHeight='100vh';
9304}
9305if(cfg.sideBar==='top'||cfg.sideBar==='bottom'){
9306className+=' lity-sidebar-block';
9307cfg.width='100vw';
9308cfg.maxWidth='100vw';
9309}
9310}
9311if(cfg.maxWidth){
9312styles.push("max-width:"+cfg.maxWidth.replace("%","vw"));
9313}
9314if(cfg.maxHeight){
9315styles.push("max-height:"+cfg.maxHeight.replace("%","vh"));
9316}
9317if(cfg.width){
9318styles.push("width:"+cfg.width.replace("%","vw"));
9319className+=' lity-width-set';
9320}
9321if(cfg.height){
9322styles.push("height:"+cfg.height.replace("%","vh"));
9323className+=' lity-height-set';
9324if(cfg.minHeight){
9325styles.push("min-height:"+cfg.minHeight.replace("%","vh"));
9326}
9327}
9328if(styles.length){
9329styles_container=' style="'+styles.join(';')+'"';
9330}
9331styles=[];
9332var max;
9333if(cfg.minWidth){
9334max=(cfg.maxWidth?cfg.maxWidth.replace("%","vw"):'95vw');
9335styles.push("min-width:min("+max+","+cfg.minWidth.replace("%","vw")+')');
9336}
9337if(cfg.minHeight&&!cfg.height){
9338max=(cfg.maxHeight?cfg.maxHeight.replace("%","vw"):'95vh');
9339styles.push("min-height:min("+max+","+cfg.minHeight.replace("%","vh")+')');
9340}
9341if(styles.length){
9342styles_content=' style="'+styles.join(';')+'"';
9343}
9344var button_next_prev='',
9345button_start_stop='',
9346group_info_text='',
9347group_info='';
9348if(groupName&&groupLength){
9349if(groupLength>1){
9350var newPosition=(groupPosition<=0?groupLength-1:groupPosition-1);
9351button_next_prev+='<button class="lity-previous" type="button" data-group-name="'+groupName+'" data-group-position="'+newPosition+'" aria-label="'+litySpip.strings.previous+'" data-lity-previous'
9352+'><b title="'+litySpip.strings.previous+'">❮</b></button>';
9353newPosition=(groupPosition>=groupLength-1?0:groupPosition+1);
9354button_next_prev+='<button class="lity-next" type="button" data-group-name="'+groupName+'" data-group-position="'+newPosition+'"  aria-label="'+litySpip.strings.next+'" data-lity-next'
9355+'><b title="'+litySpip.strings.next+'">❯</b></button>';
9356}
9357group_info_text=" "+litySpip.strings.current;
9358group_info_text=group_info_text.replace('{current}',(groupPosition+1)+'');
9359group_info_text=group_info_text.replace('{total}',groupLength+'');
9360button_start_stop+='<button class="lity-start-stop" type="button" data-lity-stop-start>'
9361+'<b class="lity-start" aria-label="'+litySpip.strings.slideshowStart+'" title="'+litySpip.strings.slideshowStart+'">▶</b>'
9362+'<b class="lity-stop" aria-label="'+litySpip.strings.slideshowStop+'" title="'+litySpip.strings.slideshowStop+'">□</b>'
9363+'</button>';
9364group_info='<div class="lity-group-caption">'
9365+'<span class="lity-group-start-stop">'+button_start_stop+'</span>'
9366+'<span class="lity-group-current">'+group_info_text+'</span>'
9367+'<span class="lity-group-next-prev">'+button_next_prev+'</span>'
9368+'<span class="lity-group-progress-bar"><span class="lity-group-progress-bar-status" style="width:0"></span></span>'
9369+'</div>';
9370}
9371var close_button_aria_label=litySpip.strings.close+' ('+litySpip.strings.press_escape+')';
9372var dialog_title=(type==='image'?litySpip.strings.dialog_title_med:litySpip.strings.dialog_title_def);
9373dialog_title+=group_info_text+' ('+litySpip.strings.press_escape+')';
9374var t=
9375'<dialog class="box_mediabox box_modalbox lity'+className+'" role="dialog" aria-label="'+dialog_title+'" tabindex="-1">'
9376+'<div class="lity-wrap"'+(cfg.overlayClose===false?'':' data-lity-close')+' role="document">'
9377+'<div class="lity-loader" aria-hidden="true" aria-label="'+litySpip.strings.loading+'"><span class="box-loading"></span></div>'
9378+'<div class="lity-container"'+styles_container+'>'
9379+'<button class="lity-close" type="button" aria-label="'+close_button_aria_label+'" data-lity-close><b data-lity-close title="'+litySpip.strings.close+'">&times;</b></button>'
9380+'<div class="lity-content"'+styles_content+'></div>'
9381+group_info
9382+'</div>'
9383+'</div>'
9384+'</dialog>';
9385return t;
9386},
9387failHandler:function(target,instance){
9388return'<div class="error lity-error">Failed loading content</div>';
9389},
9390ajaxHandler:function(target,instance){
9391var selector,
9392off=target.indexOf(" ");
9393if(off>-1){
9394selector=target.slice(off);
9395selector=selector.match(/[^\x20\t\r\n\f]+/g)||[];
9396selector=selector.join(" ");
9397target=target.slice(0,off);
9398}
9399if(jQuery.spip.preloaded_urls[target]){
9400var content=jQuery.spip.preloaded_urls[target];
9401if(selector){
9402content=$("<div>").append($.parseHTML(content)).find(selector);
9403}
9404return $('<div class="lity-content-inner"></div>').append(content);
9405}
9406var _deferred=$.Deferred;
9407var deferred=_deferred();
9408var failed=function(){
9409deferred.reject($('<span class="error lity-error"></span>').append('Failed loading ajax'));
9410};
9411$.get(target)
9412.done(function(content){
9413jQuery.spip.preloaded_urls[target]=content;
9414if(selector){
9415content=$("<div>").append($.parseHTML(content)).find(selector);
9416}
9417deferred.resolve($('<div class="lity-content-inner"></div>').append(content));
9418})
9419.fail(failed);
9420return deferred.promise();
9421},
9422imageBuildContent:function(img,desc,longdesc,defaultCaptionClass){
9423img.attr('alt',desc?desc:'');
9424desc=(longdesc?longdesc:desc);
9425if(desc){
9426defaultCaptionClass=(defaultCaptionClass?defaultCaptionClass:'expanded');
9427var id='lity-image-caption-'+Date.now().toString(36)+Math.random().toString(36).substr(2);
9428img.attr('aria-describedby',id);
9429img=$('<figure class="lity-image-figure"></figure>').append(img).append('<figcaption id="'+id+'" class="lity-image-caption '+defaultCaptionClass+'"><div class="lity-image-caption-text">'+desc+'</div></figcaption>');
9430}
9431else{
9432img=$('<figure class="lity-image-figure"></figure>').append(img);
9433}
9434return img;
9435},
9436imageHandler:function(target,instance){
9437var _deferred=$.Deferred;
9438var desc='';
9439var longdesc='';
9440var defaultCaptionClass=(instance.options().defaultCaptionState==='min'?'min':'expanded');
9441var opener=instance.opener();
9442if(opener){
9443desc=opener.attr('title')||$('img[alt]',opener).eq(0).attr('alt')||'';
9444var by=opener.attr('aria-describedby')||$('img[aria-describedby]',opener).eq(0).attr('aria-describedby')||'';
9445if(by){
9446longdesc=$('#'+by).html();
9447longdesc=longdesc.trim();
9448}
9449if(!desc){
9450desc=desc||instance.opener().attr('aria-label')||'';
9451}
9452desc=desc.trim();
9453}
9454var img;
9455var cache=opener.data('lity-image-cache')||{};
9456if(cache[target]){
9457img=cache[target];
9458img=litySpip.imageBuildContent(img,desc,longdesc,defaultCaptionClass);
9459return img;
9460}
9461img=$('<img src="'+target+'" class="lity-image-img" data-'+litySpip.nameSpace+'-force-max-height />');
9462var deferred=_deferred();
9463var failed=function(){
9464deferred.reject($('<span class="error lity-error"></span>').append('Failed loading image'));
9465};
9466img
9467.on('load',function(){
9468if(this.naturalWidth===0){
9469img.attr("style","width:25vw;");
9470}
9471cache[target]=img;
9472opener.data('lity-image-cache',cache);
9473deferred.resolve(litySpip.imageBuildContent(img,desc,longdesc,defaultCaptionClass));
9474})
9475.on('error',failed)
9476;
9477return deferred.promise();
9478},
9479groupElements:function(groupName){
9480return $('.lity-enabled[data-'+litySpip.nameSpace+'-group'+'='+groupName+']');
9481},
9482eventSet:{},
9483setEvents:function(what){
9484if(!litySpip.eventSet[what]){
9485switch(what){
9486case'opener':
9487$(document).on('click','.lity-enabled',litySpip.onClickOpener);
9488break;
9489case'listener':
9490$(document).on('click','.lity-previous,.lity-next',litySpip.onPrevNext);
9491$(document).on('click','.lity-start-stop',litySpip.onSlideShowToggle);
9492$(window).on('keyup',litySpip.onKeyUp);
9493$(document).on('click','.lity-image-caption',litySpip.onCaptionToggle);
9494break;
9495}
9496litySpip.eventSet[what]=true;
9497}
9498},
9499onKeyUp:function(event){
9500var c={37:"previous",39:"next"}[event.keyCode];
9501if(c){
9502var current=lity.current();
9503if(current){
9504jQuery('.lity-'+c,current.element()).trigger('click');
9505}
9506}
9507},
9508onCaptionToggle:function(event){
9509var $caption=$(this);
9510$caption.toggleClass('min expanded');
9511},
9512openerFromPrevNext($button){
9513var groupName=$button.data('group-name');
9514var groupPosition=$button.data('group-position');
9515return litySpip.groupElements(groupName).eq(groupPosition);
9516},
9517onPrevNext:function(event){
9518var $button=$(this);
9519var newEl=litySpip.openerFromPrevNext($button);
9520if(newEl){
9521var element=lity.current().element();
9522litySpip.isTransition={oldClosed:false,newOpened:true};
9523element.addClass('lity-no-transition').css('visibility','hidden');
9524litySpip.slideshowStop(element);
9525var options={transitionOnOpen:$button.is('.lity-next')?'slide-from-right':'slide-from-left'};
9526if(element.is('.lity-slideshow')){
9527options.slideShow=true;
9528}
9529lity.current().close();
9530litySpip.elementOpener(newEl,options);
9531}
9532},
9533slideshowStart:function(element){
9534var $progress=element.find('.lity-group-progress-bar-status');
9535$progress.attr('style','');
9536$progress.css('width','100%');
9537var delay=litySpip.config.slideshowSpeed;
9538setTimeout(function(){
9539$progress.css('transition','width '+((delay-200)/1000)+'s linear');
9540$progress.css('width','0');
9541},200);
9542timer=setTimeout(function(){element.find('.lity-next').trigger('click')},delay);
9543element.data('lity-timer',timer);
9544$('.lity-start',element).attr('aria-hidden','true');
9545$('.lity-stop',element).attr('aria-hidden','false');
9546jQuery('.lity-start-stop',element).focus();
9547},
9548slideshowStop:function(element){
9549timer=element.data('lity-timer');
9550if(timer){
9551clearTimeout(timer);
9552}
9553},
9554onSlideShowToggle:function(event){
9555var $button=$(this);
9556var element=$button.closest('.lity');
9557var slideShowState=(element.is('.lity-slideshow')?true:false);
9558var timer;
9559if(!slideShowState){
9560litySpip.slideshowStart(element);
9561}
9562else{
9563litySpip.slideshowStop(element);
9564$('.lity-start',element).attr('aria-hidden','false');
9565$('.lity-stop',element).attr('aria-hidden','true');
9566}
9567element.toggleClass('lity-slideshow');
9568},
9569onClickOpener:function(event){
9570event.preventDefault();
9571var opener=$(this);
9572litySpip.elementOpener(opener);
9573},
9574elementOpener:function(opener,options){
9575var cfg=opener.data('mediabox-options');
9576if(options){
9577cfg=$.extend({},cfg,options);
9578}
9579var target=opener.data('href-popin')||opener.data('href')||opener.attr('href')||opener.attr('src');
9580litySpip.lityOpener(target,cfg,opener.get(0));
9581},
9582lityOpener:function(target,cfg,opener){
9583litySpip.setEvents('listener');
9584if(!litySpip.isTransition){
9585litySpip.callbacks.onOpen.push(cfg.onOpen||false);
9586litySpip.callbacks.onShow.push(cfg.onShow||false);
9587litySpip.callbacks.onClose.push(cfg.onClose||false);
9588litySpip.focusedItem.push($(document.activeElement));
9589}
9590var type=cfg.type||'';
9591if(!type&&opener){
9592type=$(opener).data(litySpip.nameSpace+'-type')||'';
9593}
9594var handlers=lity.handlers();
9595if(type==='ajax'){
9596handlers.ajax=litySpip.ajaxHandler;
9597}
9598handlers.image=litySpip.imageHandler;
9599if(type==='inline'){
9600var el=[];
9601try{
9602el=$(target);
9603}catch(e){
9604el=[];
9605}
9606if(!el.length){
9607handlers.inline=litySpip.failHandler;
9608}
9609}
9610cfg=$.extend({handlers:handlers},cfg);
9611if(type&&['image','inline','ajax','iframe'].indexOf(type)!==-1){
9612cfg.handler=type;
9613}
9614if(opener&&typeof($.parseMediaboxOptions)!=="undefined"){
9615cfg=$.extend(cfg,$.parseMediaboxOptions(litySpip.nameSpace,opener));
9616}
9617if(!!cfg.preloadOnly){
9618litySpip.lityPreLoader(target,cfg,opener);
9619}
9620else{
9621var groupPosition=0;
9622var groupLength=0;
9623if(opener){
9624var groupName=cfg.rel||(opener?$(opener).data(litySpip.nameSpace+'-group'):'');
9625if(groupName){
9626var elements=litySpip.groupElements(groupName);
9627groupPosition=elements.index($(opener));
9628groupLength=elements.length;
9629}
9630}
9631cfg=$.extend({template:litySpip.template(cfg,type,groupName,groupPosition,groupLength)},cfg);
9632if(cfg.samePopin){
9633var l=lity.current();
9634if(l){
9635l.close();
9636}
9637}
9638lity(target,cfg,opener);
9639}
9640},
9641lityPreLoader:function(target,cfg,opener){
9642if(cfg.handler&&cfg.handlers[cfg.handler]){
9643if(cfg.handler==='image'||cfg.handler==='ajax'){
9644var instance={
9645opener:function(){return $(opener);},
9646options:function(){return cfg}
9647};
9648var content=cfg.handlers[cfg.handler](target,instance);
9649}
9650}
9651},
9652ajaxReloadElements:function(elements){
9653const targets=elements
9654.split(',')
9655.map(s=>s.trim())
9656.filter(Boolean);
9657targets.forEach(function(target){
9658try{
9659if(/^[.#[]/.test(target)){
9660const $element=$(target);
9661if($element.length){
9662$element.ajaxReload();
9663}
9664}else{
9665ajaxReload(target);
9666}
9667}catch(e){
9668console.warn("Mediabox ajaxReloadElements : erreur lors du traitement de '"+target+"'.",e);
9669}
9670});
9671}
9672}
9673jQuery.fn.extend({
9674mediabox:function(options){
9675var cfg=$.extend({},litySpip.config,options);
9676if(this===jQuery.fn){
9677var href=cfg.href||"";
9678litySpip.lityOpener(href,cfg,null);
9679return this;
9680}else{
9681if(cfg.rel){
9682this.attr('data-'+litySpip.nameSpace+'-group',cfg.rel);
9683}
9684else{
9685this.each(function(){
9686var rel=$(this).attr('rel');
9687if(rel){
9688$(this).attr('data-'+litySpip.nameSpace+'-group',rel);
9689}
9690});
9691}
9692litySpip.setEvents('opener');
9693this
9694.data('mediabox-options',cfg)
9695.addClass('lity-enabled');
9696(cfg.preload?this:this.filter('[data-'+litySpip.nameSpace+'-preload]')).each(function(){
9697litySpip.elementOpener($(this),{preloadOnly:true});
9698});
9699return this;
9700}
9701},
9702mediaboxClose:function(){
9703var $current=lity.current();
9704if($current){
9705$current.close();
9706return true;
9707}
9708return false;
9709}
9710});
9711var initConfig=function(){
9712var b=typeof(mediabox_settings)=='object'?mediabox_settings:{};
9713litySpip.nameSpace=b.ns?b.ns:'mediabox';
9714litySpip.strings.slideshowStart=b.str_ssStart;
9715litySpip.strings.slideshowStop=b.str_ssStop;
9716litySpip.strings.current=b.str_cur;
9717litySpip.strings.previous=b.str_prev;
9718litySpip.strings.next=b.str_next;
9719litySpip.strings.close=b.str_close;
9720litySpip.strings.loading=b.str_loading;
9721litySpip.strings.press_escape=b.str_petc;
9722litySpip.strings.dialog_title_def=b.str_dialTitDef;
9723litySpip.strings.dialog_title_med=b.str_dialTitMed;
9724litySpip.config.slideshowSpeed=(b.lity.slideshow_speed?b.lity.slideshow_speed:5000);
9725litySpip.config.defaultCaptionState=(b.lity.defaultCaptionState?b.lity.defaultCaptionState:'expanded');
9726var styles={
9727'container':'',
9728'content':'',
9729};
9730var max;
9731if(b.lity.minWidth){
9732max=(b.lity.maxWidth?b.lity.maxWidth.replace('%','vw'):'95vw');
9733styles.content+="min-width:min("+max+","+b.lity.minWidth.replace('%','vw')+');';
9734}
9735if(b.lity.maxWidth){
9736styles.container+="max-width:"+b.lity.maxWidth.replace('%','vw')+';';
9737}
9738if(b.lity.minHeight){
9739max=(b.lity.maxHeight?b.lity.maxHeight.replace('%','vw'):'95vh');
9740styles.content+="min-height:min("+max+","+b.lity.minHeight.replace('%','vh')+');';
9741}
9742if(b.lity.maxHeight){
9743styles.container+="max-height:"+b.lity.maxHeight.replace('%','vh')+';';
9744}
9745var insert='';
9746for(let key in styles){
9747if(styles[key]){
9748insert+='.box_mediabox .lity-'+key+'{'+styles[key]+'}';
9749}
9750}
9751if(b.lity.opacite){
9752insert+='.box_mediabox:before{opacity:'+b.lity.opacite+'}';
9753}
9754if(insert){
9755$('head').append($('<style type="text/css">'+insert+'</style>'));
9756}
9757$(document).on('lity:open',function(event,instance){
9758if(document.fullscreenElement){
9759document.fullscreenElement.appendChild(instance.element().get(0));
9760}
9761if(!instance.element().is('.lity-slideshow')){
9762jQuery('.lity-close',instance.element()).focus();
9763}
9764if(!litySpip.isTransition){
9765var callback=litySpip.callbacks.onOpen.pop();
9766if(callback){
9767callback(event,instance);
9768}
9769}
9770});
9771$(document).on('lity:ready',function(event,instance){
9772litySpip.adjustHeight(instance);
9773if(jQuery.spip){
9774jQuery.spip.triggerAjaxLoad(instance.element().get(0))
9775}
9776if(instance.element().addClass('lity-ready').is('.lity-slideshow')){
9777litySpip.slideshowStart(instance.element());
9778}
9779if(!litySpip.isTransition){
9780var callback=litySpip.callbacks.onShow.pop();
9781if(callback){
9782callback(event,instance);
9783}
9784}
9785else{
9786litySpip.isTransition.newOpened=true;
9787if(litySpip.isTransition.oldClosed){
9788litySpip.isTransition=false;
9789}
9790instance.content().trigger('lity:resize',[instance]);
9791}
9792var $next=instance.element().find('.lity-next');
9793if($next.length){
9794$next=litySpip.openerFromPrevNext($next);
9795if($next){
9796litySpip.elementOpener($next,{preloadOnly:true});
9797}
9798}
9799});
9800$(document).on('lity:close',function(event,instance){
9801if(!litySpip.isTransition){
9802if(litySpip.callbacks.onShow.length>litySpip.callbacks.onOpen.length){
9803litySpip.callbacks.onShow.pop();
9804}
9805var callback=litySpip.callbacks.onClose.pop();
9806if(callback){
9807callback(event,instance);
9808}
9809let options=instance.options();
9810let ajaxReloadArgs=options.ajaxReloadOnClose;
9811if(ajaxReloadArgs&&typeof(ajaxReloadArgs)==='string'){
9812litySpip.ajaxReloadElements(ajaxReloadArgs);
9813}
9814}
9815});
9816$(document).on('lity:remove',function(event,instance){
9817if(!litySpip.isTransition){
9818var focused=litySpip.focusedItem.pop();
9819if(focused){
9820try{
9821focused.focus();
9822}catch(e){
9823}
9824}
9825}
9826else{
9827litySpip.isTransition.oldClosed=true;
9828if(litySpip.isTransition.newOpened){
9829litySpip.isTransition=false;
9830}
9831}
9832});
9833$(document).on('lity:resize',function(event,instance){
9834litySpip.adjustHeight(instance);
9835});
9836}
9837initConfig();
9838})(jQuery);
9839
9840
9841/* plugins-dist/dist/core/mediabox/javascript/spip.mediabox.js?1790181874 */
9842(function($){
9843$.mediabox
9844=function(options){
9845if(typeof(mediabox_autodetect_href)=='function'
9846&&options.href
9847&&!options.type){
9848options.type=mediabox_autodetect_href(options.href);
9849}
9850$.fn.mediabox(options);
9851};
9852$.modalboxload=$.modalbox=function(href,options){$.mediabox($.extend({href:href,overlayClose:true},options));};
9853$.modalboxclose=$.mediaboxClose=$.fn.mediaboxClose;
9854$.parseMediaboxOptions=function(nameSpace,opener){
9855var options={};
9856var data2options={
9857"width":"width",
9858"height":"height",
9859"min-width":"minWidth",
9860"min-height":"minHeight",
9861"max-width":"maxWidth",
9862"max-height":"maxHeight",
9863"caption-state":"defaultCaptionState",
9864"sidebar":"sideBar",
9865"class":"className",
9866"ajaxreload-on-close":"ajaxReloadOnClose",
9867};
9868var v;
9869for(var o in data2options){
9870v=($(opener).data(nameSpace+'-'+o)||'');
9871if(v){
9872options[data2options[o]]=v;
9873}
9874}
9875if(!options.length){
9876var eltclass=$(opener).prop('class');
9877if(eltclass){
9878if(eltclass.indexOf("boxWidth-")!==-1){
9879var w=eltclass.match(/boxWidth-([^\s'">]*)/);
9880w=w[1].replace(/pc/,'%');
9881options["width"]=w;
9882}
9883if(eltclass.indexOf("boxHeight-")!==-1){
9884var h=eltclass.match(/boxHeight-([^\s'">]*)/);
9885h=h[1].replace(/pc/,'%');
9886options["height"]=h;
9887}
9888if(eltclass.indexOf("boxIframe")!==-1){
9889options["type"]='iframe';
9890}
9891if(eltclass.indexOf("boxInline")!==-1){
9892options["type"]='inline';
9893}
9894}
9895}
9896data2options={"same-popin":"samePopin","type":"type"};
9897for(var o in data2options){
9898v=($(opener).data(nameSpace+'-'+o)||'');
9899if(v){
9900options[data2options[o]]=v;
9901}
9902}
9903return options;
9904}
9905})(jQuery);
9906var mediaboxInit=function(){
9907var b=$.extend({},mediabox_settings);
9908if(b.ns!=='box'){
9909$('[data-box-type]').each(function(i,e){
9910var $e=$(e);
9911var d=$e.attr('data-box-type');
9912$e.removeAttr('data-box-type').attr('data-'+b.ns+'-type',d);
9913});
9914}
9915if(b.auto_detect){
9916var $popins=$('[data-href-popin],[data-'+b.ns+'-type]'+(window.var_zajax_content?',[data-var_zajax],a.popin':''))
9917.add(b.sel_c)
9918.not(ajaxbloc_selecteur,'.ajaxbloc','.hasbox');
9919$popins.each(function(i,e){
9920var $e=$(e);
9921var url=$e.attr('href')||"./";
9922var popin=$e.attr('data-href-popin');
9923var type=$e.attr('data-'+b.ns+'-type')||'';
9924if(!popin){
9925var env=$e.attr('data-ajax-env');
9926if(env){
9927url=parametre_url(parametre_url(url,'var_ajax',1),'var_ajax_env',env)
9928$e.removeAttr('data-ajax-env');
9929type='ajax';
9930}
9931var za=$e.attr('data-var_zajax');
9932if(za!==undefined||$e.hasClass('popin')){
9933if(za==='content'&&window.var_zajax_content){
9934za=window.var_zajax_content;
9935}
9936url=parametre_url(url,'var_zajax',za||window.var_zajax_content);
9937$e.removeAttr('data-var_zajax');
9938type='ajax';
9939}
9940if((url!==$e.attr('href')||(!popin&&type))&&url!=="./"){
9941$e.attr('data-href-popin',url);
9942}
9943}
9944url=popin||url;
9945if(!type){
9946var attrs=$e.data();
9947var types=['inline','html','iframe','image','ajax'];
9948types.some(function(e){
9949var k=b.ns+e.charAt(0).toUpperCase()+e.slice(1);
9950if(attrs[k]){
9951type=e;
9952return true;
9953}
9954});
9955}
9956if(!type&&typeof(mediabox_autodetect_href)=='function'){
9957type=mediabox_autodetect_href(url);
9958}
9959if(!type||$e.hasClass('boxIframe')){
9960type="iframe";
9961$e.removeClass('boxIframe');
9962}
9963$e.attr('data-'+b.ns+'-type',type);
9964});
9965}
9966if(b.sel_g){
9967var $items=$();
9968$(b.sel_g).each(function(i,e){
9969$items=$items.add(
9970$(this).is('a[type^=\'image\']')
9971?$(this)
9972:$(this).find('a[type^=\'image\']')
9973);
9974});
9975$items
9976.not('.hasbox')
9977.removeAttr('onclick')
9978.mediabox({rel:'galerieauto',slideshow:true,slideshowAuto:false,type:'image'})
9979.addClass('hasbox');
9980}
9981if(b.tt_img){
9982$('a[type^="image"],a[href$=".png"],a[href$=".jpg"],a[href$=".jpeg"],a[href$=".svg"],a[href$=".webp"]')
9983.not('.hasbox')
9984.removeAttr('onclick')
9985.mediabox({type:'image'})
9986.addClass('hasbox')
9987;
9988}
9989$(b.sel_c)
9990.not('.hasbox')
9991.mediabox()
9992.addClass('hasbox')
9993;
9994$('[data-href-popin]',this)
9995.not('.hasbox')
9996.click(function(){if($.modalbox)$.modalbox($(this).attr('data-href-popin'),$.parseMediaboxOptions(b.ns,this));return false;})
9997.addClass('hasbox');
9998};
9999(function($){
10000if(typeof onAjaxLoad=='function')onAjaxLoad(mediaboxInit);
10001$(mediaboxInit);
10002})(jQuery);
10003function mediabox_autodetect_href(href,options){
10004options=$.extend({
10005breakMode:true,
10006tests:{
10007image:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
10008inline:/^[#.]\w/,
10009html:/^\s*<[\w!][^<]*>/,
10010ajax:/((\?|&(amp;)?)var_z?ajax=|cache-ajaxload\/)/i,
10011iframe:/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/i,
10012},
10013},options);
10014var matched=options.breakMode?false:[];
10015$.each(options.tests,function(type,regex){
10016if(href.match(regex)&&!href.match('/File:[^/]+(\\#|[?]|$)')){
10017if(options.breakMode){
10018matched=type;
10019return false;
10020}else{
10021matched.push(type);
10022}
10023}
10024});
10025return matched;
10026};
10027
10028

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.