PageSourceSearch

https://www.marsouin.org/local/cache-js/9f3cfc05f2a8866773766c0bca468efa.js?1790091133

js marsouin.org collected 2026-09-24 09:53:00 UTC 279,484 bytes, 11,955 lines download raw bytes

vendor: 144,791 bytes, lines 1-6636
1/* compact [
2	prive/javascript/jquery.js?1790091430
3	prive/javascript/jquery.form.js?1790091430
4	prive/javascript/jquery.autosave.js?1790091430
5	prive/javascript/jquery.placeholder-label.js?1790091430
6	prive/javascript/ajaxCallback.js?1790091430
7	prive/javascript/js.cookie.js?1790091430
8	plugins-dist/mediabox/lib/lity/lity.js?1790091430
9	plugins-dist/mediabox/lity/js/lity.mediabox.js?1790091430
10	plugins-dist/mediabox/javascript/spip.mediabox.js?1790091430
11	plugins-dist/porte_plume/javascript/jquery.markitup_pour_spip.js?1790091430
12	plugins-dist/porte_plume/javascript/jquery.previsu_spip.js?1790091430
13	local/cache-js/jsdyn-javascript_porte_plume_start_js-6324433a.js?1790091133
14	plugins/auto/ancresdouces/v3.0.0/js/jquery.scrollto.js
15	plugins/auto/ancresdouces/v3.0.0/js/jquery.localscroll.js
16	prive/javascript/js.cookie.js?1790091430
17	local/cache-js/jsdyn-socialtags_js-4351184c.js?1790091133
18	plugins/auto/links/v4.1.2/links.js
19] 55.8% */
20
21/* prive/javascript/jquery.js?1790091430 */
22
23(function(global,factory){
24"use strict";
25if(typeof module==="object"&&typeof module.exports==="object"){
26module.exports=global.document?
27factory(global,true):
28function(w){
29if(!w.document){
30throw new Error("jQuery requires a window with a document");
31}
32return factory(w);
33};
34}else{
35factory(global);
36}
37})(typeof window!=="undefined"?window:this,function(window,noGlobal){
38"use strict";
39var arr=[];
40var getProto=Object.getPrototypeOf;
41var slice=arr.slice;
42var flat=arr.flat?function(array){
43return arr.flat.call(array);
44}:function(array){
45return arr.concat.apply([],array);
46};
47var push=arr.push;
48var indexOf=arr.indexOf;
49var class2type={};
50var toString=class2type.toString;
51var hasOwn=class2type.hasOwnProperty;
52var fnToString=hasOwn.toString;
53var ObjectFunctionString=fnToString.call(Object);
54var support={};
55var isFunction=function isFunction(obj){
56return typeof obj==="function"&&typeof obj.nodeType!=="number"&&
57typeof obj.item!=="function";
58};
59var isWindow=function isWindow(obj){
60return obj!=null&&obj===obj.window;
61};
62var document=window.document;
63var preservedScriptAttributes={
64type:true,
65src:true,
66nonce:true,
67noModule:true
68};
69function DOMEval(code,node,doc){
70doc=doc||document;
71var i,val,
72script=doc.createElement("script");
73script.text=code;
74if(node){
75for(i in preservedScriptAttributes){
76val=node[i]||node.getAttribute&&node.getAttribute(i);
77if(val){
78script.setAttribute(i,val);
79}
80}
81}
82doc.head.appendChild(script).parentNode.removeChild(script);
83}
84function toType(obj){
85if(obj==null){
86return obj+"";
87}
88return typeof obj==="object"||typeof obj==="function"?
89class2type[toString.call(obj)]||"object":
90typeof obj;
91}
92var version="3.7.1",
93rhtmlSuffix=/HTML$/i,
94jQuery=function(selector,context){
95return new jQuery.fn.init(selector,context);
96};
97jQuery.fn=jQuery.prototype={
98jquery:version,
99constructor:jQuery,
100length:0,
101toArray:function(){
102return slice.call(this);
103},
104get:function(num){
105if(num==null){
106return slice.call(this);
107}
108return num<0?this[num+this.length]:this[num];
109},
110pushStack:function(elems){
111var ret=jQuery.merge(this.constructor(),elems);
112ret.prevObject=this;
113return ret;
114},
115each:function(callback){
116return jQuery.each(this,callback);
117},
118map:function(callback){
119return this.pushStack(jQuery.map(this,function(elem,i){
120return callback.call(elem,i,elem);
121}));
122},
123slice:function(){
124return this.pushStack(slice.apply(this,arguments));
125},
126first:function(){
127return this.eq(0);
128},
129last:function(){
130return this.eq(-1);
131},
132even:function(){
133return this.pushStack(jQuery.grep(this,function(_elem,i){
134return(i+1)%2;
135}));
136},
137odd:function(){
138return this.pushStack(jQuery.grep(this,function(_elem,i){
139return i%2;
140}));
141},
142eq:function(i){
143var len=this.length,
144j=+i+(i<0?len:0);
145return this.pushStack(j>=0&&j<len?[this[j]]:[]);
146},
147end:function(){
148return this.prevObject||this.constructor();
149},
150push:push,
151sort:arr.sort,
152splice:arr.splice
153};
154jQuery.extend=jQuery.fn.extend=function(){
155var options,name,src,copy,copyIsArray,clone,
156target=arguments[0]||{},
157i=1,
158length=arguments.length,
159deep=false;
160if(typeof target==="boolean"){
161deep=target;
162target=arguments[i]||{};
163i++;
164}
165if(typeof target!=="object"&&!isFunction(target)){
166target={};
167}
168if(i===length){
169target=this;
170i--;
171}
172for(;i<length;i++){
173if((options=arguments[i])!=null){
174for(name in options){
175copy=options[name];
176if(name==="__proto__"||target===copy){
177continue;
178}
179if(deep&&copy&&(jQuery.isPlainObject(copy)||
180(copyIsArray=Array.isArray(copy)))){
181src=target[name];
182if(copyIsArray&&!Array.isArray(src)){
183clone=[];
184}else if(!copyIsArray&&!jQuery.isPlainObject(src)){
185clone={};
186}else{
187clone=src;
188}
189copyIsArray=false;
190target[name]=jQuery.extend(deep,clone,copy);
191}else if(copy!==undefined){
192target[name]=copy;
193}
194}
195}
196}
197return target;
198};
199jQuery.extend({
200expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),
201isReady:true,
202error:function(msg){
203throw new Error(msg);
204},
205noop:function(){},
206isPlainObject:function(obj){
207var proto,Ctor;
208if(!obj||toString.call(obj)!=="[object Object]"){
209return false;
210}
211proto=getProto(obj);
212if(!proto){
213return true;
214}
215Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;
216return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;
217},
218isEmptyObject:function(obj){
219var name;
220for(name in obj){
221return false;
222}
223return true;
224},
225globalEval:function(code,options,doc){
226DOMEval(code,{nonce:options&&options.nonce},doc);
227},
228each:function(obj,callback){
229var length,i=0;
230if(isArrayLike(obj)){
231length=obj.length;
232for(;i<length;i++){
233if(callback.call(obj[i],i,obj[i])===false){
234break;
235}
236}
237}else{
238for(i in obj){
239if(callback.call(obj[i],i,obj[i])===false){
240break;
241}
242}
243}
244return obj;
245},
246text:function(elem){
247var node,
248ret="",
249i=0,
250nodeType=elem.nodeType;
251if(!nodeType){
252while((node=elem[i++])){
253ret+=jQuery.text(node);
254}
255}
256if(nodeType===1||nodeType===11){
257return elem.textContent;
258}
259if(nodeType===9){
260return elem.documentElement.textContent;
261}
262if(nodeType===3||nodeType===4){
263return elem.nodeValue;
264}
265return ret;
266},
267makeArray:function(arr,results){
268var ret=results||[];
269if(arr!=null){
270if(isArrayLike(Object(arr))){
271jQuery.merge(ret,
272typeof arr==="string"?
273[arr]:arr
274);
275}else{
276push.call(ret,arr);
277}
278}
279return ret;
280},
281inArray:function(elem,arr,i){
282return arr==null?-1:indexOf.call(arr,elem,i);
283},
284isXMLDoc:function(elem){
285var namespace=elem&&elem.namespaceURI,
286docElem=elem&&(elem.ownerDocument||elem).documentElement;
287return!rhtmlSuffix.test(namespace||docElem&&docElem.nodeName||"HTML");
288},
289merge:function(first,second){
290var len=+second.length,
291j=0,
292i=first.length;
293for(;j<len;j++){
294first[i++]=second[j];
295}
296first.length=i;
297return first;
298},
299grep:function(elems,callback,invert){
300var callbackInverse,
301matches=[],
302i=0,
303length=elems.length,
304callbackExpect=!invert;
305for(;i<length;i++){
306callbackInverse=!callback(elems[i],i);
307if(callbackInverse!==callbackExpect){
308matches.push(elems[i]);
309}
310}
311return matches;
312},
313map:function(elems,callback,arg){
314var length,value,
315i=0,
316ret=[];
317if(isArrayLike(elems)){
318length=elems.length;
319for(;i<length;i++){
320value=callback(elems[i],i,arg);
321if(value!=null){
322ret.push(value);
323}
324}
325}else{
326for(i in elems){
327value=callback(elems[i],i,arg);
328if(value!=null){
329ret.push(value);
330}
331}
332}
333return flat(ret);
334},
335guid:1,
336support:support
337});
338if(typeof Symbol==="function"){
339jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];
340}
341jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
342function(_i,name){
343class2type["[object "+name+"]"]=name.toLowerCase();
344});
345function isArrayLike(obj){
346var length=!!obj&&"length"in obj&&obj.length,
347type=toType(obj);
348if(isFunction(obj)||isWindow(obj)){
349return false;
350}
351return type==="array"||length===0||
352typeof length==="number"&&length>0&&(length-1)in obj;
353}
354function nodeName(elem,name){
355return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();
356}
357var pop=arr.pop;
358var sort=arr.sort;
359var splice=arr.splice;
360var whitespace="[\\x20\\t\\r\\n\\f]";
361var rtrimCSS=new RegExp(
362"^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$",
363"g"
364);
365jQuery.contains=function(a,b){
366var bup=b&&b.parentNode;
367return a===bup||!!(bup&&bup.nodeType===1&&(
368a.contains?
369a.contains(bup):
370a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16
371));
372};
373var rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
374function fcssescape(ch,asCodePoint){
375if(asCodePoint){
376if(ch==="\0"){
377return"\uFFFD";
378}
379return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ";
380}
381return"\\"+ch;
382}
383jQuery.escapeSelector=function(sel){
384return(sel+"").replace(rcssescape,fcssescape);
385};
386var preferredDoc=document,
387pushNative=push;
388(function(){
389var i,
390Expr,
391outermostContext,
392sortInput,
393hasDuplicate,
394push=pushNative,
395document,
396documentElement,
397documentIsHTML,
398rbuggyQSA,
399matches,
400expando=jQuery.expando,
401dirruns=0,
402done=0,
403classCache=createCache(),
404tokenCache=createCache(),
405compilerCache=createCache(),
406nonnativeSelectorCache=createCache(),
407sortOrder=function(a,b){
408if(a===b){
409hasDuplicate=true;
410}
411return 0;
412},
413booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|"+
414"loop|multiple|open|readonly|required|scoped",
415identifier="(?:\\\\[\\da-fA-F]{1,6}"+whitespace+
416"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
417attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+
418"*([*^$|!~]?=)"+whitespace+
419"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+
420whitespace+"*\\]",
421pseudos=":("+identifier+")(?:\\(("+
422"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+
423"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+
424".*"+
425")\\)|)",
426rwhitespace=new RegExp(whitespace+"+","g"),
427rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),
428rleadingCombinator=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+
429whitespace+"*"),
430rdescend=new RegExp(whitespace+"|>"),
431rpseudo=new RegExp(pseudos),
432ridentifier=new RegExp("^"+identifier+"$"),
433matchExpr={
434ID:new RegExp("^#("+identifier+")"),
435CLASS:new RegExp("^\\.("+identifier+")"),
436TAG:new RegExp("^("+identifier+"|[*])"),
437ATTR:new RegExp("^"+attributes),
438PSEUDO:new RegExp("^"+pseudos),
439CHILD:new RegExp(
440"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+
441whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+
442whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),
443bool:new RegExp("^(?:"+booleans+")$","i"),
444needsContext:new RegExp("^"+whitespace+
445"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+
446"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")
447},
448rinputs=/^(?:input|select|textarea|button)$/i,
449rheader=/^h\d$/i,
450rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
451rsibling=/[+~]/,
452runescape=new RegExp("\\\\[\\da-fA-F]{1,6}"+whitespace+
453"?|\\\\([^\\r\\n\\f])","g"),
454funescape=function(escape,nonHex){
455var high="0x"+escape.slice(1)-0x10000;
456if(nonHex){
457return nonHex;
458}
459return high<0?
460String.fromCharCode(high+0x10000):
461String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);
462},
463unloadHandler=function(){
464setDocument();
465},
466inDisabledFieldset=addCombinator(
467function(elem){
468return elem.disabled===true&&nodeName(elem,"fieldset");
469},
470{dir:"parentNode",next:"legend"}
471);
472function safeActiveElement(){
473try{
474return document.activeElement;
475}catch(err){}
476}
477try{
478push.apply(
479(arr=slice.call(preferredDoc.childNodes)),
480preferredDoc.childNodes
481);
482arr[preferredDoc.childNodes.length].nodeType;
483}catch(e){
484push={
485apply:function(target,els){
486pushNative.apply(target,slice.call(els));
487},
488call:function(target){
489pushNative.apply(target,slice.call(arguments,1));
490}
491};
492}
493function find(selector,context,results,seed){
494var m,i,elem,nid,match,groups,newSelector,
495newContext=context&&context.ownerDocument,
496nodeType=context?context.nodeType:9;
497results=results||[];
498if(typeof selector!=="string"||!selector||
499nodeType!==1&&nodeType!==9&&nodeType!==11){
500return results;
501}
502if(!seed){
503setDocument(context);
504context=context||document;
505if(documentIsHTML){
506if(nodeType!==11&&(match=rquickExpr.exec(selector))){
507if((m=match[1])){
508if(nodeType===9){
509if((elem=context.getElementById(m))){
510if(elem.id===m){
511push.call(results,elem);
512return results;
513}
514}else{
515return results;
516}
517}else{
518if(newContext&&(elem=newContext.getElementById(m))&&
519find.contains(context,elem)&&
520elem.id===m){
521push.call(results,elem);
522return results;
523}
524}
525}else if(match[2]){
526push.apply(results,context.getElementsByTagName(selector));
527return results;
528}else if((m=match[3])&&context.getElementsByClassName){
529push.apply(results,context.getElementsByClassName(m));
530return results;
531}
532}
533if(!nonnativeSelectorCache[selector+" "]&&
534(!rbuggyQSA||!rbuggyQSA.test(selector))){
535newSelector=selector;
536newContext=context;
537if(nodeType===1&&
538(rdescend.test(selector)||rleadingCombinator.test(selector))){
539newContext=rsibling.test(selector)&&testContext(context.parentNode)||
540context;
541if(newContext!=context||!support.scope){
542if((nid=context.getAttribute("id"))){
543nid=jQuery.escapeSelector(nid);
544}else{
545context.setAttribute("id",(nid=expando));
546}
547}
548groups=tokenize(selector);
549i=groups.length;
550while(i--){
551groups[i]=(nid?"#"+nid:":scope")+" "+
552toSelector(groups[i]);
553}
554newSelector=groups.join(",");
555}
556try{
557push.apply(results,
558newContext.querySelectorAll(newSelector)
559);
560return results;
561}catch(qsaError){
562nonnativeSelectorCache(selector,true);
563}finally{
564if(nid===expando){
565context.removeAttribute("id");
566}
567}
568}
569}
570}
571return select(selector.replace(rtrimCSS,"$1"),context,results,seed);
572}
573function createCache(){
574var keys=[];
575function cache(key,value){
576if(keys.push(key+" ")>Expr.cacheLength){
577delete cache[keys.shift()];
578}
579return(cache[key+" "]=value);
580}
581return cache;
582}
583function markFunction(fn){
584fn[expando]=true;
585return fn;
586}
587function assert(fn){
588var el=document.createElement("fieldset");
589try{
590return!!fn(el);
591}catch(e){
592return false;
593}finally{
594if(el.parentNode){
595el.parentNode.removeChild(el);
596}
597el=null;
598}
599}
600function createInputPseudo(type){
601return function(elem){
602return nodeName(elem,"input")&&elem.type===type;
603};
604}
605function createButtonPseudo(type){
606return function(elem){
607return(nodeName(elem,"input")||nodeName(elem,"button"))&&
608elem.type===type;
609};
610}
611function createDisabledPseudo(disabled){
612return function(elem){
613if("form"in elem){
614if(elem.parentNode&&elem.disabled===false){
615if("label"in elem){
616if("label"in elem.parentNode){
617return elem.parentNode.disabled===disabled;
618}else{
619return elem.disabled===disabled;
620}
621}
622return elem.isDisabled===disabled||
623elem.isDisabled!==!disabled&&
624inDisabledFieldset(elem)===disabled;
625}
626return elem.disabled===disabled;
627}else if("label"in elem){
628return elem.disabled===disabled;
629}
630return false;
631};
632}
633function createPositionalPseudo(fn){
634return markFunction(function(argument){
635argument=+argument;
636return markFunction(function(seed,matches){
637var j,
638matchIndexes=fn([],seed.length,argument),
639i=matchIndexes.length;
640while(i--){
641if(seed[(j=matchIndexes[i])]){
642seed[j]=!(matches[j]=seed[j]);
643}
644}
645});
646});
647}
648function testContext(context){
649return context&&typeof context.getElementsByTagName!=="undefined"&&context;
650}
651function setDocument(node){
652var subWindow,
653doc=node?node.ownerDocument||node:preferredDoc;
654if(doc==document||doc.nodeType!==9||!doc.documentElement){
655return document;
656}
657document=doc;
658documentElement=document.documentElement;
659documentIsHTML=!jQuery.isXMLDoc(document);
660matches=documentElement.matches||
661documentElement.webkitMatchesSelector||
662documentElement.msMatchesSelector;
663if(documentElement.msMatchesSelector&&
664preferredDoc!=document&&
665(subWindow=document.defaultView)&&subWindow.top!==subWindow){
666subWindow.addEventListener("unload",unloadHandler);
667}
668support.getById=assert(function(el){
669documentElement.appendChild(el).id=jQuery.expando;
670return!document.getElementsByName||
671!document.getElementsByName(jQuery.expando).length;
672});
673support.disconnectedMatch=assert(function(el){
674return matches.call(el,"*");
675});
676support.scope=assert(function(){
677return document.querySelectorAll(":scope");
678});
679support.cssHas=assert(function(){
680try{
681document.querySelector(":has(*,:jqfake)");
682return false;
683}catch(e){
684return true;
685}
686});
687if(support.getById){
688Expr.filter.ID=function(id){
689var attrId=id.replace(runescape,funescape);
690return function(elem){
691return elem.getAttribute("id")===attrId;
692};
693};
694Expr.find.ID=function(id,context){
695if(typeof context.getElementById!=="undefined"&&documentIsHTML){
696var elem=context.getElementById(id);
697return elem?[elem]:[];
698}
699};
700}else{
701Expr.filter.ID=function(id){
702var attrId=id.replace(runescape,funescape);
703return function(elem){
704var node=typeof elem.getAttributeNode!=="undefined"&&
705elem.getAttributeNode("id");
706return node&&node.value===attrId;
707};
708};
709Expr.find.ID=function(id,context){
710if(typeof context.getElementById!=="undefined"&&documentIsHTML){
711var node,i,elems,
712elem=context.getElementById(id);
713if(elem){
714node=elem.getAttributeNode("id");
715if(node&&node.value===id){
716return[elem];
717}
718elems=context.getElementsByName(id);
719i=0;
720while((elem=elems[i++])){
721node=elem.getAttributeNode("id");
722if(node&&node.value===id){
723return[elem];
724}
725}
726}
727return[];
728}
729};
730}
731Expr.find.TAG=function(tag,context){
732if(typeof context.getElementsByTagName!=="undefined"){
733return context.getElementsByTagName(tag);
734}else{
735return context.querySelectorAll(tag);
736}
737};
738Expr.find.CLASS=function(className,context){
739if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){
740return context.getElementsByClassName(className);
741}
742};
743rbuggyQSA=[];
744assert(function(el){
745var input;
746documentElement.appendChild(el).innerHTML=
747"<a id='"+expando+"' href='' disabled='disabled'></a>"+
748"<select id='"+expando+"-\r\\' disabled='disabled'>"+
749"<option selected=''></option></select>";
750if(!el.querySelectorAll("[selected]").length){
751rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");
752}
753if(!el.querySelectorAll("[id~="+expando+"-]").length){
754rbuggyQSA.push("~=");
755}
756if(!el.querySelectorAll("a#"+expando+"+*").length){
757rbuggyQSA.push(".#.+[+~]");
758}
759if(!el.querySelectorAll(":checked").length){
760rbuggyQSA.push(":checked");
761}
762input=document.createElement("input");
763input.setAttribute("type","hidden");
764el.appendChild(input).setAttribute("name","D");
765documentElement.appendChild(el).disabled=true;
766if(el.querySelectorAll(":disabled").length!==2){
767rbuggyQSA.push(":enabled",":disabled");
768}
769input=document.createElement("input");
770input.setAttribute("name","");
771el.appendChild(input);
772if(!el.querySelectorAll("[name='']").length){
773rbuggyQSA.push("\\["+whitespace+"*name"+whitespace+"*="+
774whitespace+"*(?:''|\"\")");
775}
776});
777if(!support.cssHas){
778rbuggyQSA.push(":has");
779}
780rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));
781sortOrder=function(a,b){
782if(a===b){
783hasDuplicate=true;
784return 0;
785}
786var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;
787if(compare){
788return compare;
789}
790compare=(a.ownerDocument||a)==(b.ownerDocument||b)?
791a.compareDocumentPosition(b):
7921;
793if(compare&1||
794(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){
795if(a===document||a.ownerDocument==preferredDoc&&
796find.contains(preferredDoc,a)){
797return-1;
798}
799if(b===document||b.ownerDocument==preferredDoc&&
800find.contains(preferredDoc,b)){
801return 1;
802}
803return sortInput?
804(indexOf.call(sortInput,a)-indexOf.call(sortInput,b)):
8050;
806}
807return compare&4?-1:1;
808};
809return document;
810}
811find.matches=function(expr,elements){
812return find(expr,null,null,elements);
813};
814find.matchesSelector=function(elem,expr){
815setDocument(elem);
816if(documentIsHTML&&
817!nonnativeSelectorCache[expr+" "]&&
818(!rbuggyQSA||!rbuggyQSA.test(expr))){
819try{
820var ret=matches.call(elem,expr);
821if(ret||support.disconnectedMatch||
822elem.document&&elem.document.nodeType!==11){
823return ret;
824}
825}catch(e){
826nonnativeSelectorCache(expr,true);
827}
828}
829return find(expr,document,null,[elem]).length>0;
830};
831find.contains=function(context,elem){
832if((context.ownerDocument||context)!=document){
833setDocument(context);
834}
835return jQuery.contains(context,elem);
836};
837find.attr=function(elem,name){
838if((elem.ownerDocument||elem)!=document){
839setDocument(elem);
840}
841var fn=Expr.attrHandle[name.toLowerCase()],
842val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?
843fn(elem,name,!documentIsHTML):
844undefined;
845if(val!==undefined){
846return val;
847}
848return elem.getAttribute(name);
849};
850find.error=function(msg){
851throw new Error("Syntax error, unrecognized expression: "+msg);
852};
853jQuery.uniqueSort=function(results){
854var elem,
855duplicates=[],
856j=0,
857i=0;
858hasDuplicate=!support.sortStable;
859sortInput=!support.sortStable&&slice.call(results,0);
860sort.call(results,sortOrder);
861if(hasDuplicate){
862while((elem=results[i++])){
863if(elem===results[i]){
864j=duplicates.push(i);
865}
866}
867while(j--){
868splice.call(results,duplicates[j],1);
869}
870}
871sortInput=null;
872return results;
873};
874jQuery.fn.uniqueSort=function(){
875return this.pushStack(jQuery.uniqueSort(slice.apply(this)));
876};
877Expr=jQuery.expr={
878cacheLength:50,
879createPseudo:markFunction,
880match:matchExpr,
881attrHandle:{},
882find:{},
883relative:{
884">":{dir:"parentNode",first:true},
885" ":{dir:"parentNode"},
886"+":{dir:"previousSibling",first:true},
887"~":{dir:"previousSibling"}
888},
889preFilter:{
890ATTR:function(match){
891match[1]=match[1].replace(runescape,funescape);
892match[3]=(match[3]||match[4]||match[5]||"")
893.replace(runescape,funescape);
894if(match[2]==="~="){
895match[3]=" "+match[3]+" ";
896}
897return match.slice(0,4);
898},
899CHILD:function(match){
900match[1]=match[1].toLowerCase();
901if(match[1].slice(0,3)==="nth"){
902if(!match[3]){
903find.error(match[0]);
904}
905match[4]=+(match[4]?
906match[5]+(match[6]||1):
9072*(match[3]==="even"||match[3]==="odd")
908);
909match[5]=+((match[7]+match[8])||match[3]==="odd");
910}else if(match[3]){
911find.error(match[0]);
912}
913return match;
914},
915PSEUDO:function(match){
916var excess,
917unquoted=!match[6]&&match[2];
918if(matchExpr.CHILD.test(match[0])){
919return null;
920}
921if(match[3]){
922match[2]=match[4]||match[5]||"";
923}else if(unquoted&&rpseudo.test(unquoted)&&
924(excess=tokenize(unquoted,true))&&
925(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){
926match[0]=match[0].slice(0,excess);
927match[2]=unquoted.slice(0,excess);
928}
929return match.slice(0,3);
930}
931},
932filter:{
933TAG:function(nodeNameSelector){
934var expectedNodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();
935return nodeNameSelector==="*"?
936function(){
937return true;
938}:
939function(elem){
940return nodeName(elem,expectedNodeName);
941};
942},
943CLASS:function(className){
944var pattern=classCache[className+" "];
945return pattern||
946(pattern=new RegExp("(^|"+whitespace+")"+className+
947"("+whitespace+"|$)"))&&
948classCache(className,function(elem){
949return pattern.test(
950typeof elem.className==="string"&&elem.className||
951typeof elem.getAttribute!=="undefined"&&
952elem.getAttribute("class")||
953""
954);
955});
956},
957ATTR:function(name,operator,check){
958return function(elem){
959var result=find.attr(elem,name);
960if(result==null){
961return operator==="!=";
962}
963if(!operator){
964return true;
965}
966result+="";
967if(operator==="="){
968return result===check;
969}
970if(operator==="!="){
971return result!==check;
972}
973if(operator==="^="){
974return check&&result.indexOf(check)===0;
975}
976if(operator==="*="){
977return check&&result.indexOf(check)>-1;
978}
979if(operator==="$="){
980return check&&result.slice(-check.length)===check;
981}
982if(operator==="~="){
983return(" "+result.replace(rwhitespace," ")+" ")
984.indexOf(check)>-1;
985}
986if(operator==="|="){
987return result===check||result.slice(0,check.length+1)===check+"-";
988}
989return false;
990};
991},
992CHILD:function(type,what,_argument,first,last){
993var simple=type.slice(0,3)!=="nth",
994forward=type.slice(-4)!=="last",
995ofType=what==="of-type";
996return first===1&&last===0?
997function(elem){
998return!!elem.parentNode;
999}:
1000function(elem,_context,xml){
1001var cache,outerCache,node,nodeIndex,start,
1002dir=simple!==forward?"nextSibling":"previousSibling",
1003parent=elem.parentNode,
1004name=ofType&&elem.nodeName.toLowerCase(),
1005useCache=!xml&&!ofType,
1006diff=false;
1007if(parent){
1008if(simple){
1009while(dir){
1010node=elem;
1011while((node=node[dir])){
1012if(ofType?
1013nodeName(node,name):
1014node.nodeType===1){
1015return false;
1016}
1017}
1018start=dir=type==="only"&&!start&&"nextSibling";
1019}
1020return true;
1021}
1022start=[forward?parent.firstChild:parent.lastChild];
1023if(forward&&useCache){
1024outerCache=parent[expando]||(parent[expando]={});
1025cache=outerCache[type]||[];
1026nodeIndex=cache[0]===dirruns&&cache[1];
1027diff=nodeIndex&&cache[2];
1028node=nodeIndex&&parent.childNodes[nodeIndex];
1029while((node=++nodeIndex&&node&&node[dir]||
1030(diff=nodeIndex=0)||start.pop())){
1031if(node.nodeType===1&&++diff&&node===elem){
1032outerCache[type]=[dirruns,nodeIndex,diff];
1033break;
1034}
1035}
1036}else{
1037if(useCache){
1038outerCache=elem[expando]||(elem[expando]={});
1039cache=outerCache[type]||[];
1040nodeIndex=cache[0]===dirruns&&cache[1];
1041diff=nodeIndex;
1042}
1043if(diff===false){
1044while((node=++nodeIndex&&node&&node[dir]||
1045(diff=nodeIndex=0)||start.pop())){
1046if((ofType?
1047nodeName(node,name):
1048node.nodeType===1)&&
1049++diff){
1050if(useCache){
1051outerCache=node[expando]||
1052(node[expando]={});
1053outerCache[type]=[dirruns,diff];
1054}
1055if(node===elem){
1056break;
1057}
1058}
1059}
1060}
1061}
1062diff-=last;
1063return diff===first||(diff%first===0&&diff/first>=0);
1064}
1065};
1066},
1067PSEUDO:function(pseudo,argument){
1068var args,
1069fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||
1070find.error("unsupported pseudo: "+pseudo);
1071if(fn[expando]){
1072return fn(argument);
1073}
1074if(fn.length>1){
1075args=[pseudo,pseudo,"",argument];
1076return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?
1077markFunction(function(seed,matches){
1078var idx,
1079matched=fn(seed,argument),
1080i=matched.length;
1081while(i--){
1082idx=indexOf.call(seed,matched[i]);
1083seed[idx]=!(matches[idx]=matched[i]);
1084}
1085}):
1086function(elem){
1087return fn(elem,0,args);
1088};
1089}
1090return fn;
1091}
1092},
1093pseudos:{
1094not:markFunction(function(selector){
1095var input=[],
1096results=[],
1097matcher=compile(selector.replace(rtrimCSS,"$1"));
1098return matcher[expando]?
1099markFunction(function(seed,matches,_context,xml){
1100var elem,
1101unmatched=matcher(seed,null,xml,[]),
1102i=seed.length;
1103while(i--){
1104if((elem=unmatched[i])){
1105seed[i]=!(matches[i]=elem);
1106}
1107}
1108}):
1109function(elem,_context,xml){
1110input[0]=elem;
1111matcher(input,null,xml,results);
1112input[0]=null;
1113return!results.pop();
1114};
1115}),
1116has:markFunction(function(selector){
1117return function(elem){
1118return find(selector,elem).length>0;
1119};
1120}),
1121contains:markFunction(function(text){
1122text=text.replace(runescape,funescape);
1123return function(elem){
1124return(elem.textContent||jQuery.text(elem)).indexOf(text)>-1;
1125};
1126}),
1127lang:markFunction(function(lang){
1128if(!ridentifier.test(lang||"")){
1129find.error("unsupported lang: "+lang);
1130}
1131lang=lang.replace(runescape,funescape).toLowerCase();
1132return function(elem){
1133var elemLang;
1134do{
1135if((elemLang=documentIsHTML?
1136elem.lang:
1137elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){
1138elemLang=elemLang.toLowerCase();
1139return elemLang===lang||elemLang.indexOf(lang+"-")===0;
1140}
1141}while((elem=elem.parentNode)&&elem.nodeType===1);
1142return false;
1143};
1144}),
1145target:function(elem){
1146var hash=window.location&&window.location.hash;
1147return hash&&hash.slice(1)===elem.id;
1148},
1149root:function(elem){
1150return elem===documentElement;
1151},
1152focus:function(elem){
1153return elem===safeActiveElement()&&
1154document.hasFocus()&&
1155!!(elem.type||elem.href||~elem.tabIndex);
1156},
1157enabled:createDisabledPseudo(false),
1158disabled:createDisabledPseudo(true),
1159checked:function(elem){
1160return(nodeName(elem,"input")&&!!elem.checked)||
1161(nodeName(elem,"option")&&!!elem.selected);
1162},
1163selected:function(elem){
1164if(elem.parentNode){
1165elem.parentNode.selectedIndex;
1166}
1167return elem.selected===true;
1168},
1169empty:function(elem){
1170for(elem=elem.firstChild;elem;elem=elem.nextSibling){
1171if(elem.nodeType<6){
1172return false;
1173}
1174}
1175return true;
1176},
1177parent:function(elem){
1178return!Expr.pseudos.empty(elem);
1179},
1180header:function(elem){
1181return rheader.test(elem.nodeName);
1182},
1183input:function(elem){
1184return rinputs.test(elem.nodeName);
1185},
1186button:function(elem){
1187return nodeName(elem,"input")&&elem.type==="button"||
1188nodeName(elem,"button");
1189},
1190text:function(elem){
1191var attr;
1192return nodeName(elem,"input")&&elem.type==="text"&&
1193((attr=elem.getAttribute("type"))==null||
1194attr.toLowerCase()==="text");
1195},
1196first:createPositionalPseudo(function(){
1197return[0];
1198}),
1199last:createPositionalPseudo(function(_matchIndexes,length){
1200return[length-1];
1201}),
1202eq:createPositionalPseudo(function(_matchIndexes,length,argument){
1203return[argument<0?argument+length:argument];
1204}),
1205even:createPositionalPseudo(function(matchIndexes,length){
1206var i=0;
1207for(;i<length;i+=2){
1208matchIndexes.push(i);
1209}
1210return matchIndexes;
1211}),
1212odd:createPositionalPseudo(function(matchIndexes,length){
1213var i=1;
1214for(;i<length;i+=2){
1215matchIndexes.push(i);
1216}
1217return matchIndexes;
1218}),
1219lt:createPositionalPseudo(function(matchIndexes,length,argument){
1220var i;
1221if(argument<0){
1222i=argument+length;
1223}else if(argument>length){
1224i=length;
1225}else{
1226i=argument;
1227}
1228for(;--i>=0;){
1229matchIndexes.push(i);
1230}
1231return matchIndexes;
1232}),
1233gt:createPositionalPseudo(function(matchIndexes,length,argument){
1234var i=argument<0?argument+length:argument;
1235for(;++i<length;){
1236matchIndexes.push(i);
1237}
1238return matchIndexes;
1239})
1240}
1241};
1242Expr.pseudos.nth=Expr.pseudos.eq;
1243for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){
1244Expr.pseudos[i]=createInputPseudo(i);
1245}
1246for(i in{submit:true,reset:true}){
1247Expr.pseudos[i]=createButtonPseudo(i);
1248}
1249function setFilters(){}
1250setFilters.prototype=Expr.filters=Expr.pseudos;
1251Expr.setFilters=new setFilters();
1252function tokenize(selector,parseOnly){
1253var matched,match,tokens,type,
1254soFar,groups,preFilters,
1255cached=tokenCache[selector+" "];
1256if(cached){
1257return parseOnly?0:cached.slice(0);
1258}
1259soFar=selector;
1260groups=[];
1261preFilters=Expr.preFilter;
1262while(soFar){
1263if(!matched||(match=rcomma.exec(soFar))){
1264if(match){
1265soFar=soFar.slice(match[0].length)||soFar;
1266}
1267groups.push((tokens=[]));
1268}
1269matched=false;
1270if((match=rleadingCombinator.exec(soFar))){
1271matched=match.shift();
1272tokens.push({
1273value:matched,
1274type:match[0].replace(rtrimCSS," ")
1275});
1276soFar=soFar.slice(matched.length);
1277}
1278for(type in Expr.filter){
1279if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||
1280(match=preFilters[type](match)))){
1281matched=match.shift();
1282tokens.push({
1283value:matched,
1284type:type,
1285matches:match
1286});
1287soFar=soFar.slice(matched.length);
1288}
1289}
1290if(!matched){
1291break;
1292}
1293}
1294if(parseOnly){
1295return soFar.length;
1296}
1297return soFar?
1298find.error(selector):
1299tokenCache(selector,groups).slice(0);
1300}
1301function toSelector(tokens){
1302var i=0,
1303len=tokens.length,
1304selector="";
1305for(;i<len;i++){
1306selector+=tokens[i].value;
1307}
1308return selector;
1309}
1310function addCombinator(matcher,combinator,base){
1311var dir=combinator.dir,
1312skip=combinator.next,
1313key=skip||dir,
1314checkNonElements=base&&key==="parentNode",
1315doneName=done++;
1316return combinator.first?
1317function(elem,context,xml){
1318while((elem=elem[dir])){
1319if(elem.nodeType===1||checkNonElements){
1320return matcher(elem,context,xml);
1321}
1322}
1323return false;
1324}:
1325function(elem,context,xml){
1326var oldCache,outerCache,
1327newCache=[dirruns,doneName];
1328if(xml){
1329while((elem=elem[dir])){
1330if(elem.nodeType===1||checkNonElements){
1331if(matcher(elem,context,xml)){
1332return true;
1333}
1334}
1335}
1336}else{
1337while((elem=elem[dir])){
1338if(elem.nodeType===1||checkNonElements){
1339outerCache=elem[expando]||(elem[expando]={});
1340if(skip&&nodeName(elem,skip)){
1341elem=elem[dir]||elem;
1342}else if((oldCache=outerCache[key])&&
1343oldCache[0]===dirruns&&oldCache[1]===doneName){
1344return(newCache[2]=oldCache[2]);
1345}else{
1346outerCache[key]=newCache;
1347if((newCache[2]=matcher(elem,context,xml))){
1348return true;
1349}
1350}
1351}
1352}
1353}
1354return false;
1355};
1356}
1357function elementMatcher(matchers){
1358return matchers.length>1?
1359function(elem,context,xml){
1360var i=matchers.length;
1361while(i--){
1362if(!matchers[i](elem,context,xml)){
1363return false;
1364}
1365}
1366return true;
1367}:
1368matchers[0];
1369}
1370function multipleContexts(selector,contexts,results){
1371var i=0,
1372len=contexts.length;
1373for(;i<len;i++){
1374find(selector,contexts[i],results);
1375}
1376return results;
1377}
1378function condense(unmatched,map,filter,context,xml){
1379var elem,
1380newUnmatched=[],
1381i=0,
1382len=unmatched.length,
1383mapped=map!=null;
1384for(;i<len;i++){
1385if((elem=unmatched[i])){
1386if(!filter||filter(elem,context,xml)){
1387newUnmatched.push(elem);
1388if(mapped){
1389map.push(i);
1390}
1391}
1392}
1393}
1394return newUnmatched;
1395}
1396function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){
1397if(postFilter&&!postFilter[expando]){
1398postFilter=setMatcher(postFilter);
1399}
1400if(postFinder&&!postFinder[expando]){
1401postFinder=setMatcher(postFinder,postSelector);
1402}
1403return markFunction(function(seed,results,context,xml){
1404var temp,i,elem,matcherOut,
1405preMap=[],
1406postMap=[],
1407preexisting=results.length,
1408elems=seed||
1409multipleContexts(selector||"*",
1410context.nodeType?[context]:context,[]),
1411matcherIn=preFilter&&(seed||!selector)?
1412condense(elems,preMap,preFilter,context,xml):
1413elems;
1414if(matcher){
1415matcherOut=postFinder||(seed?preFilter:preexisting||postFilter)?
1416[]:
1417results;
1418matcher(matcherIn,matcherOut,context,xml);
1419}else{
1420matcherOut=matcherIn;
1421}
1422if(postFilter){
1423temp=condense(matcherOut,postMap);
1424postFilter(temp,[],context,xml);
1425i=temp.length;
1426while(i--){
1427if((elem=temp[i])){
1428matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem);
1429}
1430}
1431}
1432if(seed){
1433if(postFinder||preFilter){
1434if(postFinder){
1435temp=[];
1436i=matcherOut.length;
1437while(i--){
1438if((elem=matcherOut[i])){
1439temp.push((matcherIn[i]=elem));
1440}
1441}
1442postFinder(null,(matcherOut=[]),temp,xml);
1443}
1444i=matcherOut.length;
1445while(i--){
1446if((elem=matcherOut[i])&&
1447(temp=postFinder?indexOf.call(seed,elem):preMap[i])>-1){
1448seed[temp]=!(results[temp]=elem);
1449}
1450}
1451}
1452}else{
1453matcherOut=condense(
1454matcherOut===results?
1455matcherOut.splice(preexisting,matcherOut.length):
1456matcherOut
1457);
1458if(postFinder){
1459postFinder(null,results,matcherOut,xml);
1460}else{
1461push.apply(results,matcherOut);
1462}
1463}
1464});
1465}
1466function matcherFromTokens(tokens){
1467var checkContext,matcher,j,
1468len=tokens.length,
1469leadingRelative=Expr.relative[tokens[0].type],
1470implicitRelative=leadingRelative||Expr.relative[" "],
1471i=leadingRelative?1:0,
1472matchContext=addCombinator(function(elem){
1473return elem===checkContext;
1474},implicitRelative,true),
1475matchAnyContext=addCombinator(function(elem){
1476return indexOf.call(checkContext,elem)>-1;
1477},implicitRelative,true),
1478matchers=[function(elem,context,xml){
1479var ret=(!leadingRelative&&(xml||context!=outermostContext))||(
1480(checkContext=context).nodeType?
1481matchContext(elem,context,xml):
1482matchAnyContext(elem,context,xml));
1483checkContext=null;
1484return ret;
1485}];
1486for(;i<len;i++){
1487if((matcher=Expr.relative[tokens[i].type])){
1488matchers=[addCombinator(elementMatcher(matchers),matcher)];
1489}else{
1490matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);
1491if(matcher[expando]){
1492j=++i;
1493for(;j<len;j++){
1494if(Expr.relative[tokens[j].type]){
1495break;
1496}
1497}
1498return setMatcher(
1499i>1&&elementMatcher(matchers),
1500i>1&&toSelector(
1501tokens.slice(0,i-1)
1502.concat({value:tokens[i-2].type===" "?"*":""})
1503).replace(rtrimCSS,"$1"),
1504matcher,
1505i<j&&matcherFromTokens(tokens.slice(i,j)),
1506j<len&&matcherFromTokens((tokens=tokens.slice(j))),
1507j<len&&toSelector(tokens)
1508);
1509}
1510matchers.push(matcher);
1511}
1512}
1513return elementMatcher(matchers);
1514}
1515function matcherFromGroupMatchers(elementMatchers,setMatchers){
1516var bySet=setMatchers.length>0,
1517byElement=elementMatchers.length>0,
1518superMatcher=function(seed,context,xml,results,outermost){
1519var elem,j,matcher,
1520matchedCount=0,
1521i="0",
1522unmatched=seed&&[],
1523setMatched=[],
1524contextBackup=outermostContext,
1525elems=seed||byElement&&Expr.find.TAG("*",outermost),
1526dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),
1527len=elems.length;
1528if(outermost){
1529outermostContext=context==document||context||outermost;
1530}
1531for(;i!==len&&(elem=elems[i])!=null;i++){
1532if(byElement&&elem){
1533j=0;
1534if(!context&&elem.ownerDocument!=document){
1535setDocument(elem);
1536xml=!documentIsHTML;
1537}
1538while((matcher=elementMatchers[j++])){
1539if(matcher(elem,context||document,xml)){
1540push.call(results,elem);
1541break;
1542}
1543}
1544if(outermost){
1545dirruns=dirrunsUnique;
1546}
1547}
1548if(bySet){
1549if((elem=!matcher&&elem)){
1550matchedCount--;
1551}
1552if(seed){
1553unmatched.push(elem);
1554}
1555}
1556}
1557matchedCount+=i;
1558if(bySet&&i!==matchedCount){
1559j=0;
1560while((matcher=setMatchers[j++])){
1561matcher(unmatched,setMatched,context,xml);
1562}
1563if(seed){
1564if(matchedCount>0){
1565while(i--){
1566if(!(unmatched[i]||setMatched[i])){
1567setMatched[i]=pop.call(results);
1568}
1569}
1570}
1571setMatched=condense(setMatched);
1572}
1573push.apply(results,setMatched);
1574if(outermost&&!seed&&setMatched.length>0&&
1575(matchedCount+setMatchers.length)>1){
1576jQuery.uniqueSort(results);
1577}
1578}
1579if(outermost){
1580dirruns=dirrunsUnique;
1581outermostContext=contextBackup;
1582}
1583return unmatched;
1584};
1585return bySet?
1586markFunction(superMatcher):
1587superMatcher;
1588}
1589function compile(selector,match){
1590var i,
1591setMatchers=[],
1592elementMatchers=[],
1593cached=compilerCache[selector+" "];
1594if(!cached){
1595if(!match){
1596match=tokenize(selector);
1597}
1598i=match.length;
1599while(i--){
1600cached=matcherFromTokens(match[i]);
1601if(cached[expando]){
1602setMatchers.push(cached);
1603}else{
1604elementMatchers.push(cached);
1605}
1606}
1607cached=compilerCache(selector,
1608matcherFromGroupMatchers(elementMatchers,setMatchers));
1609cached.selector=selector;
1610}
1611return cached;
1612}
1613function select(selector,context,results,seed){
1614var i,tokens,token,type,find,
1615compiled=typeof selector==="function"&&selector,
1616match=!seed&&tokenize((selector=compiled.selector||selector));
1617results=results||[];
1618if(match.length===1){
1619tokens=match[0]=match[0].slice(0);
1620if(tokens.length>2&&(token=tokens[0]).type==="ID"&&
1621context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){
1622context=(Expr.find.ID(
1623token.matches[0].replace(runescape,funescape),
1624context
1625)||[])[0];
1626if(!context){
1627return results;
1628}else if(compiled){
1629context=context.parentNode;
1630}
1631selector=selector.slice(tokens.shift().value.length);
1632}
1633i=matchExpr.needsContext.test(selector)?0:tokens.length;
1634while(i--){
1635token=tokens[i];
1636if(Expr.relative[(type=token.type)]){
1637break;
1638}
1639if((find=Expr.find[type])){
1640if((seed=find(
1641token.matches[0].replace(runescape,funescape),
1642rsibling.test(tokens[0].type)&&
1643testContext(context.parentNode)||context
1644))){
1645tokens.splice(i,1);
1646selector=seed.length&&toSelector(tokens);
1647if(!selector){
1648push.apply(results,seed);
1649return results;
1650}
1651break;
1652}
1653}
1654}
1655}
1656(compiled||compile(selector,match))(
1657seed,
1658context,
1659!documentIsHTML,
1660results,
1661!context||rsibling.test(selector)&&testContext(context.parentNode)||context
1662);
1663return results;
1664}
1665support.sortStable=expando.split("").sort(sortOrder).join("")===expando;
1666setDocument();
1667support.sortDetached=assert(function(el){
1668return el.compareDocumentPosition(document.createElement("fieldset"))&1;
1669});
1670jQuery.find=find;
1671jQuery.expr[":"]=jQuery.expr.pseudos;
1672jQuery.unique=jQuery.uniqueSort;
1673find.compile=compile;
1674find.select=select;
1675find.setDocument=setDocument;
1676find.tokenize=tokenize;
1677find.escape=jQuery.escapeSelector;
1678find.getText=jQuery.text;
1679find.isXML=jQuery.isXMLDoc;
1680find.selectors=jQuery.expr;
1681find.support=jQuery.support;
1682find.uniqueSort=jQuery.uniqueSort;
1683})();
1684var dir=function(elem,dir,until){
1685var matched=[],
1686truncate=until!==undefined;
1687while((elem=elem[dir])&&elem.nodeType!==9){
1688if(elem.nodeType===1){
1689if(truncate&&jQuery(elem).is(until)){
1690break;
1691}
1692matched.push(elem);
1693}
1694}
1695return matched;
1696};
1697var siblings=function(n,elem){
1698var matched=[];
1699for(;n;n=n.nextSibling){
1700if(n.nodeType===1&&n!==elem){
1701matched.push(n);
1702}
1703}
1704return matched;
1705};
1706var rneedsContext=jQuery.expr.match.needsContext;
1707var rsingleTag=(/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i);
1708function winnow(elements,qualifier,not){
1709if(isFunction(qualifier)){
1710return jQuery.grep(elements,function(elem,i){
1711return!!qualifier.call(elem,i,elem)!==not;
1712});
1713}
1714if(qualifier.nodeType){
1715return jQuery.grep(elements,function(elem){
1716return(elem===qualifier)!==not;
1717});
1718}
1719if(typeof qualifier!=="string"){
1720return jQuery.grep(elements,function(elem){
1721return(indexOf.call(qualifier,elem)>-1)!==not;
1722});
1723}
1724return jQuery.filter(qualifier,elements,not);
1725}
1726jQuery.filter=function(expr,elems,not){
1727var elem=elems[0];
1728if(not){
1729expr=":not("+expr+")";
1730}
1731if(elems.length===1&&elem.nodeType===1){
1732return jQuery.find.matchesSelector(elem,expr)?[elem]:[];
1733}
1734return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){
1735return elem.nodeType===1;
1736}));
1737};
1738jQuery.fn.extend({
1739find:function(selector){
1740var i,ret,
1741len=this.length,
1742self=this;
1743if(typeof selector!=="string"){
1744return this.pushStack(jQuery(selector).filter(function(){
1745for(i=0;i<len;i++){
1746if(jQuery.contains(self[i],this)){
1747return true;
1748}
1749}
1750}));
1751}
1752ret=this.pushStack([]);
1753for(i=0;i<len;i++){
1754jQuery.find(selector,self[i],ret);
1755}
1756return len>1?jQuery.uniqueSort(ret):ret;
1757},
1758filter:function(selector){
1759return this.pushStack(winnow(this,selector||[],false));
1760},
1761not:function(selector){
1762return this.pushStack(winnow(this,selector||[],true));
1763},
1764is:function(selector){
1765return!!winnow(
1766this,
1767typeof selector==="string"&&rneedsContext.test(selector)?
1768jQuery(selector):
1769selector||[],
1770false
1771).length;
1772}
1773});
1774var rootjQuery,
1775rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
1776init=jQuery.fn.init=function(selector,context,root){
1777var match,elem;
1778if(!selector){
1779return this;
1780}
1781root=root||rootjQuery;
1782if(typeof selector==="string"){
1783if(selector[0]==="<"&&
1784selector[selector.length-1]===">"&&
1785selector.length>=3){
1786match=[null,selector,null];
1787}else{
1788match=rquickExpr.exec(selector);
1789}
1790if(match&&(match[1]||!context)){
1791if(match[1]){
1792context=context instanceof jQuery?context[0]:context;
1793jQuery.merge(this,jQuery.parseHTML(
1794match[1],
1795context&&context.nodeType?context.ownerDocument||context:document,
1796true
1797));
1798if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){
1799for(match in context){
1800if(isFunction(this[match])){
1801this[match](context[match]);
1802}else{
1803this.attr(match,context[match]);
1804}
1805}
1806}
1807return this;
1808}else{
1809elem=document.getElementById(match[2]);
1810if(elem){
1811this[0]=elem;
1812this.length=1;
1813}
1814return this;
1815}
1816}else if(!context||context.jquery){
1817return(context||root).find(selector);
1818}else{
1819return this.constructor(context).find(selector);
1820}
1821}else if(selector.nodeType){
1822this[0]=selector;
1823this.length=1;
1824return this;
1825}else if(isFunction(selector)){
1826return root.ready!==undefined?
1827root.ready(selector):
1828selector(jQuery);
1829}
1830return jQuery.makeArray(selector,this);
1831};
1832init.prototype=jQuery.fn;
1833rootjQuery=jQuery(document);
1834var rparentsprev=/^(?:parents|prev(?:Until|All))/,
1835guaranteedUnique={
1836children:true,
1837contents:true,
1838next:true,
1839prev:true
1840};
1841jQuery.fn.extend({
1842has:function(target){
1843var targets=jQuery(target,this),
1844l=targets.length;
1845return this.filter(function(){
1846var i=0;
1847for(;i<l;i++){
1848if(jQuery.contains(this,targets[i])){
1849return true;
1850}
1851}
1852});
1853},
1854closest:function(selectors,context){
1855var cur,
1856i=0,
1857l=this.length,
1858matched=[],
1859targets=typeof selectors!=="string"&&jQuery(selectors);
1860if(!rneedsContext.test(selectors)){
1861for(;i<l;i++){
1862for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){
1863if(cur.nodeType<11&&(targets?
1864targets.index(cur)>-1:
1865cur.nodeType===1&&
1866jQuery.find.matchesSelector(cur,selectors))){
1867matched.push(cur);
1868break;
1869}
1870}
1871}
1872}
1873return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched);
1874},
1875index:function(elem){
1876if(!elem){
1877return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;
1878}
1879if(typeof elem==="string"){
1880return indexOf.call(jQuery(elem),this[0]);
1881}
1882return indexOf.call(this,
1883elem.jquery?elem[0]:elem
1884);
1885},
1886add:function(selector,context){
1887return this.pushStack(
1888jQuery.uniqueSort(
1889jQuery.merge(this.get(),jQuery(selector,context))
1890)
1891);
1892},
1893addBack:function(selector){
1894return this.add(selector==null?
1895this.prevObject:this.prevObject.filter(selector)
1896);
1897}
1898});
1899function sibling(cur,dir){
1900while((cur=cur[dir])&&cur.nodeType!==1){}
1901return cur;
1902}
1903jQuery.each({
1904parent:function(elem){
1905var parent=elem.parentNode;
1906return parent&&parent.nodeType!==11?parent:null;
1907},
1908parents:function(elem){
1909return dir(elem,"parentNode");
1910},
1911parentsUntil:function(elem,_i,until){
1912return dir(elem,"parentNode",until);
1913},
1914next:function(elem){
1915return sibling(elem,"nextSibling");
1916},
1917prev:function(elem){
1918return sibling(elem,"previousSibling");
1919},
1920nextAll:function(elem){
1921return dir(elem,"nextSibling");
1922},
1923prevAll:function(elem){
1924return dir(elem,"previousSibling");
1925},
1926nextUntil:function(elem,_i,until){
1927return dir(elem,"nextSibling",until);
1928},
1929prevUntil:function(elem,_i,until){
1930return dir(elem,"previousSibling",until);
1931},
1932siblings:function(elem){
1933return siblings((elem.parentNode||{}).firstChild,elem);
1934},
1935children:function(elem){
1936return siblings(elem.firstChild);
1937},
1938contents:function(elem){
1939if(elem.contentDocument!=null&&
1940getProto(elem.contentDocument)){
1941return elem.contentDocument;
1942}
1943if(nodeName(elem,"template")){
1944elem=elem.content||elem;
1945}
1946return jQuery.merge([],elem.childNodes);
1947}
1948},function(name,fn){
1949jQuery.fn[name]=function(until,selector){
1950var matched=jQuery.map(this,fn,until);
1951if(name.slice(-5)!=="Until"){
1952selector=until;
1953}
1954if(selector&&typeof selector==="string"){
1955matched=jQuery.filter(selector,matched);
1956}
1957if(this.length>1){
1958if(!guaranteedUnique[name]){
1959jQuery.uniqueSort(matched);
1960}
1961if(rparentsprev.test(name)){
1962matched.reverse();
1963}
1964}
1965return this.pushStack(matched);
1966};
1967});
1968var rnothtmlwhite=(/[^\x20\t\r\n\f]+/g);
1969function createOptions(options){
1970var object={};
1971jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){
1972object[flag]=true;
1973});
1974return object;
1975}
1976jQuery.Callbacks=function(options){
1977options=typeof options==="string"?
1978createOptions(options):
1979jQuery.extend({},options);
1980var
1981firing,
1982memory,
1983fired,
1984locked,
1985list=[],
1986queue=[],
1987firingIndex=-1,
1988fire=function(){
1989locked=locked||options.once;
1990fired=firing=true;
1991for(;queue.length;firingIndex=-1){
1992memory=queue.shift();
1993while(++firingIndex<list.length){
1994if(list[firingIndex].apply(memory[0],memory[1])===false&&
1995options.stopOnFalse){
1996firingIndex=list.length;
1997memory=false;
1998}
1999}
2000}
2001if(!options.memory){
2002memory=false;
2003}
2004firing=false;
2005if(locked){
2006if(memory){
2007list=[];
2008}else{
2009list="";
2010}
2011}
2012},
2013self={
2014add:function(){
2015if(list){
2016if(memory&&!firing){
2017firingIndex=list.length-1;
2018queue.push(memory);
2019}
2020(function add(args){
2021jQuery.each(args,function(_,arg){
2022if(isFunction(arg)){
2023if(!options.unique||!self.has(arg)){
2024list.push(arg);
2025}
2026}else if(arg&&arg.length&&toType(arg)!=="string"){
2027add(arg);
2028}
2029});
2030})(arguments);
2031if(memory&&!firing){
2032fire();
2033}
2034}
2035return this;
2036},
2037remove:function(){
2038jQuery.each(arguments,function(_,arg){
2039var index;
2040while((index=jQuery.inArray(arg,list,index))>-1){
2041list.splice(index,1);
2042if(index<=firingIndex){
2043firingIndex--;
2044}
2045}
2046});
2047return this;
2048},
2049has:function(fn){
2050return fn?
2051jQuery.inArray(fn,list)>-1:
2052list.length>0;
2053},
2054empty:function(){
2055if(list){
2056list=[];
2057}
2058return this;
2059},
2060disable:function(){
2061locked=queue=[];
2062list=memory="";
2063return this;
2064},
2065disabled:function(){
2066return!list;
2067},
2068lock:function(){
2069locked=queue=[];
2070if(!memory&&!firing){
2071list=memory="";
2072}
2073return this;
2074},
2075locked:function(){
2076return!!locked;
2077},
2078fireWith:function(context,args){
2079if(!locked){
2080args=args||[];
2081args=[context,args.slice?args.slice():args];
2082queue.push(args);
2083if(!firing){
2084fire();
2085}
2086}
2087return this;
2088},
2089fire:function(){
2090self.fireWith(this,arguments);
2091return this;
2092},
2093fired:function(){
2094return!!fired;
2095}
2096};
2097return self;
2098};
2099function Identity(v){
2100return v;
2101}
2102function Thrower(ex){
2103throw ex;
2104}
2105function adoptValue(value,resolve,reject,noValue){
2106var method;
2107try{
2108if(value&&isFunction((method=value.promise))){
2109method.call(value).done(resolve).fail(reject);
2110}else if(value&&isFunction((method=value.then))){
2111method.call(value,resolve,reject);
2112}else{
2113resolve.apply(undefined,[value].slice(noValue));
2114}
2115}catch(value){
2116reject.apply(undefined,[value]);
2117}
2118}
2119jQuery.extend({
2120Deferred:function(func){
2121var tuples=[
2122["notify","progress",jQuery.Callbacks("memory"),
2123jQuery.Callbacks("memory"),2],
2124["resolve","done",jQuery.Callbacks("once memory"),
2125jQuery.Callbacks("once memory"),0,"resolved"],
2126["reject","fail",jQuery.Callbacks("once memory"),
2127jQuery.Callbacks("once memory"),1,"rejected"]
2128],
2129state="pending",
2130promise={
2131state:function(){
2132return state;
2133},
2134always:function(){
2135deferred.done(arguments).fail(arguments);
2136return this;
2137},
2138"catch":function(fn){
2139return promise.then(null,fn);
2140},
2141pipe:function(){
2142var fns=arguments;
2143return jQuery.Deferred(function(newDefer){
2144jQuery.each(tuples,function(_i,tuple){
2145var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]];
2146deferred[tuple[1]](function(){
2147var returned=fn&&fn.apply(this,arguments);
2148if(returned&&isFunction(returned.promise)){
2149returned.promise()
2150.progress(newDefer.notify)
2151.done(newDefer.resolve)
2152.fail(newDefer.reject);
2153}else{
2154newDefer[tuple[0]+"With"](
2155this,
2156fn?[returned]:arguments
2157);
2158}
2159});
2160});
2161fns=null;
2162}).promise();
2163},
2164then:function(onFulfilled,onRejected,onProgress){
2165var maxDepth=0;
2166function resolve(depth,deferred,handler,special){
2167return function(){
2168var that=this,
2169args=arguments,
2170mightThrow=function(){
2171var returned,then;
2172if(depth<maxDepth){
2173return;
2174}
2175returned=handler.apply(that,args);
2176if(returned===deferred.promise()){
2177throw new TypeError("Thenable self-resolution");
2178}
2179then=returned&&
2180(typeof returned==="object"||
2181typeof returned==="function")&&
2182returned.then;
2183if(isFunction(then)){
2184if(special){
2185then.call(
2186returned,
2187resolve(maxDepth,deferred,Identity,special),
2188resolve(maxDepth,deferred,Thrower,special)
2189);
2190}else{
2191maxDepth++;
2192then.call(
2193returned,
2194resolve(maxDepth,deferred,Identity,special),
2195resolve(maxDepth,deferred,Thrower,special),
2196resolve(maxDepth,deferred,Identity,
2197deferred.notifyWith)
2198);
2199}
2200}else{
2201if(handler!==Identity){
2202that=undefined;
2203args=[returned];
2204}
2205(special||deferred.resolveWith)(that,args);
2206}
2207},
2208process=special?
2209mightThrow:
2210function(){
2211try{
2212mightThrow();
2213}catch(e){
2214if(jQuery.Deferred.exceptionHook){
2215jQuery.Deferred.exceptionHook(e,
2216process.error);
2217}
2218if(depth+1>=maxDepth){
2219if(handler!==Thrower){
2220that=undefined;
2221args=[e];
2222}
2223deferred.rejectWith(that,args);
2224}
2225}
2226};
2227if(depth){
2228process();
2229}else{
2230if(jQuery.Deferred.getErrorHook){
2231process.error=jQuery.Deferred.getErrorHook();
2232}else if(jQuery.Deferred.getStackHook){
2233process.error=jQuery.Deferred.getStackHook();
2234}
2235window.setTimeout(process);
2236}
2237};
2238}
2239return jQuery.Deferred(function(newDefer){
2240tuples[0][3].add(
2241resolve(
22420,
2243newDefer,
2244isFunction(onProgress)?
2245onProgress:
2246Identity,
2247newDefer.notifyWith
2248)
2249);
2250tuples[1][3].add(
2251resolve(
22520,
2253newDefer,
2254isFunction(onFulfilled)?
2255onFulfilled:
2256Identity
2257)
2258);
2259tuples[2][3].add(
2260resolve(
22610,
2262newDefer,
2263isFunction(onRejected)?
2264onRejected:
2265Thrower
2266)
2267);
2268}).promise();
2269},
2270promise:function(obj){
2271return obj!=null?jQuery.extend(obj,promise):promise;
2272}
2273},
2274deferred={};
2275jQuery.each(tuples,function(i,tuple){
2276var list=tuple[2],
2277stateString=tuple[5];
2278promise[tuple[1]]=list.add;
2279if(stateString){
2280list.add(
2281function(){
2282state=stateString;
2283},
2284tuples[3-i][2].disable,
2285tuples[3-i][3].disable,
2286tuples[0][2].lock,
2287tuples[0][3].lock
2288);
2289}
2290list.add(tuple[3].fire);
2291deferred[tuple[0]]=function(){
2292deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments);
2293return this;
2294};
2295deferred[tuple[0]+"With"]=list.fireWith;
2296});
2297promise.promise(deferred);
2298if(func){
2299func.call(deferred,deferred);
2300}
2301return deferred;
2302},
2303when:function(singleValue){
2304var
2305remaining=arguments.length,
2306i=remaining,
2307resolveContexts=Array(i),
2308resolveValues=slice.call(arguments),
2309primary=jQuery.Deferred(),
2310updateFunc=function(i){
2311return function(value){
2312resolveContexts[i]=this;
2313resolveValues[i]=arguments.length>1?slice.call(arguments):value;
2314if(!(--remaining)){
2315primary.resolveWith(resolveContexts,resolveValues);
2316}
2317};
2318};
2319if(remaining<=1){
2320adoptValue(singleValue,primary.done(updateFunc(i)).resolve,primary.reject,
2321!remaining);
2322if(primary.state()==="pending"||
2323isFunction(resolveValues[i]&&resolveValues[i].then)){
2324return primary.then();
2325}
2326}
2327while(i--){
2328adoptValue(resolveValues[i],updateFunc(i),primary.reject);
2329}
2330return primary.promise();
2331}
2332});
2333var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
2334jQuery.Deferred.exceptionHook=function(error,asyncError){
2335if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){
2336window.console.warn("jQuery.Deferred exception: "+error.message,
2337error.stack,asyncError);
2338}
2339};
2340jQuery.readyException=function(error){
2341window.setTimeout(function(){
2342throw error;
2343});
2344};
2345var readyList=jQuery.Deferred();
2346jQuery.fn.ready=function(fn){
2347readyList
2348.then(fn)
2349.catch(function(error){
2350jQuery.readyException(error);
2351});
2352return this;
2353};
2354jQuery.extend({
2355isReady:false,
2356readyWait:1,
2357ready:function(wait){
2358if(wait===true?--jQuery.readyWait:jQuery.isReady){
2359return;
2360}
2361jQuery.isReady=true;
2362if(wait!==true&&--jQuery.readyWait>0){
2363return;
2364}
2365readyList.resolveWith(document,[jQuery]);
2366}
2367});
2368jQuery.ready.then=readyList.then;
2369function completed(){
2370document.removeEventListener("DOMContentLoaded",completed);
2371window.removeEventListener("load",completed);
2372jQuery.ready();
2373}
2374if(document.readyState==="complete"||
2375(document.readyState!=="loading"&&!document.documentElement.doScroll)){
2376window.setTimeout(jQuery.ready);
2377}else{
2378document.addEventListener("DOMContentLoaded",completed);
2379window.addEventListener("load",completed);
2380}
2381var access=function(elems,fn,key,value,chainable,emptyGet,raw){
2382var i=0,
2383len=elems.length,
2384bulk=key==null;
2385if(toType(key)==="object"){
2386chainable=true;
2387for(i in key){
2388access(elems,fn,i,key[i],true,emptyGet,raw);
2389}
2390}else if(value!==undefined){
2391chainable=true;
2392if(!isFunction(value)){
2393raw=true;
2394}
2395if(bulk){
2396if(raw){
2397fn.call(elems,value);
2398fn=null;
2399}else{
2400bulk=fn;
2401fn=function(elem,_key,value){
2402return bulk.call(jQuery(elem),value);
2403};
2404}
2405}
2406if(fn){
2407for(;i<len;i++){
2408fn(
2409elems[i],key,raw?
2410value:
2411value.call(elems[i],i,fn(elems[i],key))
2412);
2413}
2414}
2415}
2416if(chainable){
2417return elems;
2418}
2419if(bulk){
2420return fn.call(elems);
2421}
2422return len?fn(elems[0],key):emptyGet;
2423};
2424var rmsPrefix=/^-ms-/,
2425rdashAlpha=/-([a-z])/g;
2426function fcamelCase(_all,letter){
2427return letter.toUpperCase();
2428}
2429function camelCase(string){
2430return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);
2431}
2432var acceptData=function(owner){
2433return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType);
2434};
2435function Data(){
2436this.expando=jQuery.expando+Data.uid++;
2437}
2438Data.uid=1;
2439Data.prototype={
2440cache:function(owner){
2441var value=owner[this.expando];
2442if(!value){
2443value={};
2444if(acceptData(owner)){
2445if(owner.nodeType){
2446owner[this.expando]=value;
2447}else{
2448Object.defineProperty(owner,this.expando,{
2449value:value,
2450configurable:true
2451});
2452}
2453}
2454}
2455return value;
2456},
2457set:function(owner,data,value){
2458var prop,
2459cache=this.cache(owner);
2460if(typeof data==="string"){
2461cache[camelCase(data)]=value;
2462}else{
2463for(prop in data){
2464cache[camelCase(prop)]=data[prop];
2465}
2466}
2467return cache;
2468},
2469get:function(owner,key){
2470return key===undefined?
2471this.cache(owner):
2472owner[this.expando]&&owner[this.expando][camelCase(key)];
2473},
2474access:function(owner,key,value){
2475if(key===undefined||
2476((key&&typeof key==="string")&&value===undefined)){
2477return this.get(owner,key);
2478}
2479this.set(owner,key,value);
2480return value!==undefined?value:key;
2481},
2482remove:function(owner,key){
2483var i,
2484cache=owner[this.expando];
2485if(cache===undefined){
2486return;
2487}
2488if(key!==undefined){
2489if(Array.isArray(key)){
2490key=key.map(camelCase);
2491}else{
2492key=camelCase(key);
2493key=key in cache?
2494[key]:
2495(key.match(rnothtmlwhite)||[]);
2496}
2497i=key.length;
2498while(i--){
2499delete cache[key[i]];
2500}
2501}
2502if(key===undefined||jQuery.isEmptyObject(cache)){
2503if(owner.nodeType){
2504owner[this.expando]=undefined;
2505}else{
2506delete owner[this.expando];
2507}
2508}
2509},
2510hasData:function(owner){
2511var cache=owner[this.expando];
2512return cache!==undefined&&!jQuery.isEmptyObject(cache);
2513}
2514};
2515var dataPriv=new Data();
2516var dataUser=new Data();
2517var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
2518rmultiDash=/[A-Z]/g;
2519function getData(data){
2520if(data==="true"){
2521return true;
2522}
2523if(data==="false"){
2524return false;
2525}
2526if(data==="null"){
2527return null;
2528}
2529if(data===+data+""){
2530return+data;
2531}
2532if(rbrace.test(data)){
2533return JSON.parse(data);
2534}
2535return data;
2536}
2537function dataAttr(elem,key,data){
2538var name;
2539if(data===undefined&&elem.nodeType===1){
2540name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();
2541data=elem.getAttribute(name);
2542if(typeof data==="string"){
2543try{
2544data=getData(data);
2545}catch(e){}
2546dataUser.set(elem,key,data);
2547}else{
2548data=undefined;
2549}
2550}
2551return data;
2552}
2553jQuery.extend({
2554hasData:function(elem){
2555return dataUser.hasData(elem)||dataPriv.hasData(elem);
2556},
2557data:function(elem,name,data){
2558return dataUser.access(elem,name,data);
2559},
2560removeData:function(elem,name){
2561dataUser.remove(elem,name);
2562},
2563_data:function(elem,name,data){
2564return dataPriv.access(elem,name,data);
2565},
2566_removeData:function(elem,name){
2567dataPriv.remove(elem,name);
2568}
2569});
2570jQuery.fn.extend({
2571data:function(key,value){
2572var i,name,data,
2573elem=this[0],
2574attrs=elem&&elem.attributes;
2575if(key===undefined){
2576if(this.length){
2577data=dataUser.get(elem);
2578if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){
2579i=attrs.length;
2580while(i--){
2581if(attrs[i]){
2582name=attrs[i].name;
2583if(name.indexOf("data-")===0){
2584name=camelCase(name.slice(5));
2585dataAttr(elem,name,data[name]);
2586}
2587}
2588}
2589dataPriv.set(elem,"hasDataAttrs",true);
2590}
2591}
2592return data;
2593}
2594if(typeof key==="object"){
2595return this.each(function(){
2596dataUser.set(this,key);
2597});
2598}
2599return access(this,function(value){
2600var data;
2601if(elem&&value===undefined){
2602data=dataUser.get(elem,key);
2603if(data!==undefined){
2604return data;
2605}
2606data=dataAttr(elem,key);
2607if(data!==undefined){
2608return data;
2609}
2610return;
2611}
2612this.each(function(){
2613dataUser.set(this,key,value);
2614});
2615},null,value,arguments.length>1,null,true);
2616},
2617removeData:function(key){
2618return this.each(function(){
2619dataUser.remove(this,key);
2620});
2621}
2622});
2623jQuery.extend({
2624queue:function(elem,type,data){
2625var queue;
2626if(elem){
2627type=(type||"fx")+"queue";
2628queue=dataPriv.get(elem,type);
2629if(data){
2630if(!queue||Array.isArray(data)){
2631queue=dataPriv.access(elem,type,jQuery.makeArray(data));
2632}else{
2633queue.push(data);
2634}
2635}
2636return queue||[];
2637}
2638},
2639dequeue:function(elem,type){
2640type=type||"fx";
2641var queue=jQuery.queue(elem,type),
2642startLength=queue.length,
2643fn=queue.shift(),
2644hooks=jQuery._queueHooks(elem,type),
2645next=function(){
2646jQuery.dequeue(elem,type);
2647};
2648if(fn==="inprogress"){
2649fn=queue.shift();
2650startLength--;
2651}
2652if(fn){
2653if(type==="fx"){
2654queue.unshift("inprogress");
2655}
2656delete hooks.stop;
2657fn.call(elem,next,hooks);
2658}
2659if(!startLength&&hooks){
2660hooks.empty.fire();
2661}
2662},
2663_queueHooks:function(elem,type){
2664var key=type+"queueHooks";
2665return dataPriv.get(elem,key)||dataPriv.access(elem,key,{
2666empty:jQuery.Callbacks("once memory").add(function(){
2667dataPriv.remove(elem,[type+"queue",key]);
2668})
2669});
2670}
2671});
2672jQuery.fn.extend({
2673queue:function(type,data){
2674var setter=2;
2675if(typeof type!=="string"){
2676data=type;
2677type="fx";
2678setter--;
2679}
2680if(arguments.length<setter){
2681return jQuery.queue(this[0],type);
2682}
2683return data===undefined?
2684this:
2685this.each(function(){
2686var queue=jQuery.queue(this,type,data);
2687jQuery._queueHooks(this,type);
2688if(type==="fx"&&queue[0]!=="inprogress"){
2689jQuery.dequeue(this,type);
2690}
2691});
2692},
2693dequeue:function(type){
2694return this.each(function(){
2695jQuery.dequeue(this,type);
2696});
2697},
2698clearQueue:function(type){
2699return this.queue(type||"fx",[]);
2700},
2701promise:function(type,obj){
2702var tmp,
2703count=1,
2704defer=jQuery.Deferred(),
2705elements=this,
2706i=this.length,
2707resolve=function(){
2708if(!(--count)){
2709defer.resolveWith(elements,[elements]);
2710}
2711};
2712if(typeof type!=="string"){
2713obj=type;
2714type=undefined;
2715}
2716type=type||"fx";
2717while(i--){
2718tmp=dataPriv.get(elements[i],type+"queueHooks");
2719if(tmp&&tmp.empty){
2720count++;
2721tmp.empty.add(resolve);
2722}
2723}
2724resolve();
2725return defer.promise(obj);
2726}
2727});
2728var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
2729var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");
2730var cssExpand=["Top","Right","Bottom","Left"];
2731var documentElement=document.documentElement;
2732var isAttached=function(elem){
2733return jQuery.contains(elem.ownerDocument,elem);
2734},
2735composed={composed:true};
2736if(documentElement.getRootNode){
2737isAttached=function(elem){
2738return jQuery.contains(elem.ownerDocument,elem)||
2739elem.getRootNode(composed)===elem.ownerDocument;
2740};
2741}
2742var isHiddenWithinTree=function(elem,el){
2743elem=el||elem;
2744return elem.style.display==="none"||
2745elem.style.display===""&&
2746isAttached(elem)&&
2747jQuery.css(elem,"display")==="none";
2748};
2749function adjustCSS(elem,prop,valueParts,tween){
2750var adjusted,scale,
2751maxIterations=20,
2752currentValue=tween?
2753function(){
2754return tween.cur();
2755}:
2756function(){
2757return jQuery.css(elem,prop,"");
2758},
2759initial=currentValue(),
2760unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),
2761initialInUnit=elem.nodeType&&
2762(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&
2763rcssNum.exec(jQuery.css(elem,prop));
2764if(initialInUnit&&initialInUnit[3]!==unit){
2765initial=initial/2;
2766unit=unit||initialInUnit[3];
2767initialInUnit=+initial||1;
2768while(maxIterations--){
2769jQuery.style(elem,prop,initialInUnit+unit);
2770if((1-scale)*(1-(scale=currentValue()/initial||0.5))<=0){
2771maxIterations=0;
2772}
2773initialInUnit=initialInUnit/scale;
2774}
2775initialInUnit=initialInUnit*2;
2776jQuery.style(elem,prop,initialInUnit+unit);
2777valueParts=valueParts||[];
2778}
2779if(valueParts){
2780initialInUnit=+initialInUnit||+initial||0;
2781adjusted=valueParts[1]?
2782initialInUnit+(valueParts[1]+1)*valueParts[2]:
2783+valueParts[2];
2784if(tween){
2785tween.unit=unit;
2786tween.start=initialInUnit;
2787tween.end=adjusted;
2788}
2789}
2790return adjusted;
2791}
2792var defaultDisplayMap={};
2793function getDefaultDisplay(elem){
2794var temp,
2795doc=elem.ownerDocument,
2796nodeName=elem.nodeName,
2797display=defaultDisplayMap[nodeName];
2798if(display){
2799return display;
2800}
2801temp=doc.body.appendChild(doc.createElement(nodeName));
2802display=jQuery.css(temp,"display");
2803temp.parentNode.removeChild(temp);
2804if(display==="none"){
2805display="block";
2806}
2807defaultDisplayMap[nodeName]=display;
2808return display;
2809}
2810function showHide(elements,show){
2811var display,elem,
2812values=[],
2813index=0,
2814length=elements.length;
2815for(;index<length;index++){
2816elem=elements[index];
2817if(!elem.style){
2818continue;
2819}
2820display=elem.style.display;
2821if(show){
2822if(display==="none"){
2823values[index]=dataPriv.get(elem,"display")||null;
2824if(!values[index]){
2825elem.style.display="";
2826}
2827}
2828if(elem.style.display===""&&isHiddenWithinTree(elem)){
2829values[index]=getDefaultDisplay(elem);
2830}
2831}else{
2832if(display!=="none"){
2833values[index]="none";
2834dataPriv.set(elem,"display",display);
2835}
2836}
2837}
2838for(index=0;index<length;index++){
2839if(values[index]!=null){
2840elements[index].style.display=values[index];
2841}
2842}
2843return elements;
2844}
2845jQuery.fn.extend({
2846show:function(){
2847return showHide(this,true);
2848},
2849hide:function(){
2850return showHide(this);
2851},
2852toggle:function(state){
2853if(typeof state==="boolean"){
2854return state?this.show():this.hide();
2855}
2856return this.each(function(){
2857if(isHiddenWithinTree(this)){
2858jQuery(this).show();
2859}else{
2860jQuery(this).hide();
2861}
2862});
2863}
2864});
2865var rcheckableType=(/^(?:checkbox|radio)$/i);
2866var rtagName=(/<([a-z][^\/\0>\x20\t\r\n\f]*)/i);
2867var rscriptType=(/^$|^module$|\/(?:java|ecma)script/i);
2868(function(){
2869var fragment=document.createDocumentFragment(),
2870div=fragment.appendChild(document.createElement("div")),
2871input=document.createElement("input");
2872input.setAttribute("type","radio");
2873input.setAttribute("checked","checked");
2874input.setAttribute("name","t");
2875div.appendChild(input);
2876support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;
2877div.innerHTML="<textarea>x</textarea>";
2878support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;
2879div.innerHTML="<option></option>";
2880support.option=!!div.lastChild;
2881})();
2882var wrapMap={
2883thead:[1,"<table>","</table>"],
2884col:[2,"<table><colgroup>","</colgroup></table>"],
2885tr:[2,"<table><tbody>","</tbody></table>"],
2886td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
2887_default:[0,"",""]
2888};
2889wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;
2890wrapMap.th=wrapMap.td;
2891if(!support.option){
2892wrapMap.optgroup=wrapMap.option=[1,"<select multiple='multiple'>","</select>"];
2893}
2894function getAll(context,tag){
2895var ret;
2896if(typeof context.getElementsByTagName!=="undefined"){
2897ret=context.getElementsByTagName(tag||"*");
2898}else if(typeof context.querySelectorAll!=="undefined"){
2899ret=context.querySelectorAll(tag||"*");
2900}else{
2901ret=[];
2902}
2903if(tag===undefined||tag&&nodeName(context,tag)){
2904return jQuery.merge([context],ret);
2905}
2906return ret;
2907}
2908function setGlobalEval(elems,refElements){
2909var i=0,
2910l=elems.length;
2911for(;i<l;i++){
2912dataPriv.set(
2913elems[i],
2914"globalEval",
2915!refElements||dataPriv.get(refElements[i],"globalEval")
2916);
2917}
2918}
2919var rhtml=/<|&#?\w+;/;
2920function buildFragment(elems,context,scripts,selection,ignored){
2921var elem,tmp,tag,wrap,attached,j,
2922fragment=context.createDocumentFragment(),
2923nodes=[],
2924i=0,
2925l=elems.length;
2926for(;i<l;i++){
2927elem=elems[i];
2928if(elem||elem===0){
2929if(toType(elem)==="object"){
2930jQuery.merge(nodes,elem.nodeType?[elem]:elem);
2931}else if(!rhtml.test(elem)){
2932nodes.push(context.createTextNode(elem));
2933}else{
2934tmp=tmp||fragment.appendChild(context.createElement("div"));
2935tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();
2936wrap=wrapMap[tag]||wrapMap._default;
2937tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];
2938j=wrap[0];
2939while(j--){
2940tmp=tmp.lastChild;
2941}
2942jQuery.merge(nodes,tmp.childNodes);
2943tmp=fragment.firstChild;
2944tmp.textContent="";
2945}
2946}
2947}
2948fragment.textContent="";
2949i=0;
2950while((elem=nodes[i++])){
2951if(selection&&jQuery.inArray(elem,selection)>-1){
2952if(ignored){
2953ignored.push(elem);
2954}
2955continue;
2956}
2957attached=isAttached(elem);
2958tmp=getAll(fragment.appendChild(elem),"script");
2959if(attached){
2960setGlobalEval(tmp);
2961}
2962if(scripts){
2963j=0;
2964while((elem=tmp[j++])){
2965if(rscriptType.test(elem.type||"")){
2966scripts.push(elem);
2967}
2968}
2969}
2970}
2971return fragment;
2972}
2973var rtypenamespace=/^([^.]*)(?:\.(.+)|)/;
2974function returnTrue(){
2975return true;
2976}
2977function returnFalse(){
2978return false;
2979}
2980function on(elem,types,selector,data,fn,one){
2981var origFn,type;
2982if(typeof types==="object"){
2983if(typeof selector!=="string"){
2984data=data||selector;
2985selector=undefined;
2986}
2987for(type in types){
2988on(elem,type,selector,data,types[type],one);
2989}
2990return elem;
2991}
2992if(data==null&&fn==null){
2993fn=selector;
2994data=selector=undefined;
2995}else if(fn==null){
2996if(typeof selector==="string"){
2997fn=data;
2998data=undefined;
2999}else{
3000fn=data;
3001data=selector;
3002selector=undefined;
3003}
3004}
3005if(fn===false){
3006fn=returnFalse;
3007}else if(!fn){
3008return elem;
3009}
3010if(one===1){
3011origFn=fn;
3012fn=function(event){
3013jQuery().off(event);
3014return origFn.apply(this,arguments);
3015};
3016fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);
3017}
3018return elem.each(function(){
3019jQuery.event.add(this,types,fn,data,selector);
3020});
3021}
3022jQuery.event={
3023global:{},
3024add:function(elem,types,handler,data,selector){
3025var handleObjIn,eventHandle,tmp,
3026events,t,handleObj,
3027special,handlers,type,namespaces,origType,
3028elemData=dataPriv.get(elem);
3029if(!acceptData(elem)){
3030return;
3031}
3032if(handler.handler){
3033handleObjIn=handler;
3034handler=handleObjIn.handler;
3035selector=handleObjIn.selector;
3036}
3037if(selector){
3038jQuery.find.matchesSelector(documentElement,selector);
3039}
3040if(!handler.guid){
3041handler.guid=jQuery.guid++;
3042}
3043if(!(events=elemData.events)){
3044events=elemData.events=Object.create(null);
3045}
3046if(!(eventHandle=elemData.handle)){
3047eventHandle=elemData.handle=function(e){
3048return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?
3049jQuery.event.dispatch.apply(elem,arguments):undefined;
3050};
3051}
3052types=(types||"").match(rnothtmlwhite)||[""];
3053t=types.length;
3054while(t--){
3055tmp=rtypenamespace.exec(types[t])||[];
3056type=origType=tmp[1];
3057namespaces=(tmp[2]||"").split(".").sort();
3058if(!type){
3059continue;
3060}
3061special=jQuery.event.special[type]||{};
3062type=(selector?special.delegateType:special.bindType)||type;
3063special=jQuery.event.special[type]||{};
3064handleObj=jQuery.extend({
3065type:type,
3066origType:origType,
3067data:data,
3068handler:handler,
3069guid:handler.guid,
3070selector:selector,
3071needsContext:selector&&jQuery.expr.match.needsContext.test(selector),
3072namespace:namespaces.join(".")
3073},handleObjIn);
3074if(!(handlers=events[type])){
3075handlers=events[type]=[];
3076handlers.delegateCount=0;
3077if(!special.setup||
3078special.setup.call(elem,data,namespaces,eventHandle)===false){
3079if(elem.addEventListener){
3080elem.addEventListener(type,eventHandle);
3081}
3082}
3083}
3084if(special.add){
3085special.add.call(elem,handleObj);
3086if(!handleObj.handler.guid){
3087handleObj.handler.guid=handler.guid;
3088}
3089}
3090if(selector){
3091handlers.splice(handlers.delegateCount++,0,handleObj);
3092}else{
3093handlers.push(handleObj);
3094}
3095jQuery.event.global[type]=true;
3096}
3097},
3098remove:function(elem,types,handler,selector,mappedTypes){
3099var j,origCount,tmp,
3100events,t,handleObj,
3101special,handlers,type,namespaces,origType,
3102elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);
3103if(!elemData||!(events=elemData.events)){
3104return;
3105}
3106types=(types||"").match(rnothtmlwhite)||[""];
3107t=types.length;
3108while(t--){
3109tmp=rtypenamespace.exec(types[t])||[];
3110type=origType=tmp[1];
3111namespaces=(tmp[2]||"").split(".").sort();
3112if(!type){
3113for(type in events){
3114jQuery.event.remove(elem,type+types[t],handler,selector,true);
3115}
3116continue;
3117}
3118special=jQuery.event.special[type]||{};
3119type=(selector?special.delegateType:special.bindType)||type;
3120handlers=events[type]||[];
3121tmp=tmp[2]&&
3122new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");
3123origCount=j=handlers.length;
3124while(j--){
3125handleObj=handlers[j];
3126if((mappedTypes||origType===handleObj.origType)&&
3127(!handler||handler.guid===handleObj.guid)&&
3128(!tmp||tmp.test(handleObj.namespace))&&
3129(!selector||selector===handleObj.selector||
3130selector==="**"&&handleObj.selector)){
3131handlers.splice(j,1);
3132if(handleObj.selector){
3133handlers.delegateCount--;
3134}
3135if(special.remove){
3136special.remove.call(elem,handleObj);
3137}
3138}
3139}
3140if(origCount&&!handlers.length){
3141if(!special.teardown||
3142special.teardown.call(elem,namespaces,elemData.handle)===false){
3143jQuery.removeEvent(elem,type,elemData.handle);
3144}
3145delete events[type];
3146}
3147}
3148if(jQuery.isEmptyObject(events)){
3149dataPriv.remove(elem,"handle events");
3150}
3151},
3152dispatch:function(nativeEvent){
3153var i,j,ret,matched,handleObj,handlerQueue,
3154args=new Array(arguments.length),
3155event=jQuery.event.fix(nativeEvent),
3156handlers=(
3157dataPriv.get(this,"events")||Object.create(null)
3158)[event.type]||[],
3159special=jQuery.event.special[event.type]||{};
3160args[0]=event;
3161for(i=1;i<arguments.length;i++){
3162args[i]=arguments[i];
3163}
3164event.delegateTarget=this;
3165if(special.preDispatch&&special.preDispatch.call(this,event)===false){
3166return;
3167}
3168handlerQueue=jQuery.event.handlers.call(this,event,handlers);
3169i=0;
3170while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){
3171event.currentTarget=matched.elem;
3172j=0;
3173while((handleObj=matched.handlers[j++])&&
3174!event.isImmediatePropagationStopped()){
3175if(!event.rnamespace||handleObj.namespace===false||
3176event.rnamespace.test(handleObj.namespace)){
3177event.handleObj=handleObj;
3178event.data=handleObj.data;
3179ret=((jQuery.event.special[handleObj.origType]||{}).handle||
3180handleObj.handler).apply(matched.elem,args);
3181if(ret!==undefined){
3182if((event.result=ret)===false){
3183event.preventDefault();
3184event.stopPropagation();
3185}
3186}
3187}
3188}
3189}
3190if(special.postDispatch){
3191special.postDispatch.call(this,event);
3192}
3193return event.result;
3194},
3195handlers:function(event,handlers){
3196var i,handleObj,sel,matchedHandlers,matchedSelectors,
3197handlerQueue=[],
3198delegateCount=handlers.delegateCount,
3199cur=event.target;
3200if(delegateCount&&
3201cur.nodeType&&
3202!(event.type==="click"&&event.button>=1)){
3203for(;cur!==this;cur=cur.parentNode||this){
3204if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){
3205matchedHandlers=[];
3206matchedSelectors={};
3207for(i=0;i<delegateCount;i++){
3208handleObj=handlers[i];
3209sel=handleObj.selector+" ";
3210if(matchedSelectors[sel]===undefined){
3211matchedSelectors[sel]=handleObj.needsContext?
3212jQuery(sel,this).index(cur)>-1:
3213jQuery.find(sel,this,null,[cur]).length;
3214}
3215if(matchedSelectors[sel]){
3216matchedHandlers.push(handleObj);
3217}
3218}
3219if(matchedHandlers.length){
3220handlerQueue.push({elem:cur,handlers:matchedHandlers});
3221}
3222}
3223}
3224}
3225cur=this;
3226if(delegateCount<handlers.length){
3227handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)});
3228}
3229return handlerQueue;
3230},
3231addProp:function(name,hook){
3232Object.defineProperty(jQuery.Event.prototype,name,{
3233enumerable:true,
3234configurable:true,
3235get:isFunction(hook)?
3236function(){
3237if(this.originalEvent){
3238return hook(this.originalEvent);
3239}
3240}:
3241function(){
3242if(this.originalEvent){
3243return this.originalEvent[name];
3244}
3245},
3246set:function(value){
3247Object.defineProperty(this,name,{
3248enumerable:true,
3249configurable:true,
3250writable:true,
3251value:value
3252});
3253}
3254});
3255},
3256fix:function(originalEvent){
3257return originalEvent[jQuery.expando]?
3258originalEvent:
3259new jQuery.Event(originalEvent);
3260},
3261special:{
3262load:{
3263noBubble:true
3264},
3265click:{
3266setup:function(data){
3267var el=this||data;
3268if(rcheckableType.test(el.type)&&
3269el.click&&nodeName(el,"input")){
3270leverageNative(el,"click",true);
3271}
3272return false;
3273},
3274trigger:function(data){
3275var el=this||data;
3276if(rcheckableType.test(el.type)&&
3277el.click&&nodeName(el,"input")){
3278leverageNative(el,"click");
3279}
3280return true;
3281},
3282_default:function(event){
3283var target=event.target;
3284return rcheckableType.test(target.type)&&
3285target.click&&nodeName(target,"input")&&
3286dataPriv.get(target,"click")||
3287nodeName(target,"a");
3288}
3289},
3290beforeunload:{
3291postDispatch:function(event){
3292if(event.result!==undefined&&event.originalEvent){
3293event.originalEvent.returnValue=event.result;
3294}
3295}
3296}
3297}
3298};
3299function leverageNative(el,type,isSetup){
3300if(!isSetup){
3301if(dataPriv.get(el,type)===undefined){
3302jQuery.event.add(el,type,returnTrue);
3303}
3304return;
3305}
3306dataPriv.set(el,type,false);
3307jQuery.event.add(el,type,{
3308namespace:false,
3309handler:function(event){
3310var result,
3311saved=dataPriv.get(this,type);
3312if((event.isTrigger&1)&&this[type]){
3313if(!saved){
3314saved=slice.call(arguments);
3315dataPriv.set(this,type,saved);
3316this[type]();
3317result=dataPriv.get(this,type);
3318dataPriv.set(this,type,false);
3319if(saved!==result){
3320event.stopImmediatePropagation();
3321event.preventDefault();
3322return result;
3323}
3324}else if((jQuery.event.special[type]||{}).delegateType){
3325event.stopPropagation();
3326}
3327}else if(saved){
3328dataPriv.set(this,type,jQuery.event.trigger(
3329saved[0],
3330saved.slice(1),
3331this
3332));
3333event.stopPropagation();
3334event.isImmediatePropagationStopped=returnTrue;
3335}
3336}
3337});
3338}
3339jQuery.removeEvent=function(elem,type,handle){
3340if(elem.removeEventListener){
3341elem.removeEventListener(type,handle);
3342}
3343};
3344jQuery.Event=function(src,props){
3345if(!(this instanceof jQuery.Event)){
3346return new jQuery.Event(src,props);
3347}
3348if(src&&src.type){
3349this.originalEvent=src;
3350this.type=src.type;
3351this.isDefaultPrevented=src.defaultPrevented||
3352src.defaultPrevented===undefined&&
3353src.returnValue===false?
3354returnTrue:
3355returnFalse;
3356this.target=(src.target&&src.target.nodeType===3)?
3357src.target.parentNode:
3358src.target;
3359this.currentTarget=src.currentTarget;
3360this.relatedTarget=src.relatedTarget;
3361}else{
3362this.type=src;
3363}
3364if(props){
3365jQuery.extend(this,props);
3366}
3367this.timeStamp=src&&src.timeStamp||Date.now();
3368this[jQuery.expando]=true;
3369};
3370jQuery.Event.prototype={
3371constructor:jQuery.Event,
3372isDefaultPrevented:returnFalse,
3373isPropagationStopped:returnFalse,
3374isImmediatePropagationStopped:returnFalse,
3375isSimulated:false,
3376preventDefault:function(){
3377var e=this.originalEvent;
3378this.isDefaultPrevented=returnTrue;
3379if(e&&!this.isSimulated){
3380e.preventDefault();
3381}
3382},
3383stopPropagation:function(){
3384var e=this.originalEvent;
3385this.isPropagationStopped=returnTrue;
3386if(e&&!this.isSimulated){
3387e.stopPropagation();
3388}
3389},
3390stopImmediatePropagation:function(){
3391var e=this.originalEvent;
3392this.isImmediatePropagationStopped=returnTrue;
3393if(e&&!this.isSimulated){
3394e.stopImmediatePropagation();
3395}
3396this.stopPropagation();
3397}
3398};
3399jQuery.each({
3400altKey:true,
3401bubbles:true,
3402cancelable:true,
3403changedTouches:true,
3404ctrlKey:true,
3405detail:true,
3406eventPhase:true,
3407metaKey:true,
3408pageX:true,
3409pageY:true,
3410shiftKey:true,
3411view:true,
3412"char":true,
3413code:true,
3414charCode:true,
3415key:true,
3416keyCode:true,
3417button:true,
3418buttons:true,
3419clientX:true,
3420clientY:true,
3421offsetX:true,
3422offsetY:true,
3423pointerId:true,
3424pointerType:true,
3425screenX:true,
3426screenY:true,
3427targetTouches:true,
3428toElement:true,
3429touches:true,
3430which:true
3431},jQuery.event.addProp);
3432jQuery.each({focus:"focusin",blur:"focusout"},function(type,delegateType){
3433function focusMappedHandler(nativeEvent){
3434if(document.documentMode){
3435var handle=dataPriv.get(this,"handle"),
3436event=jQuery.event.fix(nativeEvent);
3437event.type=nativeEvent.type==="focusin"?"focus":"blur";
3438event.isSimulated=true;
3439handle(nativeEvent);
3440if(event.target===event.currentTarget){
3441handle(event);
3442}
3443}else{
3444jQuery.event.simulate(delegateType,nativeEvent.target,
3445jQuery.event.fix(nativeEvent));
3446}
3447}
3448jQuery.event.special[type]={
3449setup:function(){
3450var attaches;
3451leverageNative(this,type,true);
3452if(document.documentMode){
3453attaches=dataPriv.get(this,delegateType);
3454if(!attaches){
3455this.addEventListener(delegateType,focusMappedHandler);
3456}
3457dataPriv.set(this,delegateType,(attaches||0)+1);
3458}else{
3459return false;
3460}
3461},
3462trigger:function(){
3463leverageNative(this,type);
3464return true;
3465},
3466teardown:function(){
3467var attaches;
3468if(document.documentMode){
3469attaches=dataPriv.get(this,delegateType)-1;
3470if(!attaches){
3471this.removeEventListener(delegateType,focusMappedHandler);
3472dataPriv.remove(this,delegateType);
3473}else{
3474dataPriv.set(this,delegateType,attaches);
3475}
3476}else{
3477return false;
3478}
3479},
3480_default:function(event){
3481return dataPriv.get(event.target,type);
3482},
3483delegateType:delegateType
3484};
3485jQuery.event.special[delegateType]={
3486setup:function(){
3487var doc=this.ownerDocument||this.document||this,
3488dataHolder=document.documentMode?this:doc,
3489attaches=dataPriv.get(dataHolder,delegateType);
3490if(!attaches){
3491if(document.documentMode){
3492this.addEventListener(delegateType,focusMappedHandler);
3493}else{
3494doc.addEventListener(type,focusMappedHandler,true);
3495}
3496}
3497dataPriv.set(dataHolder,delegateType,(attaches||0)+1);
3498},
3499teardown:function(){
3500var doc=this.ownerDocument||this.document||this,
3501dataHolder=document.documentMode?this:doc,
3502attaches=dataPriv.get(dataHolder,delegateType)-1;
3503if(!attaches){
3504if(document.documentMode){
3505this.removeEventListener(delegateType,focusMappedHandler);
3506}else{
3507doc.removeEventListener(type,focusMappedHandler,true);
3508}
3509dataPriv.remove(dataHolder,delegateType);
3510}else{
3511dataPriv.set(dataHolder,delegateType,attaches);
3512}
3513}
3514};
3515});
3516jQuery.each({
3517mouseenter:"mouseover",
3518mouseleave:"mouseout",
3519pointerenter:"pointerover",
3520pointerleave:"pointerout"
3521},function(orig,fix){
3522jQuery.event.special[orig]={
3523delegateType:fix,
3524bindType:fix,
3525handle:function(event){
3526var ret,
3527target=this,
3528related=event.relatedTarget,
3529handleObj=event.handleObj;
3530if(!related||(related!==target&&!jQuery.contains(target,related))){
3531event.type=handleObj.origType;
3532ret=handleObj.handler.apply(this,arguments);
3533event.type=fix;
3534}
3535return ret;
3536}
3537};
3538});
3539jQuery.fn.extend({
3540on:function(types,selector,data,fn){
3541return on(this,types,selector,data,fn);
3542},
3543one:function(types,selector,data,fn){
3544return on(this,types,selector,data,fn,1);
3545},
3546off:function(types,selector,fn){
3547var handleObj,type;
3548if(types&&types.preventDefault&&types.handleObj){
3549handleObj=types.handleObj;
3550jQuery(types.delegateTarget).off(
3551handleObj.namespace?
3552handleObj.origType+"."+handleObj.namespace:
3553handleObj.origType,
3554handleObj.selector,
3555handleObj.handler
3556);
3557return this;
3558}
3559if(typeof types==="object"){
3560for(type in types){
3561this.off(type,selector,types[type]);
3562}
3563return this;
3564}
3565if(selector===false||typeof selector==="function"){
3566fn=selector;
3567selector=undefined;
3568}
3569if(fn===false){
3570fn=returnFalse;
3571}
3572return this.each(function(){
3573jQuery.event.remove(this,types,fn,selector);
3574});
3575}
3576});
3577var
3578rnoInnerhtml=/<script|<style|<link/i,
3579rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,
3580rcleanScript=/^\s*<!\[CDATA\[|\]\]>\s*$/g;
3581function manipulationTarget(elem,content){
3582if(nodeName(elem,"table")&&
3583nodeName(content.nodeType!==11?content:content.firstChild,"tr")){
3584return jQuery(elem).children("tbody")[0]||elem;
3585}
3586return elem;
3587}
3588function disableScript(elem){
3589elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;
3590return elem;
3591}
3592function restoreScript(elem){
3593if((elem.type||"").slice(0,5)==="true/"){
3594elem.type=elem.type.slice(5);
3595}else{
3596elem.removeAttribute("type");
3597}
3598return elem;
3599}
3600function cloneCopyEvent(src,dest){
3601var i,l,type,pdataOld,udataOld,udataCur,events;
3602if(dest.nodeType!==1){
3603return;
3604}
3605if(dataPriv.hasData(src)){
3606pdataOld=dataPriv.get(src);
3607events=pdataOld.events;
3608if(events){
3609dataPriv.remove(dest,"handle events");
3610for(type in events){
3611for(i=0,l=events[type].length;i<l;i++){
3612jQuery.event.add(dest,type,events[type][i]);
3613}
3614}
3615}
3616}
3617if(dataUser.hasData(src)){
3618udataOld=dataUser.access(src);
3619udataCur=jQuery.extend({},udataOld);
3620dataUser.set(dest,udataCur);
3621}
3622}
3623function fixInput(src,dest){
3624var nodeName=dest.nodeName.toLowerCase();
3625if(nodeName==="input"&&rcheckableType.test(src.type)){
3626dest.checked=src.checked;
3627}else if(nodeName==="input"||nodeName==="textarea"){
3628dest.defaultValue=src.defaultValue;
3629}
3630}
3631function domManip(collection,args,callback,ignored){
3632args=flat(args);
3633var fragment,first,scripts,hasScripts,node,doc,
3634i=0,
3635l=collection.length,
3636iNoClone=l-1,
3637value=args[0],
3638valueIsFunction=isFunction(value);
3639if(valueIsFunction||
3640(l>1&&typeof value==="string"&&
3641!support.checkClone&&rchecked.test(value))){
3642return collection.each(function(index){
3643var self=collection.eq(index);
3644if(valueIsFunction){
3645args[0]=value.call(this,index,self.html());
3646}
3647domManip(self,args,callback,ignored);
3648});
3649}
3650if(l){
3651fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);
3652first=fragment.firstChild;
3653if(fragment.childNodes.length===1){
3654fragment=first;
3655}
3656if(first||ignored){
3657scripts=jQuery.map(getAll(fragment,"script"),disableScript);
3658hasScripts=scripts.length;
3659for(;i<l;i++){
3660node=fragment;
3661if(i!==iNoClone){
3662node=jQuery.clone(node,true,true);
3663if(hasScripts){
3664jQuery.merge(scripts,getAll(node,"script"));
3665}
3666}
3667callback.call(collection[i],node,i);
3668}
3669if(hasScripts){
3670doc=scripts[scripts.length-1].ownerDocument;
3671jQuery.map(scripts,restoreScript);
3672for(i=0;i<hasScripts;i++){
3673node=scripts[i];
3674if(rscriptType.test(node.type||"")&&
3675!dataPriv.access(node,"globalEval")&&
3676jQuery.contains(doc,node)){
3677if(node.src&&(node.type||"").toLowerCase()!=="module"){
3678if(jQuery._evalUrl&&!node.noModule){
3679jQuery._evalUrl(node.src,{
3680nonce:node.nonce||node.getAttribute("nonce")
3681},doc);
3682}
3683}else{
3684DOMEval(node.textContent.replace(rcleanScript,""),node,doc);
3685}
3686}
3687}
3688}
3689}
3690}
3691return collection;
3692}
3693function remove(elem,selector,keepData){
3694var node,
3695nodes=selector?jQuery.filter(selector,elem):elem,
3696i=0;
3697for(;(node=nodes[i])!=null;i++){
3698if(!keepData&&node.nodeType===1){
3699jQuery.cleanData(getAll(node));
3700}
3701if(node.parentNode){
3702if(keepData&&isAttached(node)){
3703setGlobalEval(getAll(node,"script"));
3704}
3705node.parentNode.removeChild(node);
3706}
3707}
3708return elem;
3709}
3710jQuery.extend({
3711htmlPrefilter:function(html){
3712return html;
3713},
3714clone:function(elem,dataAndEvents,deepDataAndEvents){
3715var i,l,srcElements,destElements,
3716clone=elem.cloneNode(true),
3717inPage=isAttached(elem);
3718if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&
3719!jQuery.isXMLDoc(elem)){
3720destElements=getAll(clone);
3721srcElements=getAll(elem);
3722for(i=0,l=srcElements.length;i<l;i++){
3723fixInput(srcElements[i],destElements[i]);
3724}
3725}
3726if(dataAndEvents){
3727if(deepDataAndEvents){
3728srcElements=srcElements||getAll(elem);
3729destElements=destElements||getAll(clone);
3730for(i=0,l=srcElements.length;i<l;i++){
3731cloneCopyEvent(srcElements[i],destElements[i]);
3732}
3733}else{
3734cloneCopyEvent(elem,clone);
3735}
3736}
3737destElements=getAll(clone,"script");
3738if(destElements.length>0){
3739setGlobalEval(destElements,!inPage&&getAll(elem,"script"));
3740}
3741return clone;
3742},
3743cleanData:function(elems){
3744var data,elem,type,
3745special=jQuery.event.special,
3746i=0;
3747for(;(elem=elems[i])!==undefined;i++){
3748if(acceptData(elem)){
3749if((data=elem[dataPriv.expando])){
3750if(data.events){
3751for(type in data.events){
3752if(special[type]){
3753jQuery.event.remove(elem,type);
3754}else{
3755jQuery.removeEvent(elem,type,data.handle);
3756}
3757}
3758}
3759elem[dataPriv.expando]=undefined;
3760}
3761if(elem[dataUser.expando]){
3762elem[dataUser.expando]=undefined;
3763}
3764}
3765}
3766}
3767});
3768jQuery.fn.extend({
3769detach:function(selector){
3770return remove(this,selector,true);
3771},
3772remove:function(selector){
3773return remove(this,selector);
3774},
3775text:function(value){
3776return access(this,function(value){
3777return value===undefined?
3778jQuery.text(this):
3779this.empty().each(function(){
3780if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3781this.textContent=value;
3782}
3783});
3784},null,value,arguments.length);
3785},
3786append:function(){
3787return domManip(this,arguments,function(elem){
3788if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3789var target=manipulationTarget(this,elem);
3790target.appendChild(elem);
3791}
3792});
3793},
3794prepend:function(){
3795return domManip(this,arguments,function(elem){
3796if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3797var target=manipulationTarget(this,elem);
3798target.insertBefore(elem,target.firstChild);
3799}
3800});
3801},
3802before:function(){
3803return domManip(this,arguments,function(elem){
3804if(this.parentNode){
3805this.parentNode.insertBefore(elem,this);
3806}
3807});
3808},
3809after:function(){
3810return domManip(this,arguments,function(elem){
3811if(this.parentNode){
3812this.parentNode.insertBefore(elem,this.nextSibling);
3813}
3814});
3815},
3816empty:function(){
3817var elem,
3818i=0;
3819for(;(elem=this[i])!=null;i++){
3820if(elem.nodeType===1){
3821jQuery.cleanData(getAll(elem,false));
3822elem.textContent="";
3823}
3824}
3825return this;
3826},
3827clone:function(dataAndEvents,deepDataAndEvents){
3828dataAndEvents=dataAndEvents==null?false:dataAndEvents;
3829deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;
3830return this.map(function(){
3831return jQuery.clone(this,dataAndEvents,deepDataAndEvents);
3832});
3833},
3834html:function(value){
3835return access(this,function(value){
3836var elem=this[0]||{},
3837i=0,
3838l=this.length;
3839if(value===undefined&&elem.nodeType===1){
3840return elem.innerHTML;
3841}
3842if(typeof value==="string"&&!rnoInnerhtml.test(value)&&
3843!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){
3844value=jQuery.htmlPrefilter(value);
3845try{
3846for(;i<l;i++){
3847elem=this[i]||{};
3848if(elem.nodeType===1){
3849jQuery.cleanData(getAll(elem,false));
3850elem.innerHTML=value;
3851}
3852}
3853elem=0;
3854}catch(e){}
3855}
3856if(elem){
3857this.empty().append(value);
3858}
3859},null,value,arguments.length);
3860},
3861replaceWith:function(){
3862var ignored=[];
3863return domManip(this,arguments,function(elem){
3864var parent=this.parentNode;
3865if(jQuery.inArray(this,ignored)<0){
3866jQuery.cleanData(getAll(this));
3867if(parent){
3868parent.replaceChild(elem,this);
3869}
3870}
3871},ignored);
3872}
3873});
3874jQuery.each({
3875appendTo:"append",
3876prependTo:"prepend",
3877insertBefore:"before",
3878insertAfter:"after",
3879replaceAll:"replaceWith"
3880},function(name,original){
3881jQuery.fn[name]=function(selector){
3882var elems,
3883ret=[],
3884insert=jQuery(selector),
3885last=insert.length-1,
3886i=0;
3887for(;i<=last;i++){
3888elems=i===last?this:this.clone(true);
3889jQuery(insert[i])[original](elems);
3890push.apply(ret,elems.get());
3891}
3892return this.pushStack(ret);
3893};
3894});
3895var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");
3896var rcustomProp=/^--/;
3897var getStyles=function(elem){
3898var view=elem.ownerDocument.defaultView;
3899if(!view||!view.opener){
3900view=window;
3901}
3902return view.getComputedStyle(elem);
3903};
3904var swap=function(elem,options,callback){
3905var ret,name,
3906old={};
3907for(name in options){
3908old[name]=elem.style[name];
3909elem.style[name]=options[name];
3910}
3911ret=callback.call(elem);
3912for(name in options){
3913elem.style[name]=old[name];
3914}
3915return ret;
3916};
3917var rboxStyle=new RegExp(cssExpand.join("|"),"i");
3918(function(){
3919function computeStyleTests(){
3920if(!div){
3921return;
3922}
3923container.style.cssText="position:absolute;left:-11111px;width:60px;"+
3924"margin-top:1px;padding:0;border:0";
3925div.style.cssText=
3926"position:relative;display:block;box-sizing:border-box;overflow:scroll;"+
3927"margin:auto;border:1px;padding:1px;"+
3928"width:60%;top:1%";
3929documentElement.appendChild(container).appendChild(div);
3930var divStyle=window.getComputedStyle(div);
3931pixelPositionVal=divStyle.top!=="1%";
3932reliableMarginLeftVal=roundPixelMeasures(divStyle.marginLeft)===12;
3933div.style.right="60%";
3934pixelBoxStylesVal=roundPixelMeasures(divStyle.right)===36;
3935boxSizingReliableVal=roundPixelMeasures(divStyle.width)===36;
3936div.style.position="absolute";
3937scrollboxSizeVal=roundPixelMeasures(div.offsetWidth/3)===12;
3938documentElement.removeChild(container);
3939div=null;
3940}
3941function roundPixelMeasures(measure){
3942return Math.round(parseFloat(measure));
3943}
3944var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal,
3945reliableTrDimensionsVal,reliableMarginLeftVal,
3946container=document.createElement("div"),
3947div=document.createElement("div");
3948if(!div.style){
3949return;
3950}
3951div.style.backgroundClip="content-box";
3952div.cloneNode(true).style.backgroundClip="";
3953support.clearCloneStyle=div.style.backgroundClip==="content-box";
3954jQuery.extend(support,{
3955boxSizingReliable:function(){
3956computeStyleTests();
3957return boxSizingReliableVal;
3958},
3959pixelBoxStyles:function(){
3960computeStyleTests();
3961return pixelBoxStylesVal;
3962},
3963pixelPosition:function(){
3964computeStyleTests();
3965return pixelPositionVal;
3966},
3967reliableMarginLeft:function(){
3968computeStyleTests();
3969return reliableMarginLeftVal;
3970},
3971scrollboxSize:function(){
3972computeStyleTests();
3973return scrollboxSizeVal;
3974},
3975reliableTrDimensions:function(){
3976var table,tr,trChild,trStyle;
3977if(reliableTrDimensionsVal==null){
3978table=document.createElement("table");
3979tr=document.createElement("tr");
3980trChild=document.createElement("div");
3981table.style.cssText="position:absolute;left:-11111px;border-collapse:separate";
3982tr.style.cssText="box-sizing:content-box;border:1px solid";
3983tr.style.height="1px";
3984trChild.style.height="9px";
3985trChild.style.display="block";
3986documentElement
3987.appendChild(table)
3988.appendChild(tr)
3989.appendChild(trChild);
3990trStyle=window.getComputedStyle(tr);
3991reliableTrDimensionsVal=(parseInt(trStyle.height,10)+
3992parseInt(trStyle.borderTopWidth,10)+
3993parseInt(trStyle.borderBottomWidth,10))===tr.offsetHeight;
3994documentElement.removeChild(table);
3995}
3996return reliableTrDimensionsVal;
3997}
3998});
3999})();
4000function curCSS(elem,name,computed){
4001var width,minWidth,maxWidth,ret,
4002isCustomProp=rcustomProp.test(name),
4003style=elem.style;
4004computed=computed||getStyles(elem);
4005if(computed){
4006ret=computed.getPropertyValue(name)||computed[name];
4007if(isCustomProp&&ret){
4008ret=ret.replace(rtrimCSS,"$1")||undefined;
4009}
4010if(ret===""&&!isAttached(elem)){
4011ret=jQuery.style(elem,name);
4012}
4013if(!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.test(name)){
4014width=style.width;
4015minWidth=style.minWidth;
4016maxWidth=style.maxWidth;
4017style.minWidth=style.maxWidth=style.width=ret;
4018ret=computed.width;
4019style.width=width;
4020style.minWidth=minWidth;
4021style.maxWidth=maxWidth;
4022}
4023}
4024return ret!==undefined?
4025ret+"":
4026ret;
4027}
4028function addGetHookIf(conditionFn,hookFn){
4029return{
4030get:function(){
4031if(conditionFn()){
4032delete this.get;
4033return;
4034}
4035return(this.get=hookFn).apply(this,arguments);
4036}
4037};
4038}
4039var cssPrefixes=["Webkit","Moz","ms"],
4040emptyStyle=document.createElement("div").style,
4041vendorProps={};
4042function vendorPropName(name){
4043var capName=name[0].toUpperCase()+name.slice(1),
4044i=cssPrefixes.length;
4045while(i--){
4046name=cssPrefixes[i]+capName;
4047if(name in emptyStyle){
4048return name;
4049}
4050}
4051}
4052function finalPropName(name){
4053var final=jQuery.cssProps[name]||vendorProps[name];
4054if(final){
4055return final;
4056}
4057if(name in emptyStyle){
4058return name;
4059}
4060return vendorProps[name]=vendorPropName(name)||name;
4061}
4062var
4063rdisplayswap=/^(none|table(?!-c[ea]).+)/,
4064cssShow={position:"absolute",visibility:"hidden",display:"block"},
4065cssNormalTransform={
4066letterSpacing:"0",
4067fontWeight:"400"
4068};
4069function setPositiveNumber(_elem,value,subtract){
4070var matches=rcssNum.exec(value);
4071return matches?
4072Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):
4073value;
4074}
4075function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){
4076var i=dimension==="width"?1:0,
4077extra=0,
4078delta=0,
4079marginDelta=0;
4080if(box===(isBorderBox?"border":"content")){
4081return 0;
4082}
4083for(;i<4;i+=2){
4084if(box==="margin"){
4085marginDelta+=jQuery.css(elem,box+cssExpand[i],true,styles);
4086}
4087if(!isBorderBox){
4088delta+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
4089if(box!=="padding"){
4090delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4091}else{
4092extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4093}
4094}else{
4095if(box==="content"){
4096delta-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
4097}
4098if(box!=="margin"){
4099delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4100}
4101}
4102}
4103if(!isBorderBox&&computedVal>=0){
4104delta+=Math.max(0,Math.ceil(
4105elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
4106computedVal-
4107delta-
4108extra-
41090.5
4110))||0;
4111}
4112return delta+marginDelta;
4113}
4114function getWidthOrHeight(elem,dimension,extra){
4115var styles=getStyles(elem),
4116boxSizingNeeded=!support.boxSizingReliable()||extra,
4117isBorderBox=boxSizingNeeded&&
4118jQuery.css(elem,"boxSizing",false,styles)==="border-box",
4119valueIsBorderBox=isBorderBox,
4120val=curCSS(elem,dimension,styles),
4121offsetProp="offset"+dimension[0].toUpperCase()+dimension.slice(1);
4122if(rnumnonpx.test(val)){
4123if(!extra){
4124return val;
4125}
4126val="auto";
4127}
4128if((!support.boxSizingReliable()&&isBorderBox||
4129!support.reliableTrDimensions()&&nodeName(elem,"tr")||
4130val==="auto"||
4131!parseFloat(val)&&jQuery.css(elem,"display",false,styles)==="inline")&&
4132elem.getClientRects().length){
4133isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";
4134valueIsBorderBox=offsetProp in elem;
4135if(valueIsBorderBox){
4136val=elem[offsetProp];
4137}
4138}
4139val=parseFloat(val)||0;
4140return(val+
4141boxModelAdjustment(
4142elem,
4143dimension,
4144extra||(isBorderBox?"border":"content"),
4145valueIsBorderBox,
4146styles,
4147val
4148)
4149)+"px";
4150}
4151jQuery.extend({
4152cssHooks:{
4153opacity:{
4154get:function(elem,computed){
4155if(computed){
4156var ret=curCSS(elem,"opacity");
4157return ret===""?"1":ret;
4158}
4159}
4160}
4161},
4162cssNumber:{
4163animationIterationCount:true,
4164aspectRatio:true,
4165borderImageSlice:true,
4166columnCount:true,
4167flexGrow:true,
4168flexShrink:true,
4169fontWeight:true,
4170gridArea:true,
4171gridColumn:true,
4172gridColumnEnd:true,
4173gridColumnStart:true,
4174gridRow:true,
4175gridRowEnd:true,
4176gridRowStart:true,
4177lineHeight:true,
4178opacity:true,
4179order:true,
4180orphans:true,
4181scale:true,
4182widows:true,
4183zIndex:true,
4184zoom:true,
4185fillOpacity:true,
4186floodOpacity:true,
4187stopOpacity:true,
4188strokeMiterlimit:true,
4189strokeOpacity:true
4190},
4191cssProps:{},
4192style:function(elem,name,value,extra){
4193if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){
4194return;
4195}
4196var ret,type,hooks,
4197origName=camelCase(name),
4198isCustomProp=rcustomProp.test(name),
4199style=elem.style;
4200if(!isCustomProp){
4201name=finalPropName(origName);
4202}
4203hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
4204if(value!==undefined){
4205type=typeof value;
4206if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){
4207value=adjustCSS(elem,name,ret);
4208type="number";
4209}
4210if(value==null||value!==value){
4211return;
4212}
4213if(type==="number"&&!isCustomProp){
4214value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");
4215}
4216if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){
4217style[name]="inherit";
4218}
4219if(!hooks||!("set"in hooks)||
4220(value=hooks.set(elem,value,extra))!==undefined){
4221if(isCustomProp){
4222style.setProperty(name,value);
4223}else{
4224style[name]=value;
4225}
4226}
4227}else{
4228if(hooks&&"get"in hooks&&
4229(ret=hooks.get(elem,false,extra))!==undefined){
4230return ret;
4231}
4232return style[name];
4233}
4234},
4235css:function(elem,name,extra,styles){
4236var val,num,hooks,
4237origName=camelCase(name),
4238isCustomProp=rcustomProp.test(name);
4239if(!isCustomProp){
4240name=finalPropName(origName);
4241}
4242hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
4243if(hooks&&"get"in hooks){
4244val=hooks.get(elem,true,extra);
4245}
4246if(val===undefined){
4247val=curCSS(elem,name,styles);
4248}
4249if(val==="normal"&&name in cssNormalTransform){
4250val=cssNormalTransform[name];
4251}
4252if(extra===""||extra){
4253num=parseFloat(val);
4254return extra===true||isFinite(num)?num||0:val;
4255}
4256return val;
4257}
4258});
4259jQuery.each(["height","width"],function(_i,dimension){
4260jQuery.cssHooks[dimension]={
4261get:function(elem,computed,extra){
4262if(computed){
4263return rdisplayswap.test(jQuery.css(elem,"display"))&&
4264(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?
4265swap(elem,cssShow,function(){
4266return getWidthOrHeight(elem,dimension,extra);
4267}):
4268getWidthOrHeight(elem,dimension,extra);
4269}
4270},
4271set:function(elem,value,extra){
4272var matches,
4273styles=getStyles(elem),
4274scrollboxSizeBuggy=!support.scrollboxSize()&&
4275styles.position==="absolute",
4276boxSizingNeeded=scrollboxSizeBuggy||extra,
4277isBorderBox=boxSizingNeeded&&
4278jQuery.css(elem,"boxSizing",false,styles)==="border-box",
4279subtract=extra?
4280boxModelAdjustment(
4281elem,
4282dimension,
4283extra,
4284isBorderBox,
4285styles
4286):
42870;
4288if(isBorderBox&&scrollboxSizeBuggy){
4289subtract-=Math.ceil(
4290elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
4291parseFloat(styles[dimension])-
4292boxModelAdjustment(elem,dimension,"border",false,styles)-
42930.5
4294);
4295}
4296if(subtract&&(matches=rcssNum.exec(value))&&
4297(matches[3]||"px")!=="px"){
4298elem.style[dimension]=value;
4299value=jQuery.css(elem,dimension);
4300}
4301return setPositiveNumber(elem,value,subtract);
4302}
4303};
4304});
4305jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,
4306function(elem,computed){
4307if(computed){
4308return(parseFloat(curCSS(elem,"marginLeft"))||
4309elem.getBoundingClientRect().left-
4310swap(elem,{marginLeft:0},function(){
4311return elem.getBoundingClientRect().left;
4312})
4313)+"px";
4314}
4315}
4316);
4317jQuery.each({
4318margin:"",
4319padding:"",
4320border:"Width"
4321},function(prefix,suffix){
4322jQuery.cssHooks[prefix+suffix]={
4323expand:function(value){
4324var i=0,
4325expanded={},
4326parts=typeof value==="string"?value.split(" "):[value];
4327for(;i<4;i++){
4328expanded[prefix+cssExpand[i]+suffix]=
4329parts[i]||parts[i-2]||parts[0];
4330}
4331return expanded;
4332}
4333};
4334if(prefix!=="margin"){
4335jQuery.cssHooks[prefix+suffix].set=setPositiveNumber;
4336}
4337});
4338jQuery.fn.extend({
4339css:function(name,value){
4340return access(this,function(elem,name,value){
4341var styles,len,
4342map={},
4343i=0;
4344if(Array.isArray(name)){
4345styles=getStyles(elem);
4346len=name.length;
4347for(;i<len;i++){
4348map[name[i]]=jQuery.css(elem,name[i],false,styles);
4349}
4350return map;
4351}
4352return value!==undefined?
4353jQuery.style(elem,name,value):
4354jQuery.css(elem,name);
4355},name,value,arguments.length>1);
4356}
4357});
4358function Tween(elem,options,prop,end,easing){
4359return new Tween.prototype.init(elem,options,prop,end,easing);
4360}
4361jQuery.Tween=Tween;
4362Tween.prototype={
4363constructor:Tween,
4364init:function(elem,options,prop,end,easing,unit){
4365this.elem=elem;
4366this.prop=prop;
4367this.easing=easing||jQuery.easing._default;
4368this.options=options;
4369this.start=this.now=this.cur();
4370this.end=end;
4371this.unit=unit||(jQuery.cssNumber[prop]?"":"px");
4372},
4373cur:function(){
4374var hooks=Tween.propHooks[this.prop];
4375return hooks&&hooks.get?
4376hooks.get(this):
4377Tween.propHooks._default.get(this);
4378},
4379run:function(percent){
4380var eased,
4381hooks=Tween.propHooks[this.prop];
4382if(this.options.duration){
4383this.pos=eased=jQuery.easing[this.easing](
4384percent,this.options.duration*percent,0,1,this.options.duration
4385);
4386}else{
4387this.pos=eased=percent;
4388}
4389this.now=(this.end-this.start)*eased+this.start;
4390if(this.options.step){
4391this.options.step.call(this.elem,this.now,this);
4392}
4393if(hooks&&hooks.set){
4394hooks.set(this);
4395}else{
4396Tween.propHooks._default.set(this);
4397}
4398return this;
4399}
4400};
4401Tween.prototype.init.prototype=Tween.prototype;
4402Tween.propHooks={
4403_default:{
4404get:function(tween){
4405var result;
4406if(tween.elem.nodeType!==1||
4407tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){
4408return tween.elem[tween.prop];
4409}
4410result=jQuery.css(tween.elem,tween.prop,"");
4411return!result||result==="auto"?0:result;
4412},
4413set:function(tween){
4414if(jQuery.fx.step[tween.prop]){
4415jQuery.fx.step[tween.prop](tween);
4416}else if(tween.elem.nodeType===1&&(
4417jQuery.cssHooks[tween.prop]||
4418tween.elem.style[finalPropName(tween.prop)]!=null)){
4419jQuery.style(tween.elem,tween.prop,tween.now+tween.unit);
4420}else{
4421tween.elem[tween.prop]=tween.now;
4422}
4423}
4424}
4425};
4426Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={
4427set:function(tween){
4428if(tween.elem.nodeType&&tween.elem.parentNode){
4429tween.elem[tween.prop]=tween.now;
4430}
4431}
4432};
4433jQuery.easing={
4434linear:function(p){
4435return p;
4436},
4437swing:function(p){
4438return 0.5-Math.cos(p*Math.PI)/2;
4439},
4440_default:"swing"
4441};
4442jQuery.fx=Tween.prototype.init;
4443jQuery.fx.step={};
4444var
4445fxNow,inProgress,
4446rfxtypes=/^(?:toggle|show|hide)$/,
4447rrun=/queueHooks$/;
4448function schedule(){
4449if(inProgress){
4450if(document.hidden===false&&window.requestAnimationFrame){
4451window.requestAnimationFrame(schedule);
4452}else{
4453window.setTimeout(schedule,jQuery.fx.interval);
4454}
4455jQuery.fx.tick();
4456}
4457}
4458function createFxNow(){
4459window.setTimeout(function(){
4460fxNow=undefined;
4461});
4462return(fxNow=Date.now());
4463}
4464function genFx(type,includeWidth){
4465var which,
4466i=0,
4467attrs={height:type};
4468includeWidth=includeWidth?1:0;
4469for(;i<4;i+=2-includeWidth){
4470which=cssExpand[i];
4471attrs["margin"+which]=attrs["padding"+which]=type;
4472}
4473if(includeWidth){
4474attrs.opacity=attrs.width=type;
4475}
4476return attrs;
4477}
4478function createTween(value,prop,animation){
4479var tween,
4480collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),
4481index=0,
4482length=collection.length;
4483for(;index<length;index++){
4484if((tween=collection[index].call(animation,prop,value))){
4485return tween;
4486}
4487}
4488}
4489function defaultPrefilter(elem,props,opts){
4490var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,
4491isBox="width"in props||"height"in props,
4492anim=this,
4493orig={},
4494style=elem.style,
4495hidden=elem.nodeType&&isHiddenWithinTree(elem),
4496dataShow=dataPriv.get(elem,"fxshow");
4497if(!opts.queue){
4498hooks=jQuery._queueHooks(elem,"fx");
4499if(hooks.unqueued==null){
4500hooks.unqueued=0;
4501oldfire=hooks.empty.fire;
4502hooks.empty.fire=function(){
4503if(!hooks.unqueued){
4504oldfire();
4505}
4506};
4507}
4508hooks.unqueued++;
4509anim.always(function(){
4510anim.always(function(){
4511hooks.unqueued--;
4512if(!jQuery.queue(elem,"fx").length){
4513hooks.empty.fire();
4514}
4515});
4516});
4517}
4518for(prop in props){
4519value=props[prop];
4520if(rfxtypes.test(value)){
4521delete props[prop];
4522toggle=toggle||value==="toggle";
4523if(value===(hidden?"hide":"show")){
4524if(value==="show"&&dataShow&&dataShow[prop]!==undefined){
4525hidden=true;
4526}else{
4527continue;
4528}
4529}
4530orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);
4531}
4532}
4533propTween=!jQuery.isEmptyObject(props);
4534if(!propTween&&jQuery.isEmptyObject(orig)){
4535return;
4536}
4537if(isBox&&elem.nodeType===1){
4538opts.overflow=[style.overflow,style.overflowX,style.overflowY];
4539restoreDisplay=dataShow&&dataShow.display;
4540if(restoreDisplay==null){
4541restoreDisplay=dataPriv.get(elem,"display");
4542}
4543display=jQuery.css(elem,"display");
4544if(display==="none"){
4545if(restoreDisplay){
4546display=restoreDisplay;
4547}else{
4548showHide([elem],true);
4549restoreDisplay=elem.style.display||restoreDisplay;
4550display=jQuery.css(elem,"display");
4551showHide([elem]);
4552}
4553}
4554if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){
4555if(jQuery.css(elem,"float")==="none"){
4556if(!propTween){
4557anim.done(function(){
4558style.display=restoreDisplay;
4559});
4560if(restoreDisplay==null){
4561display=style.display;
4562restoreDisplay=display==="none"?"":display;
4563}
4564}
4565style.display="inline-block";
4566}
4567}
4568}
4569if(opts.overflow){
4570style.overflow="hidden";
4571anim.always(function(){
4572style.overflow=opts.overflow[0];
4573style.overflowX=opts.overflow[1];
4574style.overflowY=opts.overflow[2];
4575});
4576}
4577propTween=false;
4578for(prop in orig){
4579if(!propTween){
4580if(dataShow){
4581if("hidden"in dataShow){
4582hidden=dataShow.hidden;
4583}
4584}else{
4585dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay});
4586}
4587if(toggle){
4588dataShow.hidden=!hidden;
4589}
4590if(hidden){
4591showHide([elem],true);
4592}
4593anim.done(function(){
4594if(!hidden){
4595showHide([elem]);
4596}
4597dataPriv.remove(elem,"fxshow");
4598for(prop in orig){
4599jQuery.style(elem,prop,orig[prop]);
4600}
4601});
4602}
4603propTween=createTween(hidden?dataShow[prop]:0,prop,anim);
4604if(!(prop in dataShow)){
4605dataShow[prop]=propTween.start;
4606if(hidden){
4607propTween.end=propTween.start;
4608propTween.start=0;
4609}
4610}
4611}
4612}
4613function propFilter(props,specialEasing){
4614var index,name,easing,value,hooks;
4615for(index in props){
4616name=camelCase(index);
4617easing=specialEasing[name];
4618value=props[index];
4619if(Array.isArray(value)){
4620easing=value[1];
4621value=props[index]=value[0];
4622}
4623if(index!==name){
4624props[name]=value;
4625delete props[index];
4626}
4627hooks=jQuery.cssHooks[name];
4628if(hooks&&"expand"in hooks){
4629value=hooks.expand(value);
4630delete props[name];
4631for(index in value){
4632if(!(index in props)){
4633props[index]=value[index];
4634specialEasing[index]=easing;
4635}
4636}
4637}else{
4638specialEasing[name]=easing;
4639}
4640}
4641}
4642function Animation(elem,properties,options){
4643var result,
4644stopped,
4645index=0,
4646length=Animation.prefilters.length,
4647deferred=jQuery.Deferred().always(function(){
4648delete tick.elem;
4649}),
4650tick=function(){
4651if(stopped){
4652return false;
4653}
4654var currentTime=fxNow||createFxNow(),
4655remaining=Math.max(0,animation.startTime+animation.duration-currentTime),
4656temp=remaining/animation.duration||0,
4657percent=1-temp,
4658index=0,
4659length=animation.tweens.length;
4660for(;index<length;index++){
4661animation.tweens[index].run(percent);
4662}
4663deferred.notifyWith(elem,[animation,percent,remaining]);
4664if(percent<1&&length){
4665return remaining;
4666}
4667if(!length){
4668deferred.notifyWith(elem,[animation,1,0]);
4669}
4670deferred.resolveWith(elem,[animation]);
4671return false;
4672},
4673animation=deferred.promise({
4674elem:elem,
4675props:jQuery.extend({},properties),
4676opts:jQuery.extend(true,{
4677specialEasing:{},
4678easing:jQuery.easing._default
4679},options),
4680originalProperties:properties,
4681originalOptions:options,
4682startTime:fxNow||createFxNow(),
4683duration:options.duration,
4684tweens:[],
4685createTween:function(prop,end){
4686var tween=jQuery.Tween(elem,animation.opts,prop,end,
4687animation.opts.specialEasing[prop]||animation.opts.easing);
4688animation.tweens.push(tween);
4689return tween;
4690},
4691stop:function(gotoEnd){
4692var index=0,
4693length=gotoEnd?animation.tweens.length:0;
4694if(stopped){
4695return this;
4696}
4697stopped=true;
4698for(;index<length;index++){
4699animation.tweens[index].run(1);
4700}
4701if(gotoEnd){
4702deferred.notifyWith(elem,[animation,1,0]);
4703deferred.resolveWith(elem,[animation,gotoEnd]);
4704}else{
4705deferred.rejectWith(elem,[animation,gotoEnd]);
4706}
4707return this;
4708}
4709}),
4710props=animation.props;
4711propFilter(props,animation.opts.specialEasing);
4712for(;index<length;index++){
4713result=Animation.prefilters[index].call(animation,elem,props,animation.opts);
4714if(result){
4715if(isFunction(result.stop)){
4716jQuery._queueHooks(animation.elem,animation.opts.queue).stop=
4717result.stop.bind(result);
4718}
4719return result;
4720}
4721}
4722jQuery.map(props,createTween,animation);
4723if(isFunction(animation.opts.start)){
4724animation.opts.start.call(elem,animation);
4725}
4726animation
4727.progress(animation.opts.progress)
4728.done(animation.opts.done,animation.opts.complete)
4729.fail(animation.opts.fail)
4730.always(animation.opts.always);
4731jQuery.fx.timer(
4732jQuery.extend(tick,{
4733elem:elem,
4734anim:animation,
4735queue:animation.opts.queue
4736})
4737);
4738return animation;
4739}
4740jQuery.Animation=jQuery.extend(Animation,{
4741tweeners:{
4742"*":[function(prop,value){
4743var tween=this.createTween(prop,value);
4744adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);
4745return tween;
4746}]
4747},
4748tweener:function(props,callback){
4749if(isFunction(props)){
4750callback=props;
4751props=["*"];
4752}else{
4753props=props.match(rnothtmlwhite);
4754}
4755var prop,
4756index=0,
4757length=props.length;
4758for(;index<length;index++){
4759prop=props[index];
4760Animation.tweeners[prop]=Animation.tweeners[prop]||[];
4761Animation.tweeners[prop].unshift(callback);
4762}
4763},
4764prefilters:[defaultPrefilter],
4765prefilter:function(callback,prepend){
4766if(prepend){
4767Animation.prefilters.unshift(callback);
4768}else{
4769Animation.prefilters.push(callback);
4770}
4771}
4772});
4773jQuery.speed=function(speed,easing,fn){
4774var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{
4775complete:fn||!fn&&easing||
4776isFunction(speed)&&speed,
4777duration:speed,
4778easing:fn&&easing||easing&&!isFunction(easing)&&easing
4779};
4780if(jQuery.fx.off){
4781opt.duration=0;
4782}else{
4783if(typeof opt.duration!=="number"){
4784if(opt.duration in jQuery.fx.speeds){
4785opt.duration=jQuery.fx.speeds[opt.duration];
4786}else{
4787opt.duration=jQuery.fx.speeds._default;
4788}
4789}
4790}
4791if(opt.queue==null||opt.queue===true){
4792opt.queue="fx";
4793}
4794opt.old=opt.complete;
4795opt.complete=function(){
4796if(isFunction(opt.old)){
4797opt.old.call(this);
4798}
4799if(opt.queue){
4800jQuery.dequeue(this,opt.queue);
4801}
4802};
4803return opt;
4804};
4805jQuery.fn.extend({
4806fadeTo:function(speed,to,easing,callback){
4807return this.filter(isHiddenWithinTree).css("opacity",0).show()
4808.end().animate({opacity:to},speed,easing,callback);
4809},
4810animate:function(prop,speed,easing,callback){
4811var empty=jQuery.isEmptyObject(prop),
4812optall=jQuery.speed(speed,easing,callback),
4813doAnimation=function(){
4814var anim=Animation(this,jQuery.extend({},prop),optall);
4815if(empty||dataPriv.get(this,"finish")){
4816anim.stop(true);
4817}
4818};
4819doAnimation.finish=doAnimation;
4820return empty||optall.queue===false?
4821this.each(doAnimation):
4822this.queue(optall.queue,doAnimation);
4823},
4824stop:function(type,clearQueue,gotoEnd){
4825var stopQueue=function(hooks){
4826var stop=hooks.stop;
4827delete hooks.stop;
4828stop(gotoEnd);
4829};
4830if(typeof type!=="string"){
4831gotoEnd=clearQueue;
4832clearQueue=type;
4833type=undefined;
4834}
4835if(clearQueue){
4836this.queue(type||"fx",[]);
4837}
4838return this.each(function(){
4839var dequeue=true,
4840index=type!=null&&type+"queueHooks",
4841timers=jQuery.timers,
4842data=dataPriv.get(this);
4843if(index){
4844if(data[index]&&data[index].stop){
4845stopQueue(data[index]);
4846}
4847}else{
4848for(index in data){
4849if(data[index]&&data[index].stop&&rrun.test(index)){
4850stopQueue(data[index]);
4851}
4852}
4853}
4854for(index=timers.length;index--;){
4855if(timers[index].elem===this&&
4856(type==null||timers[index].queue===type)){
4857timers[index].anim.stop(gotoEnd);
4858dequeue=false;
4859timers.splice(index,1);
4860}
4861}
4862if(dequeue||!gotoEnd){
4863jQuery.dequeue(this,type);
4864}
4865});
4866},
4867finish:function(type){
4868if(type!==false){
4869type=type||"fx";
4870}
4871return this.each(function(){
4872var index,
4873data=dataPriv.get(this),
4874queue=data[type+"queue"],
4875hooks=data[type+"queueHooks"],
4876timers=jQuery.timers,
4877length=queue?queue.length:0;
4878data.finish=true;
4879jQuery.queue(this,type,[]);
4880if(hooks&&hooks.stop){
4881hooks.stop.call(this,true);
4882}
4883for(index=timers.length;index--;){
4884if(timers[index].elem===this&&timers[index].queue===type){
4885timers[index].anim.stop(true);
4886timers.splice(index,1);
4887}
4888}
4889for(index=0;index<length;index++){
4890if(queue[index]&&queue[index].finish){
4891queue[index].finish.call(this);
4892}
4893}
4894delete data.finish;
4895});
4896}
4897});
4898jQuery.each(["toggle","show","hide"],function(_i,name){
4899var cssFn=jQuery.fn[name];
4900jQuery.fn[name]=function(speed,easing,callback){
4901return speed==null||typeof speed==="boolean"?
4902cssFn.apply(this,arguments):
4903this.animate(genFx(name,true),speed,easing,callback);
4904};
4905});
4906jQuery.each({
4907slideDown:genFx("show"),
4908slideUp:genFx("hide"),
4909slideToggle:genFx("toggle"),
4910fadeIn:{opacity:"show"},
4911fadeOut:{opacity:"hide"},
4912fadeToggle:{opacity:"toggle"}
4913},function(name,props){
4914jQuery.fn[name]=function(speed,easing,callback){
4915return this.animate(props,speed,easing,callback);
4916};
4917});
4918jQuery.timers=[];
4919jQuery.fx.tick=function(){
4920var timer,
4921i=0,
4922timers=jQuery.timers;
4923fxNow=Date.now();
4924for(;i<timers.length;i++){
4925timer=timers[i];
4926if(!timer()&&timers[i]===timer){
4927timers.splice(i--,1);
4928}
4929}
4930if(!timers.length){
4931jQuery.fx.stop();
4932}
4933fxNow=undefined;
4934};
4935jQuery.fx.timer=function(timer){
4936jQuery.timers.push(timer);
4937jQuery.fx.start();
4938};
4939jQuery.fx.interval=13;
4940jQuery.fx.start=function(){
4941if(inProgress){
4942return;
4943}
4944inProgress=true;
4945schedule();
4946};
4947jQuery.fx.stop=function(){
4948inProgress=null;
4949};
4950jQuery.fx.speeds={
4951slow:600,
4952fast:200,
4953_default:400
4954};
4955jQuery.fn.delay=function(time,type){
4956time=jQuery.fx?jQuery.fx.speeds[time]||time:time;
4957type=type||"fx";
4958return this.queue(type,function(next,hooks){
4959var timeout=window.setTimeout(next,time);
4960hooks.stop=function(){
4961window.clearTimeout(timeout);
4962};
4963});
4964};
4965(function(){
4966var input=document.createElement("input"),
4967select=document.createElement("select"),
4968opt=select.appendChild(document.createElement("option"));
4969input.type="checkbox";
4970support.checkOn=input.value!=="";
4971support.optSelected=opt.selected;
4972input=document.createElement("input");
4973input.value="t";
4974input.type="radio";
4975support.radioValue=input.value==="t";
4976})();
4977var boolHook,
4978attrHandle=jQuery.expr.attrHandle;
4979jQuery.fn.extend({
4980attr:function(name,value){
4981return access(this,jQuery.attr,name,value,arguments.length>1);
4982},
4983removeAttr:function(name){
4984return this.each(function(){
4985jQuery.removeAttr(this,name);
4986});
4987}
4988});
4989jQuery.extend({
4990attr:function(elem,name,value){
4991var ret,hooks,
4992nType=elem.nodeType;
4993if(nType===3||nType===8||nType===2){
4994return;
4995}
4996if(typeof elem.getAttribute==="undefined"){
4997return jQuery.prop(elem,name,value);
4998}
4999if(nType!==1||!jQuery.isXMLDoc(elem)){
5000hooks=jQuery.attrHooks[name.toLowerCase()]||
5001(jQuery.expr.match.bool.test(name)?boolHook:undefined);
5002}
5003if(value!==undefined){
5004if(value===null){
5005jQuery.removeAttr(elem,name);
5006return;
5007}
5008if(hooks&&"set"in hooks&&
5009(ret=hooks.set(elem,value,name))!==undefined){
5010return ret;
5011}
5012elem.setAttribute(name,value+"");
5013return value;
5014}
5015if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
5016return ret;
5017}
5018ret=jQuery.find.attr(elem,name);
5019return ret==null?undefined:ret;
5020},
5021attrHooks:{
5022type:{
5023set:function(elem,value){
5024if(!support.radioValue&&value==="radio"&&
5025nodeName(elem,"input")){
5026var val=elem.value;
5027elem.setAttribute("type",value);
5028if(val){
5029elem.value=val;
5030}
5031return value;
5032}
5033}
5034}
5035},
5036removeAttr:function(elem,value){
5037var name,
5038i=0,
5039attrNames=value&&value.match(rnothtmlwhite);
5040if(attrNames&&elem.nodeType===1){
5041while((name=attrNames[i++])){
5042elem.removeAttribute(name);
5043}
5044}
5045}
5046});
5047boolHook={
5048set:function(elem,value,name){
5049if(value===false){
5050jQuery.removeAttr(elem,name);
5051}else{
5052elem.setAttribute(name,name);
5053}
5054return name;
5055}
5056};
5057jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(_i,name){
5058var getter=attrHandle[name]||jQuery.find.attr;
5059attrHandle[name]=function(elem,name,isXML){
5060var ret,handle,
5061lowercaseName=name.toLowerCase();
5062if(!isXML){
5063handle=attrHandle[lowercaseName];
5064attrHandle[lowercaseName]=ret;
5065ret=getter(elem,name,isXML)!=null?
5066lowercaseName:
5067null;
5068attrHandle[lowercaseName]=handle;
5069}
5070return ret;
5071};
5072});
5073var rfocusable=/^(?:input|select|textarea|button)$/i,
5074rclickable=/^(?:a|area)$/i;
5075jQuery.fn.extend({
5076prop:function(name,value){
5077return access(this,jQuery.prop,name,value,arguments.length>1);
5078},
5079removeProp:function(name){
5080return this.each(function(){
5081delete this[jQuery.propFix[name]||name];
5082});
5083}
5084});
5085jQuery.extend({
5086prop:function(elem,name,value){
5087var ret,hooks,
5088nType=elem.nodeType;
5089if(nType===3||nType===8||nType===2){
5090return;
5091}
5092if(nType!==1||!jQuery.isXMLDoc(elem)){
5093name=jQuery.propFix[name]||name;
5094hooks=jQuery.propHooks[name];
5095}
5096if(value!==undefined){
5097if(hooks&&"set"in hooks&&
5098(ret=hooks.set(elem,value,name))!==undefined){
5099return ret;
5100}
5101return(elem[name]=value);
5102}
5103if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
5104return ret;
5105}
5106return elem[name];
5107},
5108propHooks:{
5109tabIndex:{
5110get:function(elem){
5111var tabindex=jQuery.find.attr(elem,"tabindex");
5112if(tabindex){
5113return parseInt(tabindex,10);
5114}
5115if(
5116rfocusable.test(elem.nodeName)||
5117rclickable.test(elem.nodeName)&&
5118elem.href
5119){
5120return 0;
5121}
5122return-1;
5123}
5124}
5125},
5126propFix:{
5127"for":"htmlFor",
5128"class":"className"
5129}
5130});
5131if(!support.optSelected){
5132jQuery.propHooks.selected={
5133get:function(elem){
5134var parent=elem.parentNode;
5135if(parent&&parent.parentNode){
5136parent.parentNode.selectedIndex;
5137}
5138return null;
5139},
5140set:function(elem){
5141var parent=elem.parentNode;
5142if(parent){
5143parent.selectedIndex;
5144if(parent.parentNode){
5145parent.parentNode.selectedIndex;
5146}
5147}
5148}
5149};
5150}
5151jQuery.each([
5152"tabIndex",
5153"readOnly",
5154"maxLength",
5155"cellSpacing",
5156"cellPadding",
5157"rowSpan",
5158"colSpan",
5159"useMap",
5160"frameBorder",
5161"contentEditable"
5162],function(){
5163jQuery.propFix[this.toLowerCase()]=this;
5164});
5165function stripAndCollapse(value){
5166var tokens=value.match(rnothtmlwhite)||[];
5167return tokens.join(" ");
5168}
5169function getClass(elem){
5170return elem.getAttribute&&elem.getAttribute("class")||"";
5171}
5172function classesToArray(value){
5173if(Array.isArray(value)){
5174return value;
5175}
5176if(typeof value==="string"){
5177return value.match(rnothtmlwhite)||[];
5178}
5179return[];
5180}
5181jQuery.fn.extend({
5182addClass:function(value){
5183var classNames,cur,curValue,className,i,finalValue;
5184if(isFunction(value)){
5185return this.each(function(j){
5186jQuery(this).addClass(value.call(this,j,getClass(this)));
5187});
5188}
5189classNames=classesToArray(value);
5190if(classNames.length){
5191return this.each(function(){
5192curValue=getClass(this);
5193cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
5194if(cur){
5195for(i=0;i<classNames.length;i++){
5196className=classNames[i];
5197if(cur.indexOf(" "+className+" ")<0){
5198cur+=className+" ";
5199}
5200}
5201finalValue=stripAndCollapse(cur);
5202if(curValue!==finalValue){
5203this.setAttribute("class",finalValue);
5204}
5205}
5206});
5207}
5208return this;
5209},
5210removeClass:function(value){
5211var classNames,cur,curValue,className,i,finalValue;
5212if(isFunction(value)){
5213return this.each(function(j){
5214jQuery(this).removeClass(value.call(this,j,getClass(this)));
5215});
5216}
5217if(!arguments.length){
5218return this.attr("class","");
5219}
5220classNames=classesToArray(value);
5221if(classNames.length){
5222return this.each(function(){
5223curValue=getClass(this);
5224cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
5225if(cur){
5226for(i=0;i<classNames.length;i++){
5227className=classNames[i];
5228while(cur.indexOf(" "+className+" ")>-1){
5229cur=cur.replace(" "+className+" "," ");
5230}
5231}
5232finalValue=stripAndCollapse(cur);
5233if(curValue!==finalValue){
5234this.setAttribute("class",finalValue);
5235}
5236}
5237});
5238}
5239return this;
5240},
5241toggleClass:function(value,stateVal){
5242var classNames,className,i,self,
5243type=typeof value,
5244isValidValue=type==="string"||Array.isArray(value);
5245if(isFunction(value)){
5246return this.each(function(i){
5247jQuery(this).toggleClass(
5248value.call(this,i,getClass(this),stateVal),
5249stateVal
5250);
5251});
5252}
5253if(typeof stateVal==="boolean"&&isValidValue){
5254return stateVal?this.addClass(value):this.removeClass(value);
5255}
5256classNames=classesToArray(value);
5257return this.each(function(){
5258if(isValidValue){
5259self=jQuery(this);
5260for(i=0;i<classNames.length;i++){
5261className=classNames[i];
5262if(self.hasClass(className)){
5263self.removeClass(className);
5264}else{
5265self.addClass(className);
5266}
5267}
5268}else if(value===undefined||type==="boolean"){
5269className=getClass(this);
5270if(className){
5271dataPriv.set(this,"__className__",className);
5272}
5273if(this.setAttribute){
5274this.setAttribute("class",
5275className||value===false?
5276"":
5277dataPriv.get(this,"__className__")||""
5278);
5279}
5280}
5281});
5282},
5283hasClass:function(selector){
5284var className,elem,
5285i=0;
5286className=" "+selector+" ";
5287while((elem=this[i++])){
5288if(elem.nodeType===1&&
5289(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){
5290return true;
5291}
5292}
5293return false;
5294}
5295});
5296var rreturn=/\r/g;
5297jQuery.fn.extend({
5298val:function(value){
5299var hooks,ret,valueIsFunction,
5300elem=this[0];
5301if(!arguments.length){
5302if(elem){
5303hooks=jQuery.valHooks[elem.type]||
5304jQuery.valHooks[elem.nodeName.toLowerCase()];
5305if(hooks&&
5306"get"in hooks&&
5307(ret=hooks.get(elem,"value"))!==undefined
5308){
5309return ret;
5310}
5311ret=elem.value;
5312if(typeof ret==="string"){
5313return ret.replace(rreturn,"");
5314}
5315return ret==null?"":ret;
5316}
5317return;
5318}
5319valueIsFunction=isFunction(value);
5320return this.each(function(i){
5321var val;
5322if(this.nodeType!==1){
5323return;
5324}
5325if(valueIsFunction){
5326val=value.call(this,i,jQuery(this).val());
5327}else{
5328val=value;
5329}
5330if(val==null){
5331val="";
5332}else if(typeof val==="number"){
5333val+="";
5334}else if(Array.isArray(val)){
5335val=jQuery.map(val,function(value){
5336return value==null?"":value+"";
5337});
5338}
5339hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];
5340if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){
5341this.value=val;
5342}
5343});
5344}
5345});
5346jQuery.extend({
5347valHooks:{
5348option:{
5349get:function(elem){
5350var val=jQuery.find.attr(elem,"value");
5351return val!=null?
5352val:
5353stripAndCollapse(jQuery.text(elem));
5354}
5355},
5356select:{
5357get:function(elem){
5358var value,option,i,
5359options=elem.options,
5360index=elem.selectedIndex,
5361one=elem.type==="select-one",
5362values=one?null:[],
5363max=one?index+1:options.length;
5364if(index<0){
5365i=max;
5366}else{
5367i=one?index:0;
5368}
5369for(;i<max;i++){
5370option=options[i];
5371if((option.selected||i===index)&&
5372!option.disabled&&
5373(!option.parentNode.disabled||
5374!nodeName(option.parentNode,"optgroup"))){
5375value=jQuery(option).val();
5376if(one){
5377return value;
5378}
5379values.push(value);
5380}
5381}
5382return values;
5383},
5384set:function(elem,value){
5385var optionSet,option,
5386options=elem.options,
5387values=jQuery.makeArray(value),
5388i=options.length;
5389while(i--){
5390option=options[i];
5391if(option.selected=
5392jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1
5393){
5394optionSet=true;
5395}
5396}
5397if(!optionSet){
5398elem.selectedIndex=-1;
5399}
5400return values;
5401}
5402}
5403}
5404});
5405jQuery.each(["radio","checkbox"],function(){
5406jQuery.valHooks[this]={
5407set:function(elem,value){
5408if(Array.isArray(value)){
5409return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1);
5410}
5411}
5412};
5413if(!support.checkOn){
5414jQuery.valHooks[this].get=function(elem){
5415return elem.getAttribute("value")===null?"on":elem.value;
5416};
5417}
5418});
5419var location=window.location;
5420var nonce={guid:Date.now()};
5421var rquery=(/\?/);
5422jQuery.parseXML=function(data){
5423var xml,parserErrorElem;
5424if(!data||typeof data!=="string"){
5425return null;
5426}
5427try{
5428xml=(new window.DOMParser()).parseFromString(data,"text/xml");
5429}catch(e){}
5430parserErrorElem=xml&&xml.getElementsByTagName("parsererror")[0];
5431if(!xml||parserErrorElem){
5432jQuery.error("Invalid XML: "+(
5433parserErrorElem?
5434jQuery.map(parserErrorElem.childNodes,function(el){
5435return el.textContent;
5436}).join("\n"):
5437data
5438));
5439}
5440return xml;
5441};
5442var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,
5443stopPropagationCallback=function(e){
5444e.stopPropagation();
5445};
5446jQuery.extend(jQuery.event,{
5447trigger:function(event,data,elem,onlyHandlers){
5448var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,
5449eventPath=[elem||document],
5450type=hasOwn.call(event,"type")?event.type:event,
5451namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];
5452cur=lastElement=tmp=elem=elem||document;
5453if(elem.nodeType===3||elem.nodeType===8){
5454return;
5455}
5456if(rfocusMorph.test(type+jQuery.event.triggered)){
5457return;
5458}
5459if(type.indexOf(".")>-1){
5460namespaces=type.split(".");
5461type=namespaces.shift();
5462namespaces.sort();
5463}
5464ontype=type.indexOf(":")<0&&"on"+type;
5465event=event[jQuery.expando]?
5466event:
5467new jQuery.Event(type,typeof event==="object"&&event);
5468event.isTrigger=onlyHandlers?2:3;
5469event.namespace=namespaces.join(".");
5470event.rnamespace=event.namespace?
5471new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):
5472null;
5473event.result=undefined;
5474if(!event.target){
5475event.target=elem;
5476}
5477data=data==null?
5478[event]:
5479jQuery.makeArray(data,[event]);
5480special=jQuery.event.special[type]||{};
5481if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){
5482return;
5483}
5484if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){
5485bubbleType=special.delegateType||type;
5486if(!rfocusMorph.test(bubbleType+type)){
5487cur=cur.parentNode;
5488}
5489for(;cur;cur=cur.parentNode){
5490eventPath.push(cur);
5491tmp=cur;
5492}
5493if(tmp===(elem.ownerDocument||document)){
5494eventPath.push(tmp.defaultView||tmp.parentWindow||window);
5495}
5496}
5497i=0;
5498while((cur=eventPath[i++])&&!event.isPropagationStopped()){
5499lastElement=cur;
5500event.type=i>1?
5501bubbleType:
5502special.bindType||type;
5503handle=(dataPriv.get(cur,"events")||Object.create(null))[event.type]&&
5504dataPriv.get(cur,"handle");
5505if(handle){
5506handle.apply(cur,data);
5507}
5508handle=ontype&&cur[ontype];
5509if(handle&&handle.apply&&acceptData(cur)){
5510event.result=handle.apply(cur,data);
5511if(event.result===false){
5512event.preventDefault();
5513}
5514}
5515}
5516event.type=type;
5517if(!onlyHandlers&&!event.isDefaultPrevented()){
5518if((!special._default||
5519special._default.apply(eventPath.pop(),data)===false)&&
5520acceptData(elem)){
5521if(ontype&&isFunction(elem[type])&&!isWindow(elem)){
5522tmp=elem[ontype];
5523if(tmp){
5524elem[ontype]=null;
5525}
5526jQuery.event.triggered=type;
5527if(event.isPropagationStopped()){
5528lastElement.addEventListener(type,stopPropagationCallback);
5529}
5530elem[type]();
5531if(event.isPropagationStopped()){
5532lastElement.removeEventListener(type,stopPropagationCallback);
5533}
5534jQuery.event.triggered=undefined;
5535if(tmp){
5536elem[ontype]=tmp;
5537}
5538}
5539}
5540}
5541return event.result;
5542},
5543simulate:function(type,elem,event){
5544var e=jQuery.extend(
5545new jQuery.Event(),
5546event,
5547{
5548type:type,
5549isSimulated:true
5550}
5551);
5552jQuery.event.trigger(e,null,elem);
5553}
5554});
5555jQuery.fn.extend({
5556trigger:function(type,data){
5557return this.each(function(){
5558jQuery.event.trigger(type,data,this);
5559});
5560},
5561triggerHandler:function(type,data){
5562var elem=this[0];
5563if(elem){
5564return jQuery.event.trigger(type,data,elem,true);
5565}
5566}
5567});
5568var
5569rbracket=/\[\]$/,
5570rCRLF=/\r?\n/g,
5571rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,
5572rsubmittable=/^(?:input|select|textarea|keygen)/i;
5573function buildParams(prefix,obj,traditional,add){
5574var name;
5575if(Array.isArray(obj)){
5576jQuery.each(obj,function(i,v){
5577if(traditional||rbracket.test(prefix)){
5578add(prefix,v);
5579}else{
5580buildParams(
5581prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",
5582v,
5583traditional,
5584add
5585);
5586}
5587});
5588}else if(!traditional&&toType(obj)==="object"){
5589for(name in obj){
5590buildParams(prefix+"["+name+"]",obj[name],traditional,add);
5591}
5592}else{
5593add(prefix,obj);
5594}
5595}
5596jQuery.param=function(a,traditional){
5597var prefix,
5598s=[],
5599add=function(key,valueOrFunction){
5600var value=isFunction(valueOrFunction)?
5601valueOrFunction():
5602valueOrFunction;
5603s[s.length]=encodeURIComponent(key)+"="+
5604encodeURIComponent(value==null?"":value);
5605};
5606if(a==null){
5607return"";
5608}
5609if(Array.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){
5610jQuery.each(a,function(){
5611add(this.name,this.value);
5612});
5613}else{
5614for(prefix in a){
5615buildParams(prefix,a[prefix],traditional,add);
5616}
5617}
5618return s.join("&");
5619};
5620jQuery.fn.extend({
5621serialize:function(){
5622return jQuery.param(this.serializeArray());
5623},
5624serializeArray:function(){
5625return this.map(function(){
5626var elements=jQuery.prop(this,"elements");
5627return elements?jQuery.makeArray(elements):this;
5628}).filter(function(){
5629var type=this.type;
5630return this.name&&!jQuery(this).is(":disabled")&&
5631rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&
5632(this.checked||!rcheckableType.test(type));
5633}).map(function(_i,elem){
5634var val=jQuery(this).val();
5635if(val==null){
5636return null;
5637}
5638if(Array.isArray(val)){
5639return jQuery.map(val,function(val){
5640return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
5641});
5642}
5643return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
5644}).get();
5645}
5646});
5647var
5648r20=/%20/g,
5649rhash=/#.*$/,
5650rantiCache=/([?&])_=[^&]*/,
5651rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,
5652rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
5653rnoContent=/^(?:GET|HEAD)$/,
5654rprotocol=/^\/\//,
5655prefilters={},
5656transports={},
5657allTypes="*/".concat("*"),
5658originAnchor=document.createElement("a");
5659originAnchor.href=location.href;
5660function addToPrefiltersOrTransports(structure){
5661return function(dataTypeExpression,func){
5662if(typeof dataTypeExpression!=="string"){
5663func=dataTypeExpression;
5664dataTypeExpression="*";
5665}
5666var dataType,
5667i=0,
5668dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];
5669if(isFunction(func)){
5670while((dataType=dataTypes[i++])){
5671if(dataType[0]==="+"){
5672dataType=dataType.slice(1)||"*";
5673(structure[dataType]=structure[dataType]||[]).unshift(func);
5674}else{
5675(structure[dataType]=structure[dataType]||[]).push(func);
5676}
5677}
5678}
5679};
5680}
5681function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){
5682var inspected={},
5683seekingTransport=(structure===transports);
5684function inspect(dataType){
5685var selected;
5686inspected[dataType]=true;
5687jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){
5688var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);
5689if(typeof dataTypeOrTransport==="string"&&
5690!seekingTransport&&!inspected[dataTypeOrTransport]){
5691options.dataTypes.unshift(dataTypeOrTransport);
5692inspect(dataTypeOrTransport);
5693return false;
5694}else if(seekingTransport){
5695return!(selected=dataTypeOrTransport);
5696}
5697});
5698return selected;
5699}
5700return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");
5701}
5702function ajaxExtend(target,src){
5703var key,deep,
5704flatOptions=jQuery.ajaxSettings.flatOptions||{};
5705for(key in src){
5706if(src[key]!==undefined){
5707(flatOptions[key]?target:(deep||(deep={})))[key]=src[key];
5708}
5709}
5710if(deep){
5711jQuery.extend(true,target,deep);
5712}
5713return target;
5714}
5715function ajaxHandleResponses(s,jqXHR,responses){
5716var ct,type,finalDataType,firstDataType,
5717contents=s.contents,
5718dataTypes=s.dataTypes;
5719while(dataTypes[0]==="*"){
5720dataTypes.shift();
5721if(ct===undefined){
5722ct=s.mimeType||jqXHR.getResponseHeader("Content-Type");
5723}
5724}
5725if(ct){
5726for(type in contents){
5727if(contents[type]&&contents[type].test(ct)){
5728dataTypes.unshift(type);
5729break;
5730}
5731}
5732}
5733if(dataTypes[0]in responses){
5734finalDataType=dataTypes[0];
5735}else{
5736for(type in responses){
5737if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){
5738finalDataType=type;
5739break;
5740}
5741if(!firstDataType){
5742firstDataType=type;
5743}
5744}
5745finalDataType=finalDataType||firstDataType;
5746}
5747if(finalDataType){
5748if(finalDataType!==dataTypes[0]){
5749dataTypes.unshift(finalDataType);
5750}
5751return responses[finalDataType];
5752}
5753}
5754function ajaxConvert(s,response,jqXHR,isSuccess){
5755var conv2,current,conv,tmp,prev,
5756converters={},
5757dataTypes=s.dataTypes.slice();
5758if(dataTypes[1]){
5759for(conv in s.converters){
5760converters[conv.toLowerCase()]=s.converters[conv];
5761}
5762}
5763current=dataTypes.shift();
5764while(current){
5765if(s.responseFields[current]){
5766jqXHR[s.responseFields[current]]=response;
5767}
5768if(!prev&&isSuccess&&s.dataFilter){
5769response=s.dataFilter(response,s.dataType);
5770}
5771prev=current;
5772current=dataTypes.shift();
5773if(current){
5774if(current==="*"){
5775current=prev;
5776}else if(prev!=="*"&&prev!==current){
5777conv=converters[prev+" "+current]||converters["* "+current];
5778if(!conv){
5779for(conv2 in converters){
5780tmp=conv2.split(" ");
5781if(tmp[1]===current){
5782conv=converters[prev+" "+tmp[0]]||
5783converters["* "+tmp[0]];
5784if(conv){
5785if(conv===true){
5786conv=converters[conv2];
5787}else if(converters[conv2]!==true){
5788current=tmp[0];
5789dataTypes.unshift(tmp[1]);
5790}
5791break;
5792}
5793}
5794}
5795}
5796if(conv!==true){
5797if(conv&&s.throws){
5798response=conv(response);
5799}else{
5800try{
5801response=conv(response);
5802}catch(e){
5803return{
5804state:"parsererror",
5805error:conv?e:"No conversion from "+prev+" to "+current
5806};
5807}
5808}
5809}
5810}
5811}
5812}
5813return{state:"success",data:response};
5814}
5815jQuery.extend({
5816active:0,
5817lastModified:{},
5818etag:{},
5819ajaxSettings:{
5820url:location.href,
5821type:"GET",
5822isLocal:rlocalProtocol.test(location.protocol),
5823global:true,
5824processData:true,
5825async:true,
5826contentType:"application/x-www-form-urlencoded; charset=UTF-8",
5827accepts:{
5828"*":allTypes,
5829text:"text/plain",
5830html:"text/html",
5831xml:"application/xml, text/xml",
5832json:"application/json, text/javascript"
5833},
5834contents:{
5835xml:/\bxml\b/,
5836html:/\bhtml/,
5837json:/\bjson\b/
5838},
5839responseFields:{
5840xml:"responseXML",
5841text:"responseText",
5842json:"responseJSON"
5843},
5844converters:{
5845"* text":String,
5846"text html":true,
5847"text json":JSON.parse,
5848"text xml":jQuery.parseXML
5849},
5850flatOptions:{
5851url:true,
5852context:true
5853}
5854},
5855ajaxSetup:function(target,settings){
5856return settings?
5857ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):
5858ajaxExtend(jQuery.ajaxSettings,target);
5859},
5860ajaxPrefilter:addToPrefiltersOrTransports(prefilters),
5861ajaxTransport:addToPrefiltersOrTransports(transports),
5862ajax:function(url,options){
5863if(typeof url==="object"){
5864options=url;
5865url=undefined;
5866}
5867options=options||{};
5868var transport,
5869cacheURL,
5870responseHeadersString,
5871responseHeaders,
5872timeoutTimer,
5873urlAnchor,
5874completed,
5875fireGlobals,
5876i,
5877uncached,
5878s=jQuery.ajaxSetup({},options),
5879callbackContext=s.context||s,
5880globalEventContext=s.context&&
5881(callbackContext.nodeType||callbackContext.jquery)?
5882jQuery(callbackContext):
5883jQuery.event,
5884deferred=jQuery.Deferred(),
5885completeDeferred=jQuery.Callbacks("once memory"),
5886statusCode=s.statusCode||{},
5887requestHeaders={},
5888requestHeadersNames={},
5889strAbort="canceled",
5890jqXHR={
5891readyState:0,
5892getResponseHeader:function(key){
5893var match;
5894if(completed){
5895if(!responseHeaders){
5896responseHeaders={};
5897while((match=rheaders.exec(responseHeadersString))){
5898responseHeaders[match[1].toLowerCase()+" "]=
5899(responseHeaders[match[1].toLowerCase()+" "]||[])
5900.concat(match[2]);
5901}
5902}
5903match=responseHeaders[key.toLowerCase()+" "];
5904}
5905return match==null?null:match.join(", ");
5906},
5907getAllResponseHeaders:function(){
5908return completed?responseHeadersString:null;
5909},
5910setRequestHeader:function(name,value){
5911if(completed==null){
5912name=requestHeadersNames[name.toLowerCase()]=
5913requestHeadersNames[name.toLowerCase()]||name;
5914requestHeaders[name]=value;
5915}
5916return this;
5917},
5918overrideMimeType:function(type){
5919if(completed==null){
5920s.mimeType=type;
5921}
5922return this;
5923},
5924statusCode:function(map){
5925var code;
5926if(map){
5927if(completed){
5928jqXHR.always(map[jqXHR.status]);
5929}else{
5930for(code in map){
5931statusCode[code]=[statusCode[code],map[code]];
5932}
5933}
5934}
5935return this;
5936},
5937abort:function(statusText){
5938var finalText=statusText||strAbort;
5939if(transport){
5940transport.abort(finalText);
5941}
5942done(0,finalText);
5943return this;
5944}
5945};
5946deferred.promise(jqXHR);
5947s.url=((url||s.url||location.href)+"")
5948.replace(rprotocol,location.protocol+"//");
5949s.type=options.method||options.type||s.method||s.type;
5950s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""];
5951if(s.crossDomain==null){
5952urlAnchor=document.createElement("a");
5953try{
5954urlAnchor.href=s.url;
5955urlAnchor.href=urlAnchor.href;
5956s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==
5957urlAnchor.protocol+"//"+urlAnchor.host;
5958}catch(e){
5959s.crossDomain=true;
5960}
5961}
5962if(s.data&&s.processData&&typeof s.data!=="string"){
5963s.data=jQuery.param(s.data,s.traditional);
5964}
5965inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);
5966if(completed){
5967return jqXHR;
5968}
5969fireGlobals=jQuery.event&&s.global;
5970if(fireGlobals&&jQuery.active++===0){
5971jQuery.event.trigger("ajaxStart");
5972}
5973s.type=s.type.toUpperCase();
5974s.hasContent=!rnoContent.test(s.type);
5975cacheURL=s.url.replace(rhash,"");
5976if(!s.hasContent){
5977uncached=s.url.slice(cacheURL.length);
5978if(s.data&&(s.processData||typeof s.data==="string")){
5979cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data;
5980delete s.data;
5981}
5982if(s.cache===false){
5983cacheURL=cacheURL.replace(rantiCache,"$1");
5984uncached=(rquery.test(cacheURL)?"&":"?")+"_="+(nonce.guid++)+
5985uncached;
5986}
5987s.url=cacheURL+uncached;
5988}else if(s.data&&s.processData&&
5989(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){
5990s.data=s.data.replace(r20,"+");
5991}
5992if(s.ifModified){
5993if(jQuery.lastModified[cacheURL]){
5994jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);
5995}
5996if(jQuery.etag[cacheURL]){
5997jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);
5998}
5999}
6000if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){
6001jqXHR.setRequestHeader("Content-Type",s.contentType);
6002}
6003jqXHR.setRequestHeader(
6004"Accept",
6005s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?
6006s.accepts[s.dataTypes[0]]+
6007(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):
6008s.accepts["*"]
6009);
6010for(i in s.headers){
6011jqXHR.setRequestHeader(i,s.headers[i]);
6012}
6013if(s.beforeSend&&
6014(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){
6015return jqXHR.abort();
6016}
6017strAbort="abort";
6018completeDeferred.add(s.complete);
6019jqXHR.done(s.success);
6020jqXHR.fail(s.error);
6021transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);
6022if(!transport){
6023done(-1,"No Transport");
6024}else{
6025jqXHR.readyState=1;
6026if(fireGlobals){
6027globalEventContext.trigger("ajaxSend",[jqXHR,s]);
6028}
6029if(completed){
6030return jqXHR;
6031}
6032if(s.async&&s.timeout>0){
6033timeoutTimer=window.setTimeout(function(){
6034jqXHR.abort("timeout");
6035},s.timeout);
6036}
6037try{
6038completed=false;
6039transport.send(requestHeaders,done);
6040}catch(e){
6041if(completed){
6042throw e;
6043}
6044done(-1,e);
6045}
6046}
6047function done(status,nativeStatusText,responses,headers){
6048var isSuccess,success,error,response,modified,
6049statusText=nativeStatusText;
6050if(completed){
6051return;
6052}
6053completed=true;
6054if(timeoutTimer){
6055window.clearTimeout(timeoutTimer);
6056}
6057transport=undefined;
6058responseHeadersString=headers||"";
6059jqXHR.readyState=status>0?4:0;
6060isSuccess=status>=200&&status<300||status===304;
6061if(responses){
6062response=ajaxHandleResponses(s,jqXHR,responses);
6063}
6064if(!isSuccess&&
6065jQuery.inArray("script",s.dataTypes)>-1&&
6066jQuery.inArray("json",s.dataTypes)<0){
6067s.converters["text script"]=function(){};
6068}
6069response=ajaxConvert(s,response,jqXHR,isSuccess);
6070if(isSuccess){
6071if(s.ifModified){
6072modified=jqXHR.getResponseHeader("Last-Modified");
6073if(modified){
6074jQuery.lastModified[cacheURL]=modified;
6075}
6076modified=jqXHR.getResponseHeader("etag");
6077if(modified){
6078jQuery.etag[cacheURL]=modified;
6079}
6080}
6081if(status===204||s.type==="HEAD"){
6082statusText="nocontent";
6083}else if(status===304){
6084statusText="notmodified";
6085}else{
6086statusText=response.state;
6087success=response.data;
6088error=response.error;
6089isSuccess=!error;
6090}
6091}else{
6092error=statusText;
6093if(status||!statusText){
6094statusText="error";
6095if(status<0){
6096status=0;
6097}
6098}
6099}
6100jqXHR.status=status;
6101jqXHR.statusText=(nativeStatusText||statusText)+"";
6102if(isSuccess){
6103deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);
6104}else{
6105deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);
6106}
6107jqXHR.statusCode(statusCode);
6108statusCode=undefined;
6109if(fireGlobals){
6110globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",
6111[jqXHR,s,isSuccess?success:error]);
6112}
6113completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);
6114if(fireGlobals){
6115globalEventContext.trigger("ajaxComplete",[jqXHR,s]);
6116if(!(--jQuery.active)){
6117jQuery.event.trigger("ajaxStop");
6118}
6119}
6120}
6121return jqXHR;
6122},
6123getJSON:function(url,data,callback){
6124return jQuery.get(url,data,callback,"json");
6125},
6126getScript:function(url,callback){
6127return jQuery.get(url,undefined,callback,"script");
6128}
6129});
6130jQuery.each(["get","post"],function(_i,method){
6131jQuery[method]=function(url,data,callback,type){
6132if(isFunction(data)){
6133type=type||callback;
6134callback=data;
6135data=undefined;
6136}
6137return jQuery.ajax(jQuery.extend({
6138url:url,
6139type:method,
6140dataType:type,
6141data:data,
6142success:callback
6143},jQuery.isPlainObject(url)&&url));
6144};
6145});
6146jQuery.ajaxPrefilter(function(s){
6147var i;
6148for(i in s.headers){
6149if(i.toLowerCase()==="content-type"){
6150s.contentType=s.headers[i]||"";
6151}
6152}
6153});
6154jQuery._evalUrl=function(url,options,doc){
6155return jQuery.ajax({
6156url:url,
6157type:"GET",
6158dataType:"script",
6159cache:true,
6160async:false,
6161global:false,
6162converters:{
6163"text script":function(){}
6164},
6165dataFilter:function(response){
6166jQuery.globalEval(response,options,doc);
6167}
6168});
6169};
6170jQuery.fn.extend({
6171wrapAll:function(html){
6172var wrap;
6173if(this[0]){
6174if(isFunction(html)){
6175html=html.call(this[0]);
6176}
6177wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);
6178if(this[0].parentNode){
6179wrap.insertBefore(this[0]);
6180}
6181wrap.map(function(){
6182var elem=this;
6183while(elem.firstElementChild){
6184elem=elem.firstElementChild;
6185}
6186return elem;
6187}).append(this);
6188}
6189return this;
6190},
6191wrapInner:function(html){
6192if(isFunction(html)){
6193return this.each(function(i){
6194jQuery(this).wrapInner(html.call(this,i));
6195});
6196}
6197return this.each(function(){
6198var self=jQuery(this),
6199contents=self.contents();
6200if(contents.length){
6201contents.wrapAll(html);
6202}else{
6203self.append(html);
6204}
6205});
6206},
6207wrap:function(html){
6208var htmlIsFunction=isFunction(html);
6209return this.each(function(i){
6210jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html);
6211});
6212},
6213unwrap:function(selector){
6214this.parent(selector).not("body").each(function(){
6215jQuery(this).replaceWith(this.childNodes);
6216});
6217return this;
6218}
6219});
6220jQuery.expr.pseudos.hidden=function(elem){
6221return!jQuery.expr.pseudos.visible(elem);
6222};
6223jQuery.expr.pseudos.visible=function(elem){
6224return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);
6225};
6226jQuery.ajaxSettings.xhr=function(){
6227try{
6228return new window.XMLHttpRequest();
6229}catch(e){}
6230};
6231var xhrSuccessStatus={
62320:200,
62331223:204
6234},
6235xhrSupported=jQuery.ajaxSettings.xhr();
6236support.cors=!!xhrSupported&&("withCredentials"in xhrSupported);
6237support.ajax=xhrSupported=!!xhrSupported;
6238jQuery.ajaxTransport(function(options){
6239var callback,errorCallback;
6240if(support.cors||xhrSupported&&!options.crossDomain){
6241return{
6242send:function(headers,complete){
6243var i,
6244xhr=options.xhr();
6245xhr.open(
6246options.type,
6247options.url,
6248options.async,
6249options.username,
6250options.password
6251);
6252if(options.xhrFields){
6253for(i in options.xhrFields){
6254xhr[i]=options.xhrFields[i];
6255}
6256}
6257if(options.mimeType&&xhr.overrideMimeType){
6258xhr.overrideMimeType(options.mimeType);
6259}
6260if(!options.crossDomain&&!headers["X-Requested-With"]){
6261headers["X-Requested-With"]="XMLHttpRequest";
6262}
6263for(i in headers){
6264xhr.setRequestHeader(i,headers[i]);
6265}
6266callback=function(type){
6267return function(){
6268if(callback){
6269callback=errorCallback=xhr.onload=
6270xhr.onerror=xhr.onabort=xhr.ontimeout=
6271xhr.onreadystatechange=null;
6272if(type==="abort"){
6273xhr.abort();
6274}else if(type==="error"){
6275if(typeof xhr.status!=="number"){
6276complete(0,"error");
6277}else{
6278complete(
6279xhr.status,
6280xhr.statusText
6281);
6282}
6283}else{
6284complete(
6285xhrSuccessStatus[xhr.status]||xhr.status,
6286xhr.statusText,
6287(xhr.responseType||"text")!=="text"||
6288typeof xhr.responseText!=="string"?
6289{binary:xhr.response}:
6290{text:xhr.responseText},
6291xhr.getAllResponseHeaders()
6292);
6293}
6294}
6295};
6296};
6297xhr.onload=callback();
6298errorCallback=xhr.onerror=xhr.ontimeout=callback("error");
6299if(xhr.onabort!==undefined){
6300xhr.onabort=errorCallback;
6301}else{
6302xhr.onreadystatechange=function(){
6303if(xhr.readyState===4){
6304window.setTimeout(function(){
6305if(callback){
6306errorCallback();
6307}
6308});
6309}
6310};
6311}
6312callback=callback("abort");
6313try{
6314xhr.send(options.hasContent&&options.data||null);
6315}catch(e){
6316if(callback){
6317throw e;
6318}
6319}
6320},
6321abort:function(){
6322if(callback){
6323callback();
6324}
6325}
6326};
6327}
6328});
6329jQuery.ajaxPrefilter(function(s){
6330if(s.crossDomain){
6331s.contents.script=false;
6332}
6333});
6334jQuery.ajaxSetup({
6335accepts:{
6336script:"text/javascript, application/javascript, "+
6337"application/ecmascript, application/x-ecmascript"
6338},
6339contents:{
6340script:/\b(?:java|ecma)script\b/
6341},
6342converters:{
6343"text script":function(text){
6344jQuery.globalEval(text);
6345return text;
6346}
6347}
6348});
6349jQuery.ajaxPrefilter("script",function(s){
6350if(s.cache===undefined){
6351s.cache=false;
6352}
6353if(s.crossDomain){
6354s.type="GET";
6355}
6356});
6357jQuery.ajaxTransport("script",function(s){
6358if(s.crossDomain||s.scriptAttrs){
6359var script,callback;
6360return{
6361send:function(_,complete){
6362script=jQuery("<script>")
6363.attr(s.scriptAttrs||{})
6364.prop({charset:s.scriptCharset,src:s.url})
6365.on("load error",callback=function(evt){
6366script.remove();
6367callback=null;
6368if(evt){
6369complete(evt.type==="error"?404:200,evt.type);
6370}
6371});
6372document.head.appendChild(script[0]);
6373},
6374abort:function(){
6375if(callback){
6376callback();
6377}
6378}
6379};
6380}
6381});
6382var oldCallbacks=[],
6383rjsonp=/(=)\?(?=&|$)|\?\?/;
6384jQuery.ajaxSetup({
6385jsonp:"callback",
6386jsonpCallback:function(){
6387var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce.guid++));
6388this[callback]=true;
6389return callback;
6390}
6391});
6392jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){
6393var callbackName,overwritten,responseContainer,
6394jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?
6395"url":
6396typeof s.data==="string"&&
6397(s.contentType||"")
6398.indexOf("application/x-www-form-urlencoded")===0&&
6399rjsonp.test(s.data)&&"data"
6400);
6401if(jsonProp||s.dataTypes[0]==="jsonp"){
6402callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?
6403s.jsonpCallback():
6404s.jsonpCallback;
6405if(jsonProp){
6406s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName);
6407}else if(s.jsonp!==false){
6408s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;
6409}
6410s.converters["script json"]=function(){
6411if(!responseContainer){
6412jQuery.error(callbackName+" was not called");
6413}
6414return responseContainer[0];
6415};
6416s.dataTypes[0]="json";
6417overwritten=window[callbackName];
6418window[callbackName]=function(){
6419responseContainer=arguments;
6420};
6421jqXHR.always(function(){
6422if(overwritten===undefined){
6423jQuery(window).removeProp(callbackName);
6424}else{
6425window[callbackName]=overwritten;
6426}
6427if(s[callbackName]){
6428s.jsonpCallback=originalSettings.jsonpCallback;
6429oldCallbacks.push(callbackName);
6430}
6431if(responseContainer&&isFunction(overwritten)){
6432overwritten(responseContainer[0]);
6433}
6434responseContainer=overwritten=undefined;
6435});
6436return"script";
6437}
6438});
6439support.createHTMLDocument=(function(){
6440var body=document.implementation.createHTMLDocument("").body;
6441body.innerHTML="<form></form><form></form>";
6442return body.childNodes.length===2;
6443})();
6444jQuery.parseHTML=function(data,context,keepScripts){
6445if(typeof data!=="string"){
6446return[];
6447}
6448if(typeof context==="boolean"){
6449keepScripts=context;
6450context=false;
6451}
6452var base,parsed,scripts;
6453if(!context){
6454if(support.createHTMLDocument){
6455context=document.implementation.createHTMLDocument("");
6456base=context.createElement("base");
6457base.href=document.location.href;
6458context.head.appendChild(base);
6459}else{
6460context=document;
6461}
6462}
6463parsed=rsingleTag.exec(data);
6464scripts=!keepScripts&&[];
6465if(parsed){
6466return[context.createElement(parsed[1])];
6467}
6468parsed=buildFragment([data],context,scripts);
6469if(scripts&&scripts.length){
6470jQuery(scripts).remove();
6471}
6472return jQuery.merge([],parsed.childNodes);
6473};
6474jQuery.fn.load=function(url,params,callback){
6475var selector,type,response,
6476self=this,
6477off=url.indexOf(" ");
6478if(off>-1){
6479selector=stripAndCollapse(url.slice(off));
6480url=url.slice(0,off);
6481}
6482if(isFunction(params)){
6483callback=params;
6484params=undefined;
6485}else if(params&&typeof params==="object"){
6486type="POST";
6487}
6488if(self.length>0){
6489jQuery.ajax({
6490url:url,
6491type:type||"GET",
6492dataType:"html",
6493data:params
6494}).done(function(responseText){
6495response=arguments;
6496self.html(selector?
6497jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):
6498responseText);
6499}).always(callback&&function(jqXHR,status){
6500self.each(function(){
6501callback.apply(this,response||[jqXHR.responseText,status,jqXHR]);
6502});
6503});
6504}
6505return this;
6506};
6507jQuery.expr.pseudos.animated=function(elem){
6508return jQuery.grep(jQuery.timers,function(fn){
6509return elem===fn.elem;
6510}).length;
6511};
6512jQuery.offset={
6513setOffset:function(elem,options,i){
6514var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,
6515position=jQuery.css(elem,"position"),
6516curElem=jQuery(elem),
6517props={};
6518if(position==="static"){
6519elem.style.position="relative";
6520}
6521curOffset=curElem.offset();
6522curCSSTop=jQuery.css(elem,"top");
6523curCSSLeft=jQuery.css(elem,"left");
6524calculatePosition=(position==="absolute"||position==="fixed")&&
6525(curCSSTop+curCSSLeft).indexOf("auto")>-1;
6526if(calculatePosition){
6527curPosition=curElem.position();
6528curTop=curPosition.top;
6529curLeft=curPosition.left;
6530}else{
6531curTop=parseFloat(curCSSTop)||0;
6532curLeft=parseFloat(curCSSLeft)||0;
6533}
6534if(isFunction(options)){
6535options=options.call(elem,i,jQuery.extend({},curOffset));
6536}
6537if(options.top!=null){
6538props.top=(options.top-curOffset.top)+curTop;
6539}
6540if(options.left!=null){
6541props.left=(options.left-curOffset.left)+curLeft;
6542}
6543if("using"in options){
6544options.using.call(elem,props);
6545}else{
6546curElem.css(props);
6547}
6548}
6549};
6550jQuery.fn.extend({
6551offset:function(options){
6552if(arguments.length){
6553return options===undefined?
6554this:
6555this.each(function(i){
6556jQuery.offset.setOffset(this,options,i);
6557});
6558}
6559var rect,win,
6560elem=this[0];
6561if(!elem){
6562return;
6563}
6564if(!elem.getClientRects().length){
6565return{top:0,left:0};
6566}
6567rect=elem.getBoundingClientRect();
6568win=elem.ownerDocument.defaultView;
6569return{
6570top:rect.top+win.pageYOffset,
6571left:rect.left+win.pageXOffset
6572};
6573},
6574position:function(){
6575if(!this[0]){
6576return;
6577}
6578var offsetParent,offset,doc,
6579elem=this[0],
6580parentOffset={top:0,left:0};
6581if(jQuery.css(elem,"position")==="fixed"){
6582offset=elem.getBoundingClientRect();
6583}else{
6584offset=this.offset();
6585doc=elem.ownerDocument;
6586offsetParent=elem.offsetParent||doc.documentElement;
6587while(offsetParent&&
6588(offsetParent===doc.body||offsetParent===doc.documentElement)&&
6589jQuery.css(offsetParent,"position")==="static"){
6590offsetParent=offsetParent.parentNode;
6591}
6592if(offsetParent&&offsetParent!==elem&&offsetParent.nodeType===1){
6593parentOffset=jQuery(offsetParent).offset();
6594parentOffset.top+=jQuery.css(offsetParent,"borderTopWidth",true);
6595parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",true);
6596}
6597}
6598return{
6599top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),
6600left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)
6601};
6602},
6603offsetParent:function(){
6604return this.map(function(){
6605var offsetParent=this.offsetParent;
6606while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){
6607offsetParent=offsetParent.offsetParent;
6608}
6609return offsetParent||documentElement;
6610});
6611}
6612});
6613jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){
6614var top="pageYOffset"===prop;
6615jQuery.fn[method]=function(val){
6616return access(this,function(elem,method,val){
6617var win;
6618if(isWindow(elem)){
6619win=elem;
6620}else if(elem.nodeType===9){
6621win=elem.defaultView;
6622}
6623if(val===undefined){
6624return win?win[prop]:elem[method];
6625}
6626if(win){
6627win.scrollTo(
6628!top?val:win.pageXOffset,
6629top?val:win.pageYOffset
6630);
6631}else{
6632elem[method]=val;
6633}
6634},method,val,arguments.length);
6635};
6636});
6637jQuery.each(["top","left"],function(_i,prop){
6638jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,
6639function(elem,computed){
6640if(computed){
6641computed=curCSS(elem,prop);
6642return rnumnonpx.test(computed)?
6643jQuery(elem).position()[prop]+"px":
6644computed;
6645}
6646}
6647);
6648});
6649jQuery.each({Height:"height",Width:"width"},function(name,type){
6650jQuery.each({
6651padding:"inner"+name,
6652content:type,
6653"":"outer"+name
6654},function(defaultExtra,funcName){
6655jQuery.fn[funcName]=function(margin,value){
6656var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),
6657extra=defaultExtra||(margin===true||value===true?"margin":"border");
6658return access(this,function(elem,type,value){
6659var doc;
6660if(isWindow(elem)){
6661return funcName.indexOf("outer")===0?
6662elem["inner"+name]:
6663elem.document.documentElement["client"+name];
6664}
6665if(elem.nodeType===9){
6666doc=elem.documentElement;
6667return Math.max(
6668elem.body["scroll"+name],doc["scroll"+name],
6669elem.body["offset"+name],doc["offset"+name],
6670doc["client"+name]
6671);
6672}
6673return value===undefined?
6674jQuery.css(elem,type,extra):
6675jQuery.style(elem,type,value,extra);
6676},type,chainable?margin:undefined,chainable);
6677};
6678});
6679});
6680jQuery.each([
6681"ajaxStart",
6682"ajaxStop",
6683"ajaxComplete",
6684"ajaxError",
6685"ajaxSuccess",
6686"ajaxSend"
6687],function(_i,type){
6688jQuery.fn[type]=function(fn){
6689return this.on(type,fn);
6690};
6691});
6692jQuery.fn.extend({
6693bind:function(types,data,fn){
6694return this.on(types,null,data,fn);
6695},
6696unbind:function(types,fn){
6697return this.off(types,null,fn);
6698},
6699delegate:function(selector,types,data,fn){
6700return this.on(types,selector,data,fn);
6701},
6702undelegate:function(selector,types,fn){
6703return arguments.length===1?
6704this.off(selector,"**"):
6705this.off(types,selector||"**",fn);
6706},
6707hover:function(fnOver,fnOut){
6708return this
6709.on("mouseenter",fnOver)
6710.on("mouseleave",fnOut||fnOver);
6711}
6712});
6713jQuery.each(
6714("blur focus focusin focusout resize scroll click dblclick "+
6715"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+
6716"change select submit keydown keypress keyup contextmenu").split(" "),
6717function(_i,name){
6718jQuery.fn[name]=function(data,fn){
6719return arguments.length>0?
6720this.on(name,null,data,fn):
6721this.trigger(name);
6722};
6723}
6724);
6725var rtrim=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
6726jQuery.proxy=function(fn,context){
6727var tmp,args,proxy;
6728if(typeof context==="string"){
6729tmp=fn[context];
6730context=fn;
6731fn=tmp;
6732}
6733if(!isFunction(fn)){
6734return undefined;
6735}
6736args=slice.call(arguments,2);
6737proxy=function(){
6738return fn.apply(context||this,args.concat(slice.call(arguments)));
6739};
6740proxy.guid=fn.guid=fn.guid||jQuery.guid++;
6741return proxy;
6742};
6743jQuery.holdReady=function(hold){
6744if(hold){
6745jQuery.readyWait++;
6746}else{
6747jQuery.ready(true);
6748}
6749};
6750jQuery.isArray=Array.isArray;
6751jQuery.parseJSON=JSON.parse;
6752jQuery.nodeName=nodeName;
6753jQuery.isFunction=isFunction;
6754jQuery.isWindow=isWindow;
6755jQuery.camelCase=camelCase;
6756jQuery.type=toType;
6757jQuery.now=Date.now;
6758jQuery.isNumeric=function(obj){
6759var type=jQuery.type(obj);
6760return(type==="number"||type==="string")&&
6761!isNaN(obj-parseFloat(obj));
6762};
6763jQuery.trim=function(text){
6764return text==null?
6765"":
6766(text+"").replace(rtrim,"$1");
6767};
6768if(typeof define==="function"&&define.amd){
6769define("jquery",[],function(){
6770return jQuery;
6771});
6772}
6773var
6774_jQuery=window.jQuery,
6775_$=window.$;
6776jQuery.noConflict=function(deep){
6777if(window.$===jQuery){
6778window.$=_$;
6779}
6780if(deep&&window.jQuery===jQuery){
6781window.jQuery=_jQuery;
6782}
6783return jQuery;
6784};
6785if(typeof noGlobal==="undefined"){
6786window.jQuery=window.$=jQuery;
6787}
6788return jQuery;
6789});
6790
6791
6792/* prive/javascript/jquery.form.js?1790091430 */
6793
6794(function(factory){
6795if(typeof define==='function'&&define.amd){
6796define(['jquery'],factory);
6797}else if(typeof module==='object'&&module.exports){
6798module.exports=function(root,jQuery){
6799if(typeof jQuery==='undefined'){
6800if(typeof window!=='undefined'){
6801jQuery=require('jquery');
6802}
6803else{
6804jQuery=require('jquery')(root);
6805}
6806}
6807factory(jQuery);
6808return jQuery;
6809};
6810}else{
6811factory(jQuery);
6812}
6813}(function($){
6814'use strict';
6815var rCRLF=/\r?\n/g;
6816var feature={};
6817feature.fileapi=$('<input type="file">').get(0).files!==undefined;
6818feature.formdata=(typeof window.FormData!=='undefined');
6819var hasProp=!!$.fn.prop;
6820$.fn.attr2=function(){
6821if(!hasProp){
6822return this.attr.apply(this,arguments);
6823}
6824var val=this.prop.apply(this,arguments);
6825if((val&&val.jquery)||typeof val==='string'){
6826return val;
6827}
6828return this.attr.apply(this,arguments);
6829};
6830$.fn.ajaxSubmit=function(options,data,dataType,onSuccess){
6831if(!this.length){
6832log('ajaxSubmit: skipping submit process - no element selected');
6833return this;
6834}
6835var method,action,url,isMsie,iframeSrc,$form=this;
6836if(typeof options==='function'){
6837options={success:options};
6838}else if(typeof options==='string'||(options===false&&arguments.length>0)){
6839options={
6840'url':options,
6841'data':data,
6842'dataType':dataType
6843};
6844if(typeof onSuccess==='function'){
6845options.success=onSuccess;
6846}
6847}else if(typeof options==='undefined'){
6848options={};
6849}
6850method=options.method||options.type||this.attr2('method');
6851action=options.url||this.attr2('action');
6852url=(typeof action==='string')?$.trim(action):'';
6853url=url||window.location.href||'';
6854if(url){
6855url=(url.match(/^([^#]+)/)||[])[1];
6856}
6857isMsie=/(MSIE|Trident)/.test(navigator.userAgent||'');
6858iframeSrc=(isMsie&&/^https/i.test(window.location.href||''))?'javascript:false':'about:blank';
6859options=$.extend(true,{
6860url:url,
6861success:$.ajaxSettings.success,
6862type:method||$.ajaxSettings.type,
6863iframeSrc:iframeSrc
6864},options);
6865var veto={};
6866this.trigger('form-pre-serialize',[this,options,veto]);
6867if(veto.veto){
6868log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
6869return this;
6870}
6871if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){
6872log('ajaxSubmit: submit aborted via beforeSerialize callback');
6873return this;
6874}
6875var traditional=options.traditional;
6876if(typeof traditional==='undefined'){
6877traditional=$.ajaxSettings.traditional;
6878}
6879var elements=[];
6880var qx,a=this.formToArray(options.semantic,elements,options.filtering);
6881if(options.data){
6882var optionsData=$.isFunction(options.data)?options.data(a):options.data;
6883options.extraData=optionsData;
6884qx=$.param(optionsData,traditional);
6885}
6886if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){
6887log('ajaxSubmit: submit aborted via beforeSubmit callback');
6888return this;
6889}
6890this.trigger('form-submit-validate',[a,this,options,veto]);
6891if(veto.veto){
6892log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
6893return this;
6894}
6895var q=$.param(a,traditional);
6896if(qx){
6897q=(q?(q+'&'+qx):qx);
6898}
6899if(options.type.toUpperCase()==='GET'){
6900options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;
6901options.data=null;
6902}else{
6903options.data=q;
6904}
6905var callbacks=[];
6906if(options.resetForm){
6907callbacks.push(function(){
6908$form.resetForm();
6909});
6910}
6911if(options.clearForm){
6912callbacks.push(function(){
6913$form.clearForm(options.includeHidden);
6914});
6915}
6916if(!options.dataType&&options.target){
6917var oldSuccess=options.success||function(){};
6918callbacks.push(function(data,textStatus,jqXHR){
6919var successArguments=arguments,
6920fn=options.replaceTarget?'replaceWith':'html';
6921if(fn=='html'){
6922data=$.parseHTML($("<div>").text(data).html())
6923};
6924$(options.target)[fn](data).each(function(){
6925oldSuccess.apply(this,successArguments);
6926});
6927});
6928}else if(options.success){
6929if($.isArray(options.success)){
6930$.merge(callbacks,options.success);
6931}else{
6932callbacks.push(options.success);
6933}
6934}
6935options.success=function(data,status,xhr){
6936var context=options.context||this;
6937for(var i=0,max=callbacks.length;i<max;i++){
6938callbacks[i].apply(context,[data,status,xhr||$form,$form]);
6939}
6940};
6941if(options.error){
6942var oldError=options.error;
6943options.error=function(xhr,status,error){
6944var context=options.context||this;
6945oldError.apply(context,[xhr,status,error,$form]);
6946};
6947}
6948if(options.complete){
6949var oldComplete=options.complete;
6950options.complete=function(xhr,status){
6951var context=options.context||this;
6952oldComplete.apply(context,[xhr,status,$form]);
6953};
6954}
6955var fileInputs=$('input[type=file]:enabled',this).filter(function(){
6956return $(this).val()!=='';
6957});
6958var hasFileInputs=fileInputs.length>0;
6959var mp='multipart/form-data';
6960var multipart=($form.attr('enctype')===mp||$form.attr('encoding')===mp);
6961var fileAPI=feature.fileapi&&feature.formdata;
6962log('fileAPI :'+fileAPI);
6963var shouldUseFrame=(hasFileInputs||multipart)&&!fileAPI;
6964var jqxhr;
6965if(options.iframe!==false&&(options.iframe||shouldUseFrame)){
6966if(options.closeKeepAlive){
6967$.get(options.closeKeepAlive,function(){
6968jqxhr=fileUploadIframe(a);
6969});
6970}else{
6971jqxhr=fileUploadIframe(a);
6972}
6973}else if((hasFileInputs||multipart)&&fileAPI){
6974jqxhr=fileUploadXhr(a);
6975}else{
6976jqxhr=$.ajax(options);
6977}
6978$form.removeData('jqxhr').data('jqxhr',jqxhr);
6979for(var k=0;k<elements.length;k++){
6980elements[k]=null;
6981}
6982this.trigger('form-submit-notify',[this,options]);
6983return this;
6984function deepSerialize(extraData){
6985var serialized=$.param(extraData,options.traditional).split('&');
6986var len=serialized.length;
6987var result=[];
6988var i,part;
6989for(i=0;i<len;i++){
6990serialized[i]=serialized[i].replace(/\+/g,' ');
6991part=serialized[i].split('=');
6992result.push([decodeURIComponent(part[0]),decodeURIComponent(part[1])]);
6993}
6994return result;
6995}
6996function fileUploadXhr(a){
6997var formdata=new FormData();
6998for(var i=0;i<a.length;i++){
6999formdata.append(a[i].name,a[i].value);
7000}
7001if(options.extraData){
7002var serializedData=deepSerialize(options.extraData);
7003for(i=0;i<serializedData.length;i++){
7004if(serializedData[i]){
7005formdata.append(serializedData[i][0],serializedData[i][1]);
7006}
7007}
7008}
7009options.data=null;
7010var s=$.extend(true,{},$.ajaxSettings,options,{
7011contentType:false,
7012processData:false,
7013cache:false,
7014type:method||'POST'
7015});
7016if(options.uploadProgress){
7017s.xhr=function(){
7018var xhr=$.ajaxSettings.xhr();
7019if(xhr.upload){
7020xhr.upload.addEventListener('progress',function(event){
7021var percent=0;
7022var position=event.loaded||event.position;
7023var total=event.total;
7024if(event.lengthComputable){
7025percent=Math.ceil(position/total*100);
7026}
7027options.uploadProgress(event,position,total,percent);
7028},false);
7029}
7030return xhr;
7031};
7032}
7033s.data=null;
7034var beforeSend=s.beforeSend;
7035s.beforeSend=function(xhr,o){
7036if(options.formData){
7037o.data=options.formData;
7038}else{
7039o.data=formdata;
7040}
7041if(beforeSend){
7042beforeSend.call(this,xhr,o);
7043}
7044};
7045return $.ajax(s);
7046}
7047function fileUploadIframe(a){
7048var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;
7049var deferred=$.Deferred();
7050deferred.abort=function(status){
7051xhr.abort(status);
7052};
7053if(a){
7054for(i=0;i<elements.length;i++){
7055el=$(elements[i]);
7056if(hasProp){
7057el.prop('disabled',false);
7058}else{
7059el.removeAttr('disabled');
7060}
7061}
7062}
7063s=$.extend(true,{},$.ajaxSettings,options);
7064s.context=s.context||s;
7065id='jqFormIO'+new Date().getTime();
7066var ownerDocument=form.ownerDocument;
7067var $body=$form.closest('body');
7068if(s.iframeTarget){
7069$io=$(s.iframeTarget,ownerDocument);
7070n=$io.attr2('name');
7071if(!n){
7072$io.attr2('name',id);
7073}else{
7074id=n;
7075}
7076}else{
7077$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'">',ownerDocument);
7078$io.css({position:'absolute',top:'-1000px',left:'-1000px'});
7079}
7080io=$io[0];
7081xhr={
7082aborted:0,
7083responseText:null,
7084responseXML:null,
7085status:0,
7086statusText:'n/a',
7087getAllResponseHeaders:function(){},
7088getResponseHeader:function(){},
7089setRequestHeader:function(){},
7090abort:function(status){
7091var e=(status==='timeout'?'timeout':'aborted');
7092log('aborting upload... '+e);
7093this.aborted=1;
7094try{
7095if(io.contentWindow.document.execCommand){
7096io.contentWindow.document.execCommand('Stop');
7097}
7098}catch(ignore){}
7099$io.attr('src',s.iframeSrc);
7100xhr.error=e;
7101if(s.error){
7102s.error.call(s.context,xhr,e,status);
7103}
7104if(g){
7105$.event.trigger('ajaxError',[xhr,s,e]);
7106}
7107if(s.complete){
7108s.complete.call(s.context,xhr,e);
7109}
7110}
7111};
7112g=s.global;
7113if(g&&$.active++===0){
7114$.event.trigger('ajaxStart');
7115}
7116if(g){
7117$.event.trigger('ajaxSend',[xhr,s]);
7118}
7119if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){
7120if(s.global){
7121$.active--;
7122}
7123deferred.reject();
7124return deferred;
7125}
7126if(xhr.aborted){
7127deferred.reject();
7128return deferred;
7129}
7130sub=form.clk;
7131if(sub){
7132n=sub.name;
7133if(n&&!sub.disabled){
7134s.extraData=s.extraData||{};
7135s.extraData[n]=sub.value;
7136if(sub.type==='image'){
7137s.extraData[n+'.x']=form.clk_x;
7138s.extraData[n+'.y']=form.clk_y;
7139}
7140}
7141}
7142var CLIENT_TIMEOUT_ABORT=1;
7143var SERVER_ABORT=2;
7144function getDoc(frame){
7145var doc=null;
7146try{
7147if(frame.contentWindow){
7148doc=frame.contentWindow.document;
7149}
7150}catch(err){
7151log('cannot get iframe.contentWindow document: '+err);
7152}
7153if(doc){
7154return doc;
7155}
7156try{
7157doc=frame.contentDocument?frame.contentDocument:frame.document;
7158}catch(err){
7159log('cannot get iframe.contentDocument: '+err);
7160doc=frame.document;
7161}
7162return doc;
7163}
7164var csrf_token=$('meta[name=csrf-token]').attr('content');
7165var csrf_param=$('meta[name=csrf-param]').attr('content');
7166if(csrf_param&&csrf_token){
7167s.extraData=s.extraData||{};
7168s.extraData[csrf_param]=csrf_token;
7169}
7170function doSubmit(){
7171var t=$form.attr2('target'),
7172a=$form.attr2('action'),
7173mp='multipart/form-data',
7174et=$form.attr('enctype')||$form.attr('encoding')||mp;
7175form.setAttribute('target',id);
7176if(!method||/post/i.test(method)){
7177form.setAttribute('method','POST');
7178}
7179if(a!==s.url){
7180form.setAttribute('action',s.url);
7181}
7182if(!s.skipEncodingOverride&&(!method||/post/i.test(method))){
7183$form.attr({
7184encoding:'multipart/form-data',
7185enctype:'multipart/form-data'
7186});
7187}
7188if(s.timeout){
7189timeoutHandle=setTimeout(function(){
7190timedOut=true;cb(CLIENT_TIMEOUT_ABORT);
7191},s.timeout);
7192}
7193function checkState(){
7194try{
7195var state=getDoc(io).readyState;
7196log('state = '+state);
7197if(state&&state.toLowerCase()==='uninitialized'){
7198setTimeout(checkState,50);
7199}
7200}catch(e){
7201log('Server abort: ',e,' (',e.name,')');
7202cb(SERVER_ABORT);
7203if(timeoutHandle){
7204clearTimeout(timeoutHandle);
7205}
7206timeoutHandle=undefined;
7207}
7208}
7209var extraInputs=[];
7210try{
7211if(s.extraData){
7212for(var n in s.extraData){
7213if(s.extraData.hasOwnProperty(n)){
7214if($.isPlainObject(s.extraData[n])&&s.extraData[n].hasOwnProperty('name')&&s.extraData[n].hasOwnProperty('value')){
7215extraInputs.push(
7216$('<input type="hidden" name="'+s.extraData[n].name+'">',ownerDocument).val(s.extraData[n].value)
7217.appendTo(form)[0]);
7218}else{
7219extraInputs.push(
7220$('<input type="hidden" name="'+n+'">',ownerDocument).val(s.extraData[n])
7221.appendTo(form)[0]);
7222}
7223}
7224}
7225}
7226if(!s.iframeTarget){
7227$io.appendTo($body);
7228}
7229if(io.attachEvent){
7230io.attachEvent('onload',cb);
7231}else{
7232io.addEventListener('load',cb,false);
7233}
7234setTimeout(checkState,15);
7235try{
7236form.submit();
7237}catch(err){
7238var submitFn=document.createElement('form').submit;
7239submitFn.apply(form);
7240}
7241}finally{
7242form.setAttribute('action',a);
7243form.setAttribute('enctype',et);
7244if(t){
7245form.setAttribute('target',t);
7246}else{
7247$form.removeAttr('target');
7248}
7249$(extraInputs).remove();
7250}
7251}
7252if(s.forceSync){
7253doSubmit();
7254}else{
7255setTimeout(doSubmit,10);
7256}
7257var data,doc,domCheckCount=50,callbackProcessed;
7258function cb(e){
7259if(xhr.aborted||callbackProcessed){
7260return;
7261}
7262doc=getDoc(io);
7263if(!doc){
7264log('cannot access response document');
7265e=SERVER_ABORT;
7266}
7267if(e===CLIENT_TIMEOUT_ABORT&&xhr){
7268xhr.abort('timeout');
7269deferred.reject(xhr,'timeout');
7270return;
7271}
7272if(e===SERVER_ABORT&&xhr){
7273xhr.abort('server abort');
7274deferred.reject(xhr,'error','server abort');
7275return;
7276}
7277if(!doc||doc.location.href===s.iframeSrc){
7278if(!timedOut){
7279return;
7280}
7281}
7282if(io.detachEvent){
7283io.detachEvent('onload',cb);
7284}else{
7285io.removeEventListener('load',cb,false);
7286}
7287var status='success',errMsg;
7288try{
7289if(timedOut){
7290throw'timeout';
7291}
7292var isXml=s.dataType==='xml'||doc.XMLDocument||$.isXMLDoc(doc);
7293log('isXml='+isXml);
7294if(!isXml&&window.opera&&(doc.body===null||!doc.body.innerHTML)){
7295if(--domCheckCount){
7296log('requeing onLoad callback, DOM not available');
7297setTimeout(cb,250);
7298return;
7299}
7300}
7301var docRoot=doc.body?doc.body:doc.documentElement;
7302xhr.responseText=docRoot?docRoot.innerHTML:null;
7303xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;
7304if(isXml){
7305s.dataType='xml';
7306}
7307xhr.getResponseHeader=function(header){
7308var headers={'content-type':s.dataType};
7309return headers[header.toLowerCase()];
7310};
7311if(docRoot){
7312xhr.status=Number(docRoot.getAttribute('status'))||xhr.status;
7313xhr.statusText=docRoot.getAttribute('statusText')||xhr.statusText;
7314}
7315var dt=(s.dataType||'').toLowerCase();
7316var scr=/(json|script|text)/.test(dt);
7317if(scr||s.textarea){
7318var ta=doc.getElementsByTagName('textarea')[0];
7319if(ta){
7320xhr.responseText=ta.value;
7321xhr.status=Number(ta.getAttribute('status'))||xhr.status;
7322xhr.statusText=ta.getAttribute('statusText')||xhr.statusText;
7323}else if(scr){
7324var pre=doc.getElementsByTagName('pre')[0];
7325var b=doc.getElementsByTagName('body')[0];
7326if(pre){
7327xhr.responseText=pre.textContent?pre.textContent:pre.innerText;
7328}else if(b){
7329xhr.responseText=b.textContent?b.textContent:b.innerText;
7330}
7331}
7332}else if(dt==='xml'&&!xhr.responseXML&&xhr.responseText){
7333xhr.responseXML=toXml(xhr.responseText);
7334}
7335try{
7336data=httpData(xhr,dt,s);
7337}catch(err){
7338status='parsererror';
7339xhr.error=errMsg=(err||status);
7340}
7341}catch(err){
7342log('error caught: ',err);
7343status='error';
7344xhr.error=errMsg=(err||status);
7345}
7346if(xhr.aborted){
7347log('upload aborted');
7348status=null;
7349}
7350if(xhr.status){
7351status=((xhr.status>=200&&xhr.status<300)||xhr.status===304)?'success':'error';
7352}
7353if(status==='success'){
7354if(s.success){
7355s.success.call(s.context,data,'success',xhr);
7356}
7357deferred.resolve(xhr.responseText,'success',xhr);
7358if(g){
7359$.event.trigger('ajaxSuccess',[xhr,s]);
7360}
7361}else if(status){
7362if(typeof errMsg==='undefined'){
7363errMsg=xhr.statusText;
7364}
7365if(s.error){
7366s.error.call(s.context,xhr,status,errMsg);
7367}
7368deferred.reject(xhr,'error',errMsg);
7369if(g){
7370$.event.trigger('ajaxError',[xhr,s,errMsg]);
7371}
7372}
7373if(g){
7374$.event.trigger('ajaxComplete',[xhr,s]);
7375}
7376if(g&&!--$.active){
7377$.event.trigger('ajaxStop');
7378}
7379if(s.complete){
7380s.complete.call(s.context,xhr,status);
7381}
7382callbackProcessed=true;
7383if(s.timeout){
7384clearTimeout(timeoutHandle);
7385}
7386setTimeout(function(){
7387if(!s.iframeTarget){
7388$io.remove();
7389}else{
7390$io.attr('src',s.iframeSrc);
7391}
7392xhr.responseXML=null;
7393},100);
7394}
7395var toXml=$.parseXML||function(s,doc){
7396if(window.ActiveXObject){
7397doc=new ActiveXObject('Microsoft.XMLDOM');
7398doc.async='false';
7399doc.loadXML(s);
7400}else{
7401doc=(new DOMParser()).parseFromString(s,'text/xml');
7402}
7403return(doc&&doc.documentElement&&doc.documentElement.nodeName!=='parsererror')?doc:null;
7404};
7405var parseJSON=$.parseJSON||function(s){
7406window.console.error('jquery.parseJSON is undefined');
7407return null;
7408};
7409var httpData=function(xhr,type,s){
7410var ct=xhr.getResponseHeader('content-type')||'',
7411xml=((type==='xml'||!type)&&ct.indexOf('xml')>=0),
7412data=xml?xhr.responseXML:xhr.responseText;
7413if(xml&&data.documentElement.nodeName==='parsererror'){
7414if($.error){
7415$.error('parsererror');
7416}
7417}
7418if(s&&s.dataFilter){
7419data=s.dataFilter(data,type);
7420}
7421if(typeof data==='string'){
7422if((type==='json'||!type)&&ct.indexOf('json')>=0){
7423data=parseJSON(data);
7424}else if((type==='script'||!type)&&ct.indexOf('javascript')>=0){
7425$.globalEval(data);
7426}
7427}
7428return data;
7429};
7430return deferred;
7431}
7432};
7433$.fn.ajaxForm=function(options,data,dataType,onSuccess){
7434if(typeof options==='string'||(options===false&&arguments.length>0)){
7435options={
7436'url':options,
7437'data':data,
7438'dataType':dataType
7439};
7440if(typeof onSuccess==='function'){
7441options.success=onSuccess;
7442}
7443}
7444options=options||{};
7445options.delegation=options.delegation&&$.isFunction($.fn.on);
7446if(!options.delegation&&this.length===0){
7447var o={s:this.selector,c:this.context};
7448if(!$.isReady&&o.s){
7449log('DOM not ready, queuing ajaxForm');
7450$(function(){
7451$(o.s,o.c).ajaxForm(options);
7452});
7453return this;
7454}
7455log('terminating; zero elements found by selector'+($.isReady?'':' (DOM not ready)'));
7456return this;
7457}
7458if(options.delegation){
7459$(document)
7460.off('submit.form-plugin',this.selector,doAjaxSubmit)
7461.off('click.form-plugin',this.selector,captureSubmittingElement)
7462.on('submit.form-plugin',this.selector,options,doAjaxSubmit)
7463.on('click.form-plugin',this.selector,options,captureSubmittingElement);
7464return this;
7465}
7466if(options.beforeFormUnbind){
7467options.beforeFormUnbind(this,options);
7468}
7469return this.ajaxFormUnbind()
7470.on('submit.form-plugin',options,doAjaxSubmit)
7471.on('click.form-plugin',options,captureSubmittingElement);
7472};
7473function doAjaxSubmit(e){
7474var options=e.data;
7475if(!e.isDefaultPrevented()){
7476e.preventDefault();
7477$(e.target).closest('form').ajaxSubmit(options);
7478}
7479}
7480function captureSubmittingElement(e){
7481var target=e.target;
7482var $el=$(target);
7483if(!$el.is('[type=submit],[type=image]')){
7484var t=$el.closest('[type=submit]');
7485if(t.length===0){
7486return;
7487}
7488target=t[0];
7489}
7490var form=target.form;
7491form.clk=target;
7492if(target.type==='image'){
7493if(typeof e.offsetX!=='undefined'){
7494form.clk_x=e.offsetX;
7495form.clk_y=e.offsetY;
7496}else if(typeof $.fn.offset==='function'){
7497var offset=$el.offset();
7498form.clk_x=e.pageX-offset.left;
7499form.clk_y=e.pageY-offset.top;
7500}else{
7501form.clk_x=e.pageX-target.offsetLeft;
7502form.clk_y=e.pageY-target.offsetTop;
7503}
7504}
7505setTimeout(function(){
7506form.clk=form.clk_x=form.clk_y=null;
7507},100);
7508}
7509$.fn.ajaxFormUnbind=function(){
7510return this.off('submit.form-plugin click.form-plugin');
7511};
7512$.fn.formToArray=function(semantic,elements,filtering){
7513var a=[];
7514if(this.length===0){
7515return a;
7516}
7517var form=this[0];
7518var formId=this.attr('id');
7519var els=(semantic||typeof form.elements==='undefined')?form.getElementsByTagName('*'):form.elements;
7520var els2;
7521if(els){
7522els=$.makeArray(els);
7523}
7524if(formId&&(semantic||/(Edge|Trident)\//.test(navigator.userAgent))){
7525els2=$(':input[form="'+formId+'"]').get();
7526if(els2.length){
7527els=(els||[]).concat(els2);
7528}
7529}
7530if(!els||!els.length){
7531return a;
7532}
7533if($.isFunction(filtering)){
7534els=$.map(els,filtering);
7535}
7536var i,j,n,v,el,max,jmax;
7537for(i=0,max=els.length;i<max;i++){
7538el=els[i];
7539n=el.name;
7540if(!n||el.disabled){
7541continue;
7542}
7543if(semantic&&form.clk&&el.type==='image'){
7544if(form.clk===el){
7545a.push({name:n,value:$(el).val(),type:el.type});
7546a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
7547}
7548continue;
7549}
7550v=$.fieldValue(el,true);
7551if(v&&v.constructor===Array){
7552if(elements){
7553elements.push(el);
7554}
7555for(j=0,jmax=v.length;j<jmax;j++){
7556a.push({name:n,value:v[j]});
7557}
7558}else if(feature.fileapi&&el.type==='file'){
7559if(elements){
7560elements.push(el);
7561}
7562var files=el.files;
7563if(files.length){
7564for(j=0;j<files.length;j++){
7565a.push({name:n,value:files[j],type:el.type});
7566}
7567}else{
7568a.push({name:n,value:'',type:el.type});
7569}
7570}else if(v!==null&&typeof v!=='undefined'){
7571if(elements){
7572elements.push(el);
7573}
7574a.push({name:n,value:v,type:el.type,required:el.required});
7575}
7576}
7577if(!semantic&&form.clk){
7578var $input=$(form.clk),input=$input[0];
7579n=input.name;
7580if(n&&!input.disabled&&input.type==='image'){
7581a.push({name:n,value:$input.val()});
7582a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
7583}
7584}
7585return a;
7586};
7587$.fn.formSerialize=function(semantic){
7588return $.param(this.formToArray(semantic));
7589};
7590$.fn.fieldSerialize=function(successful){
7591var a=[];
7592this.each(function(){
7593var n=this.name;
7594if(!n){
7595return;
7596}
7597var v=$.fieldValue(this,successful);
7598if(v&&v.constructor===Array){
7599for(var i=0,max=v.length;i<max;i++){
7600a.push({name:n,value:v[i]});
7601}
7602}else if(v!==null&&typeof v!=='undefined'){
7603a.push({name:this.name,value:v});
7604}
7605});
7606return $.param(a);
7607};
7608$.fn.fieldValue=function(successful){
7609for(var val=[],i=0,max=this.length;i<max;i++){
7610var el=this[i];
7611var v=$.fieldValue(el,successful);
7612if(v===null||typeof v==='undefined'||(v.constructor===Array&&!v.length)){
7613continue;
7614}
7615if(v.constructor===Array){
7616$.merge(val,v);
7617}else{
7618val.push(v);
7619}
7620}
7621return val;
7622};
7623$.fieldValue=function(el,successful){
7624var n=el.name,t=el.type,tag=el.tagName.toLowerCase();
7625if(typeof successful==='undefined'){
7626successful=true;
7627}
7628if(successful&&(!n||el.disabled||t==='reset'||t==='button'||
7629(t==='checkbox'||t==='radio')&&!el.checked||
7630(t==='submit'||t==='image')&&el.form&&el.form.clk!==el||
7631tag==='select'&&el.selectedIndex===-1)){
7632return null;
7633}
7634if(tag==='select'){
7635var index=el.selectedIndex;
7636if(index<0){
7637return null;
7638}
7639var a=[],ops=el.options;
7640var one=(t==='select-one');
7641var max=(one?index+1:ops.length);
7642for(var i=(one?index:0);i<max;i++){
7643var op=ops[i];
7644if(op.selected&&!op.disabled){
7645var v=op.value;
7646if(!v){
7647v=(op.attributes&&op.attributes.value&&!(op.attributes.value.specified))?op.text:op.value;
7648}
7649if(one){
7650return v;
7651}
7652a.push(v);
7653}
7654}
7655return a;
7656}
7657return $(el).val().replace(rCRLF,'\r\n');
7658};
7659$.fn.clearForm=function(includeHidden){
7660return this.each(function(){
7661$('input,select,textarea',this).clearFields(includeHidden);
7662});
7663};
7664$.fn.clearFields=$.fn.clearInputs=function(includeHidden){
7665var re=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;
7666return this.each(function(){
7667var t=this.type,tag=this.tagName.toLowerCase();
7668if(re.test(t)||tag==='textarea'){
7669this.value='';
7670}else if(t==='checkbox'||t==='radio'){
7671this.checked=false;
7672}else if(tag==='select'){
7673this.selectedIndex=-1;
7674}else if(t==='file'){
7675if(/MSIE/.test(navigator.userAgent)){
7676$(this).replaceWith($(this).clone(true));
7677}else{
7678$(this).val('');
7679}
7680}else if(includeHidden){
7681if((includeHidden===true&&/hidden/.test(t))||
7682(typeof includeHidden==='string'&&$(this).is(includeHidden))){
7683this.value='';
7684}
7685}
7686});
7687};
7688$.fn.resetForm=function(){
7689return this.each(function(){
7690var el=$(this);
7691var tag=this.tagName.toLowerCase();
7692switch(tag){
7693case'input':
7694this.checked=this.defaultChecked;
7695case'textarea':
7696this.value=this.defaultValue;
7697return true;
7698case'option':
7699case'optgroup':
7700var select=el.parents('select');
7701if(select.length&&select[0].multiple){
7702if(tag==='option'){
7703this.selected=this.defaultSelected;
7704}else{
7705el.find('option').resetForm();
7706}
7707}else{
7708select.resetForm();
7709}
7710return true;
7711case'select':
7712el.find('option').each(function(i){
7713this.selected=this.defaultSelected;
7714if(this.defaultSelected&&!el[0].multiple){
7715el[0].selectedIndex=i;
7716return false;
7717}
7718});
7719return true;
7720case'label':
7721var forEl=$(el.attr('for'));
7722var list=el.find('input,select,textarea');
7723if(forEl[0]){
7724list.unshift(forEl[0]);
7725}
7726list.resetForm();
7727return true;
7728case'form':
7729if(typeof this.reset==='function'||(typeof this.reset==='object'&&!this.reset.nodeType)){
7730this.reset();
7731}
7732return true;
7733default:
7734el.find('form,input,label,select,textarea').resetForm();
7735return true;
7736}
7737});
7738};
7739$.fn.enable=function(b){
7740if(typeof b==='undefined'){
7741b=true;
7742}
7743return this.each(function(){
7744this.disabled=!b;
7745});
7746};
7747$.fn.selected=function(select){
7748if(typeof select==='undefined'){
7749select=true;
7750}
7751return this.each(function(){
7752var t=this.type;
7753if(t==='checkbox'||t==='radio'){
7754this.checked=select;
7755}else if(this.tagName.toLowerCase()==='option'){
7756var $sel=$(this).parent('select');
7757if(select&&$sel[0]&&$sel[0].type==='select-one'){
7758$sel.find('option').selected(false);
7759}
7760this.selected=select;
7761}
7762});
7763};
7764$.fn.ajaxSubmit.debug=false;
7765function log(){
7766if(!$.fn.ajaxSubmit.debug){
7767return;
7768}
7769var msg='[jquery.form] '+Array.prototype.join.call(arguments,'');
7770if(window.console&&window.console.log){
7771window.console.log(msg);
7772}else if(window.opera&&window.opera.postError){
7773window.opera.postError(msg);
7774}
7775}
7776}));
7777
7778
7779/* prive/javascript/jquery.autosave.js?1790091430 */
7780
7781(function($){
7782$.fn.autosave=function(opt){
7783opt=$.extend({
7784url:window.location,
7785confirm:false,
7786confirmstring:'Sauvegarder ?'
7787},opt);
7788var save_changed=function(){
7789$('form.autosavechanged')
7790.each(function(){
7791if(!opt.confirm||confirm(opt.confirmstring)){
7792var contenu=$(this).serialize();
7793var d=new Date();
7794contenu=contenu+"&__timestamp="+Math.round(d.getTime()/1000);
7795$.post(opt.url,{
7796'action':'session',
7797'var':'autosave_'+$('input[name=autosave]',this).val(),
7798'val':contenu
7799});
7800}
7801}).removeClass('autosavechanged');
7802};
7803$(window).on('unload',save_changed);
7804return this
7805.on('keyup',function(){
7806$(this).addClass('autosavechanged');
7807})
7808.on('change',function(){
7809$(this).addClass('autosavechanged');
7810save_changed();
7811})
7812.on('submit',function(){
7813save_changed();
7814});
7815};
7816})(jQuery);
7817
7818
7819/* prive/javascript/jquery.placeholder-label.js?1790091430 */
7820
7821(function($){
7822$.placeholderLabel={
7823placeholder_class:null,
7824add_placeholder:function(){
7825if($(this).val()==$(this).attr('placeholder')){
7826$(this).val('').removeClass($.placeholderLabel.placeholder_class);
7827}
7828},
7829remove_placeholder:function(){
7830if($(this).val()==''){
7831$(this).val($(this).attr('placeholder')).addClass($.placeholderLabel.placeholder_class);
7832}
7833},
7834disable_placeholder_fields:function(){
7835$(this).find("input[placeholder]").each(function(){
7836if($(this).val()==$(this).attr('placeholder')){
7837$(this).val('');
7838}
7839});
7840return true;
7841}
7842};
7843$.fn.placeholderLabel=function(options){
7844var dummy=document.createElement('input');
7845if(dummy.placeholder!=undefined){
7846return this;
7847}
7848var config={
7849placeholder_class:'placeholder'
7850};
7851if(options)$.extend(config,options);
7852$.placeholderLabel.placeholder_class=config.placeholder_class;
7853this.each(function(){
7854var input=$(this);
7855input.focus($.placeholderLabel.add_placeholder);
7856input.blur($.placeholderLabel.remove_placeholder);
7857input.triggerHandler('focus');
7858input.triggerHandler('blur');
7859$(this.form).submit($.placeholderL
7859abel.disable_placeholder_fields);
7860});
7861return this;
7862}
7863})(jQuery);
7864
7865
7866/* prive/javascript/ajaxCallback.js?1790091430 */
7867jQuery.spip=jQuery.spip||{};
7868jQuery.spip.log=function(){
7869if(jQuery.spip.debug&&window.console&&window.console.log)
7870window.console.log.apply(this,arguments);
7871}
7872jQuery.spip.test_espace_prive=function(){
7873if(typeof spipConfig.core.test_espace_prive!=undefined&&spipConfig.core.test_espace_prive){
7874return true;
7875}
7876return false;
7877}
7878if(!jQuery.spip.load_handlers){
7879jQuery.spip.load_handlers=new Array();
7880function onAjaxLoad(f){
7881jQuery.spip.load_handlers.push(f);
7882};
7883jQuery.spip.triggerAjaxLoad=function(root){
7884jQuery.spip.log('triggerAjaxLoad');
7885jQuery.spip.log(root);
7886for(var i=0;i<jQuery.spip.load_handlers.length;i++)
7887jQuery.spip.load_handlers[i].apply(root);
7888};
7889jQuery.spip.intercepted={};
7890jQuery.spip.intercepted.load=jQuery.fn.load;
7891jQuery.fn.load=function(url,params,callback){
7892if(typeof url!=="string"){
7893return jQuery.spip.intercepted.load.apply(this,arguments);
7894}
7895callback=callback||function(){};
7896if(params){
7897if(params.constructor==Function){
7898callback=params;
7899params=null;
7900}
7901}
7902params=jQuery.extend(params,{triggerAjaxLoad:false});
7903var callback2=function(){jQuery.spip.log('jQuery.load');jQuery.spip.triggerAjaxLoad(this);callback.apply(this,arguments);};
7904return jQuery.spip.intercepted.load.apply(this,[url,params,callback2]);
7905};
7906jQuery.spip.intercepted.ajaxSubmit=jQuery.fn.ajaxSubmit;
7907jQuery.fn.ajaxSubmit=function(options){
7908options=options||{};
7909if(typeof options.onAjaxLoad=="undefined"||options.onAjaxLoad!=false){
7910var me=jQuery(this).parents('div.ajax');
7911if(me.length)
7912me=me.parent();
7913else
7914me=document;
7915if(typeof options=='function')
7916options={success:options};
7917var callback=options.success||function(){};
7918options.success=function(){callback.apply(this,arguments);jQuery.spip.log('jQuery.ajaxSubmit');jQuery.spip.triggerAjaxLoad(me);}
7919}
7920return jQuery.spip.intercepted.ajaxSubmit.apply(this,[options]);
7921}
7922jQuery.spip.intercepted.ajax=jQuery.ajax;
7923jQuery.ajax=function(url,settings){
7924if(typeof settings=='undefined'){
7925settings={};
7926if(typeof url=='object'){
7927settings=url;
7928url=null;
7929}
7930}
7931if(typeof url=='string'){
7932settings['url']=url;
7933}
7934if(settings.data&&settings.data['triggerAjaxLoad']===false){
7935settings.data['triggerAjaxLoad']=null;
7936return jQuery.spip.intercepted.ajax(settings);
7937}
7938var s=jQuery.extend(true,{},jQuery.ajaxSettings,settings);
7939var callbackContext=s.context||s;
7940try{
7941if(jQuery.ajax.caller==jQuery.spip.intercepted.load||jQuery.ajax.caller==jQuery.spip.intercepted.ajaxSubmit)
7942return jQuery.spip.intercepted.ajax(settings);
7943}
7944catch(err){}
7945var orig_complete=s.complete||function(){};
7946settings.complete=function(res,status){
7947var dataType=settings.dataType;
7948var ct=(res&&(typeof res.getResponseHeader=='function'))
7949?res.getResponseHeader("content-type"):'';
7950var xml=!dataType&&ct&&ct.indexOf("xml")>=0;
7951orig_complete.call(callbackContext,res,status);
7952if((!dataType&&!xml)||dataType=="html"){
7953jQuery.spip.log('jQuery.ajax');
7954if(typeof s.onAjaxLoad=="undefined"||s.onAjaxLoad!=false)
7955jQuery.spip.triggerAjaxLoad(s.ajaxTarget?s.ajaxTarget:document);
7956}
7957};
7958return jQuery.spip.intercepted.ajax(settings);
7959};
7960}
7961jQuery.uaMatch=function(ua){
7962ua=ua.toLowerCase();
7963var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||
7964ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||
7965[];
7966return{
7967browser:match[1]||"",
7968version:match[2]||"0"
7969};
7970};
7971if(!jQuery.browser){
7972matched=jQuery.uaMatch(navigator.userAgent);
7973browser={};
7974if(matched.browser){
7975browser[matched.browser]=true;
7976browser.version=matched.version;
7977}
7978if(browser.chrome){
7979browser.webkit=true;
7980}else if(browser.webkit){
7981browser.safari=true;
7982}
7983jQuery.browser=browser;
7984}
7985jQuery.getScript=function(url,callback){
7986return $.ajax({
7987url:url,
7988dataType:"script",
7989success:callback,
7990cache:true
7991});
7992}
7993jQuery.fn.positionner=function(force,setfocus){
7994if(!this.length){
7995return this;
7996}
7997var offset=jQuery(this).offset();
7998var hauteur=parseInt(jQuery(this).css('height'));
7999var marge=jQuery.spip.positionner_marge||5;
8000var scrolltop=self['pageYOffset']||
8001jQuery.boxModel&&document.documentElement['scrollTop']||
8002document.body['scrollTop'];
8003var h=jQuery(window).height();
8004var scroll=0;
8005if(force||(offset&&offset['top']-marge<=scrolltop)){
8006scroll=offset['top']-marge;
8007}
8008else if(offset&&offset['top']+hauteur-h+marge>scrolltop){
8009scroll=Math.min(offset['top']-marge-15,offset['top']+hauteur-h+40);
8010}
8011if(scroll)
8012jQuery('html,body')
8013.animate({scrollTop:scroll},300);
8014if(setfocus!==false)
8015jQuery(jQuery('*',this).filter('input[type=text],textarea')[0]).focus();
8016return this;
8017}
8018jQuery.spip.virtualbuffer_id='spip_virtualbufferupdate';
8019jQuery.spip.initReaderBuffer=function(){
8020if(jQuery('#'+jQuery.spip.virtualbuffer_id).length)return;
8021jQuery('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>');
8022}
8023jQuery.spip.updateReaderBuffer=function(){
8024var i=jQuery('#'+jQuery.spip.virtualbuffer_id);
8025if(!i.length)return;
8026i.val(parseInt(i.val())+1);
8027}
8028jQuery.fn.formulaire_setContainer=function(){
8029if(!this.closest('.ajax-form-container').length){
8030this.find('script').remove();
8031var aria=this.data('aria');
8032var $container=jQuery('<div class="ajax-form-container"></div>');
8033if(aria&&typeof aria==='object'){
8034for(var i in aria){
8035$container=$container.attr(i,aria[i]);
8036}
8037}
8038else{
8039aria=false;
8040}
8041this.wrap($container);
8042if(aria){
8043jQuery('form',this).not('[aria-live]').attr('aria-live','off');
8044}
8045}
8046return this;
8047}
8048jQuery.fn.formulaire_dyn_ajax=function(target){
8049if(this.length)
8050jQuery.spip.initReaderBuffer();
8051return this.each(function(){
8052var scrollwhensubmit=!jQuery(this).is('.noscroll');
8053var cible=target||this;
8054jQuery(cible).formulaire_setContainer();
8055jQuery('form:not(.noajax):not(.bouton_action_post)',this).each(function(){
8056var leform=this;
8057var leclk,leclk_x,leclk_y;
8058var onError=function(xhr,status,error,$form){
8059jQuery(leform).ajaxFormUnbind().find('input[name="var_ajax"]').remove();
8060var msg="Erreur";
8061if(typeof(error_on_ajaxform)!=="undefined")msg=error_on_ajaxform;
8062jQuery(leform).prepend("<p class='error ajax-error none'>"+msg+"</p>").find('.ajax-error').show('fast');
8063jQuery(cible).closest('.ajax-form-container').endLoading(true);
8064}
8065jQuery(this).prepend("<input type='hidden' name='var_ajax' value='form'>")
8066.ajaxForm({
8067beforeSubmit:function(){
8068leclk=leform.clk;
8069var scrollwhensubmit_button=true;
8070if(leclk){
8071scrollwhensubmit_button=!jQuery(leclk).is('.noscroll');
8072var n=leclk.name;
8073if(n&&!leclk.disabled&&leclk.type==="image"){
8074leclk_x=leform.clk_x;
8075leclk_y=leform.clk_y;
8076}
8077}
8078jQuery(cible).wrap('<div />');
8079cible=jQuery(cible).parent();
8080jQuery(cible).closest('.ajax-form-container').animateLoading();
8081if(scrollwhensubmit&&scrollwhensubmit_button){
8082jQuery(cible).positionner(false,false);
8083}
8084},
8085error:onError,
8086success:function(c,status,xhr,$form){
8087if(c.match(/^\s*noajax\s*$/)){
8088jQuery("input[name=var_ajax]",leform).remove();
8089if(leclk){
8090var n=leclk.name;
8091if(n&&!leclk.disabled){
8092jQuery(leform).prepend("<input type='hidden' name='"+n+"' value='"+leclk.value+"'>");
8093if(leclk.type==="image"){
8094jQuery(leform).prepend("<input type='hidden' name='"+n+".x' value='"+leform.clk_x+"'>");
8095jQuery(leform).prepend("<input type='hidden' name='"+n+".y' value='"+leform.clk_y+"'>");
8096}
8097}
8098}
8099jQuery(leform).ajaxFormUnbind().closest('.formulaire_spip').addClass('resubmit-noajax');
8100try{
8101leform.submit();
8102}catch(err){
8103var submitFn=document.createElement('form').submit;
8104submitFn.apply(leform);
8105}
8106}
8107else{
8108if(!c.length||c.indexOf("ajax-form-is-ok")==-1)
8109return onError.apply(this,[status,xhr,$form]);
8110var preloaded=jQuery.spip.preloaded_urls;
8111jQuery.spip.preloaded_urls={};
8112jQuery(cible).html(c);
8113var a=jQuery('a:first',cible).eq(0);
8114var d=jQuery('div.ajax',cible);
8115if(!d.length){
8116jQuery(cible).addClass('ajax');
8117if(!scrollwhensubmit)
8118jQuery(cible).addClass('noscroll');
8119}
8120else{
8121d.siblings('br.bugajaxie').remove();
8122cible=jQuery(":first",cible);
8123cible.unwrap();
8124}
8125if(a.length
8126&&a.is('a[name=ajax_ancre]')
8127&&jQuery(a.attr('href'),cible).length){
8128a=a.attr('href');
8129if(jQuery(a,cible).length)
8130setTimeout(function(){
8131jQuery(a,cible).positionner(false);
8132},10);
8133jQuery(cible).closest('.ajax-form-container').endLoading(true);
8134}
8135else{
8136if(a.length&&a.is('a[name=ajax_redirect]')){
8137a=a.get(0).href;
8138setTimeout(function(){
8139var cur=window.location.href.split('#');
8140document.location.replace(a);
8141if(cur[0]==a.split('#')[0]){
8142window.location.reload();
8143}
8144},10);
8145jQuery(cible).closest('.ajax-form-container').animateLoading();
8146}
8147else{
8148jQuery(cible).closest('.ajax-form-container').endLoading(true);
8149}
8150}
8151if(!jQuery('.reponse_formulaire_ok',cible).length)
8152jQuery.spip.preloaded_urls=preloaded;
8153jQuery.spip.updateReaderBuffer();
8154}
8155}
8156})
8157.addClass('noajax hasajax');
8158});
8159});
8160}
8161jQuery.fn.formulaire_verifier=function(callback,champ){
8162var erreurs={'message_erreur':'form non ajax'};
8163var me=this;
8164if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true'){
8165if(jQuery(me).is('form.hasajax')){
8166jQuery(me).ajaxSubmit({
8167dataType:"json",
8168data:{formulaire_action_verifier_json:true},
8169success:function(errs){
8170var args=[errs,champ]
8171if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true')
8172callback.apply(me,args);
8173}
8174});
8175}
8176else
8177callback.apply(me,[erreurs,champ]);
8178}
8179return this;
8180}
8181jQuery.fn.formulaire_activer_verif_auto=function(callback){
8182callback=callback||formulaire_actualiser_erreurs;
8183var me=jQuery(this).closest('.ajax-form-container');
8184var check=function(){
8185var name=jQuery(this).attr('name');
8186setTimeout(function(){me.find('form').formulaire_verifier(callback,name);},50);
8187}
8188var activer=function(){
8189if(me.find('form').attr('data-verifjson')!='on'){
8190me
8191.find('form')
8192.attr('data-verifjson','on')
8193.find('input,select,textarea')
8194.on('change',check);
8195}
8196}
8197jQuery(activer);
8198onAjaxLoad(function(){setTimeout(activer,150);});
8199}
8200function formulaire_actualiser_erreurs(erreurs){
8201var parent=jQuery(this).closest('.formulaire_spip');
8202if(!parent.length)return;
8203parent.find('.reponse_formulaire,.erreur_message').fadeOut().remove();
8204parent.find('.erreur').removeClass('erreur');
8205if(erreurs['message_ok'])
8206parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_ok">'+erreurs['message_ok']+'</p>');
8207if(erreurs['message_erreur'])
8208parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_erreur">'+erreurs['message_erreur']+'</p>');
8209for(var k in erreurs){
8210var saisie=parent.find('.editer_'+k);
8211if(saisie.length){
8212saisie.addClass('erreur');
8213saisie.find('label').after('<span class="erreur_message">'+erreurs[k]+'</span>');
8214}
8215}
8216}
8217var ajax_confirm=true;
8218var ajax_confirm_date=0;
8219var spip_confirm=window.confirm;
8220function _confirm(message){
8221ajax_confirm=spip_confirm(message);
8222if(!ajax_confirm){
8223var d=new Date();
8224ajax_confirm_date=d.getTime();
8225}
8226return ajax_confirm;
8227}
8228window.confirm=_confirm;
8229var ajaxbloc_selecteur;
8230jQuery.spip.preloaded_urls={};
8231jQuery.spip.on_ajax_loaded=function(blocfrag,c,href,history){
8232history=history||(history==null);
8233if(typeof href==undefined||href==null)
8234history=false;
8235if(history)
8236jQuery.spip.setHistoryState(blocfrag);
8237if(jQuery(blocfrag).attr('data-loaded-callback')){
8238var callback=eval(jQuery(blocfrag).attr('data-loaded-callback'));
8239callback.call(blocfrag,c,href,history);
8240}
8241else{
8242jQuery(blocfrag)
8243.html(c)
8244.endLoading();
8245}
8246if(typeof href!=undefined)
8247jQuery(blocfrag).attr('data-url',href);
8248if(history){
8249var href_history=href;
8250if(href_history.indexOf('var_nullify')!==-1){
8251href_history=parametre_url(href_history,'var_nullify','');
8252}
8253jQuery.spip.pushHistoryState(href_history);
8254jQuery.spip.setHistoryState(blocfrag);
8255}
8256var a=jQuery('a:first',jQuery(blocfrag)).eq(0);
8257if(a.length
8258&&a.is('a[name=ajax_ancre]')
8259&&jQuery(a.attr('href'),blocfrag).length){
8260a=a.attr('href');
8261jQuery(a,blocfrag).positionner(false);
8262}
8263jQuery.spip.log('on_ajax_loaded');
8264jQuery.spip.triggerAjaxLoad(blocfrag);
8265a=jQuery(blocfrag).parents('form.hasajax')
8266if(a.length)
8267a.eq(0).removeClass('noajax').parents('div.ajax').formulaire_dyn_ajax();
8268jQuery.spip.updateReaderBuffer();
8269}
8270jQuery.spip.on_ajax_failed=function(blocfrag,statusCode,href,history){
8271jQuery(blocfrag).addClass('invalid');
8272jQuery.spip.log("Echec AJAX statusCode "+statusCode)
8273history=history||(history==null);
8274if(history){
8275if(jQuery.spip.debug){
8276jQuery.spip.log("On redirige sur sur "+href)
8277}
8278else{
8279window.location.href=href;
8280}
8281}
8282}
8283jQuery.spip.stateId=0;
8284jQuery.spip.setHistoryState=function(blocfrag){
8285if(!window.history.replaceState)return;
8286if(!blocfrag.attr('id')){
8287while(jQuery('#ghsid'+jQuery.spip.stateId).length)
8288jQuery.spip.stateId++;
8289blocfrag.attr('id','ghsid'+jQuery.spip.stateId);
8290}
8291var href=blocfrag.attr('data-url')||blocfrag.attr('data-origin');
8292href=jQuery("<"+"a href='"+href+"'></a>").get(0).href;
8293var state={
8294id:blocfrag.attr('id'),
8295href:href
8296};
8297var ajaxid=blocfrag.attr('class').match(/\bajax-id-[\w-]+\b/);
8298if(ajaxid&&ajaxid.length)
8299state["ajaxid"]=ajaxid[0];
8300window.history.replaceState(state,window.document.title,window.document.location);
8301}
8302jQuery.spip.pushHistoryState=function(href,title){
8303if(!window.history.pushState)
8304return false;
8305window.history.pushState({},title,href);
8306}
8307window.onpopstate=function(popState){
8308if(popState.state&&popState.state.href){
8309var blocfrag=false;
8310if(popState.state.id){
8311blocfrag=jQuery('#'+popState.state.id);
8312}
8313if((!blocfrag||!blocfrag.length)&&popState.state.ajaxid){
8314blocfrag=jQuery('.ajaxbloc.'+popState.state.ajaxid);
8315}
8316if(blocfrag&&blocfrag.length==1){
8317jQuery.spip.ajaxClick(blocfrag,popState.state.href,{history:false});
8318return true;
8319}
8320else{
8321window.location.href=popState.state.href;
8322}
8323}
8324}
8325jQuery.spip.loadAjax=function(blocfrag,url,href,options){
8326var force=options.force||false;
8327if(jQuery(blocfrag).attr('data-loading-callback')){
8328var callback=eval(jQuery(blocfrag).attr('data-loading-callback'));
8329callback.call(blocfrag,url,href,options);
8330}
8331else{
8332jQuery(blocfrag).animateLoading();
8333}
8334if(jQuery.spip.preloaded_urls[url]&&!force){
8335if(jQuery.spip.preloaded_urls[url]=="<!--loading-->"){
8336setTimeout(function(){jQuery.spip.loadAjax(blocfrag,url,href,options);},100);
8337return;
8338}
8339jQuery.spip.on_ajax_loaded(blocfrag,jQuery.spip.preloaded_urls[url],href,options.history);
8340}else{
8341var d=new Date();
8342jQuery.spip.preloaded_urls[url]="<!--loading-->";
8343jQuery.ajax({
8344url:parametre_url(url,'var_t',d.getTime()),
8345onAjaxLoad:false,
8346success:function(c){
8347jQuery.spip.on_ajax_loaded(blocfrag,c,href,options.history);
8348jQuery.spip.preloaded_urls[url]=c;
8349if(options.callback&&typeof options.callback=="function")
8350options.callback.apply(blocfrag);
8351},
8352error:function(e){
8353jQuery.spip.preloaded_urls[url]='';
8354jQuery.spip.on_ajax_failed(blocfrag,e.status,href,options.history);
8355}
8356});
8357}
8358}
8359jQuery.spip.makeAjaxUrl=function(href,ajax_env,origin){
8360var url=href.split('#');
8361url[0]=parametre_url(url[0],'var_ajax',1);
8362url[0]=parametre_url(url[0],'var_ajax_env',ajax_env);
8363if(origin){
8364if(origin.indexOf('var_nullify')!==-1){
8365origin=parametre_url(origin,'var_nullify','');
8366}
8367var p=origin.indexOf('?');
8368var nullify=[];
8369if(p!==-1){
8370var args=origin.substring(p+1).split('&');
8371var val;
8372var arg;
8373for(var n=0;n<args.length;n++){
8374arg=args[n].split('=');
8375arg=decodeURIComponent(arg[0]);
8376p=arg.indexOf('[');
8377if(p!==-1)
8378arg=arg.substring(0,p);
8379val=parametre_url(href,arg);
8380if((typeof val=="undefined"||val==null)&&nullify.indexOf(arg)===-1){
8381nullify.push(arg);
8382}
8383}
8384if(nullify.length){
8385url[0]=url[0]+'&'+'var_nullify='+encodeURIComponent(nullify.join('|'));
8386}
8387}
8388}
8389if(url[1])
8390url[0]=parametre_url(url[0],'var_ajax_ancre',url[1]);
8391return url[0];
8392}
8393jQuery.spip.ajaxReload=function(blocfrag,options){
8394var ajax_env=blocfrag.attr('data-ajax-env');
8395if(!ajax_env||ajax_env==undefined)return;
8396var href=options.href||blocfrag.attr('data-url')||blocfrag.attr('data-origin');
8397if(href&&typeof href!=undefined){
8398if(href.indexOf('var_nullify')!==-1){
8399href=parametre_url(href,'var_nullify','');
8400}
8401options=options||{};
8402var callback=options.callback||null;
8403var history=options.history||false;
8404var args=options.args||{};
8405for(var key in args){
8406href=parametre_url(href,key,args[key]==undefined?'':args[key],'&',args[key]==undefined?false:true);
8407}
8408var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8409jQuery.spip.loadAjax(blocfrag,url,href,{force:true,callback:callback,history:history});
8410return true;
8411}
8412}
8413jQuery.spip.ajaxClick=function(blocfrag,href,options){
8414var ajax_env=blocfrag.attr('data-ajax-env');
8415if(!ajax_env||ajax_env==undefined)return;
8416if(!ajax_confirm){
8417ajax_confirm=true;
8418var d=new Date();
8419if((d.getTime()-ajax_confirm_date)<=2)
8420return false;
8421}
8422var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8423jQuery.spip.loadAjax(blocfrag,url,href,options);
8424return false;
8425}
8426jQuery.fn.ajaxbloc=function(){
8427if(this.length)
8428jQuery.spip.initReaderBuffer();
8429if(ajaxbloc_selecteur==undefined)
8430ajaxbloc_selecteur='.pagination a,a.ajax';
8431return this.each(function(){
8432jQuery('div.ajaxbloc',this).ajaxbloc();
8433var blocfrag=jQuery(this);
8434var ajax_env=blocfrag.attr('data-ajax-env');
8435if(!ajax_env||ajax_env==undefined)return;
8436blocfrag.not('.bind-ajaxReload').on('ajaxReload',function(event,options){
8437if(jQuery.spip.ajaxReload(blocfrag,options))
8438event.stopPropagation();
8439}).addClass('bind-ajaxReload');
8440jQuery(ajaxbloc_selecteur,this).not('.noajax,.bind-ajax')
8441.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)});})
8442.addClass('bind-ajax')
8443.filter('.preload').each(function(){
8444var href=this.href;
8445var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8446if(!jQuery.spip.preloaded_urls[url]){
8447jQuery.spip.preloaded_urls[url]='<!--loading-->';
8448jQuery.ajax({url:url,onAjaxLoad:false,success:function(r){jQuery.spip.preloaded_urls[url]=r;},error:function(){jQuery.spip.preloaded_urls[url]='';}});
8449}
8450});
8451jQuery('form.bouton_action_post.ajax',this).not('.noajax,.bind-ajax').each(function(){
8452var leform=this;
8453var url=jQuery(this).attr('action').split('#');
8454var scrollwhensubmit=(!jQuery(this).is('.noscroll')&&!jQuery('.submit',this).is('.noscroll'));
8455jQuery(this)
8456.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]+"'>":""))
8457.ajaxForm({
8458beforeSubmit:function(){
8459jQuery(blocfrag).animateLoading();
8460if(scrollwhensubmit){
8461jQuery(blocfrag).positionner(false);
8462}
8463},
8464onAjaxLoad:false,
8465success:function(c){
8466jQuery.spip.on_ajax_loaded(blocfrag,c);
8467jQuery.spip.preloaded_urls={};
8468},
8469error:function(e){
8470jQuery.spip.preloaded_urls={};
8471var href=parametre_url(url,'redirect');
8472if(!href){
8473href=window.location.href;
8474}
8475jQuery.spip.on_ajax_failed(blocfrag,e.status,href,e.status===400);
8476}
8477})
8478.addClass('bind-ajax');
8479});
8480});
8481};
8482jQuery.fn.followLink=function(){
8483$(this).click();
8484if(!$(this).is('.bind-ajax'))
8485window.location.href=$(this).get(0).href;
8486return this;
8487}
8488function ajaxReload(ajaxid,options){
8489jQuery('div.ajaxbloc.ajax-id-'+ajaxid).ajaxReload(options);
8490}
8491jQuery.fn.ajaxReload=function(options){
8492options=options||{};
8493jQuery(this).trigger('ajaxReload',[options]);
8494return this;
8495}
8496jQuery.fn.animateLoading=function(){
8497this.attr('aria-busy','true').addClass('loading').children().css('opacity',0.5);
8498if(typeof ajax_image_searching!='undefined'){
8499var i=(this).find('.image_loading');
8500if(i.length)i.eq(0).html(ajax_image_searching);
8501else this.prepend('<span class="image_loading">'+ajax_image_searching+'</span>');
8502}
8503return this;
8504}
8505jQuery.fn.animeajax=jQuery.fn.animateLoading;
8506jQuery.fn.endLoading=function(hard){
8507hard=hard||false;
8508this.attr('aria-busy','false').removeClass('loading');
8509if(hard){
8510this.children().css('opacity','');
8511this.find('.image_loading').html('');
8512}
8513return this;
8514}
8515jQuery.fn.animateRemove=function(callback){
8516if(this.length){
8517var me=this;
8518var color=$("<div class='remove'></div>").css('background-color');
8519var sel=$(this);
8520if(sel.is('tr'))
8521sel=sel.add('>td',sel);
8522sel.addClass('remove').css({backgroundColor:color}).animate({opacity:"0.0"},'fast',function(){
8523sel.removeClass('remove').css({backgroundColor:''});
8524if(callback)
8525callback.apply(me);
8526});
8527}
8528return this;
8529}
8530jQuery.fn.animateAppend=function(callback){
8531if(this.length){
8532var me=this;
8533var color=$("<div class='append'></div>").css('background-color');
8534var origin=$(this).css('background-color')||'#ffffff';
8535if(origin=='transparent')origin='#ffffff';
8536var sel=$(this);
8537if(sel.is('tr'))
8538sel=sel.add('>td',sel);
8539sel.css('opacity','0.0').addClass('append').css({backgroundColor:color}).animate({opacity:"1.0"},1000,function(){
8540sel.animate({backgroundColor:origin},3000,function(){
8541sel.removeClass('append').css({backgroundColor:''});
8542if(callback)
8543callback.apply(me);
8544});
8545});
8546}
8547return this;
8548}
8549function parametre_url(url,c,v,sep,force_vide){
8550if(typeof(url)=='undefined'){
8551url='';
8552}
8553var p;
8554var ancre='';
8555var a='./';
8556var args=[];
8557p=url.indexOf('#');
8558if(p!=-1){
8559ancre=url.substring(p);
8560url=url.substring(0,p);
8561}
8562p=url.indexOf('?');
8563if(p!==-1){
8564if(p>0)a=url.substring(0,p);
8565args=url.substring(p+1).split('&');
8566}
8567else
8568a=url;
8569var regexp=new RegExp('^('+c.replace('[]','\\[\\]')+'\\[?\\]?)(=.*)?$');
8570var ajouts=[];
8571var u=(typeof(v)!=='object')?encodeURIComponent(v):v;
8572var na=[];
8573var v_read=null;
8574for(var n=0;n<args.length;n++){
8575var val=args[n];
8576try{
8577val=decodeURIComponent(val);
8578}catch(e){}
8579var r=val.match(regexp);
8580if(r&&r.length){
8581if(v==null){
8582if(r[1].substr(-2)=='[]'){
8583if(!v_read)v_read=[];
8584v_read.push((r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'');
8585}
8586else{
8587return(r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'';
8588}
8589}
8590else if(!v.length){
8591}
8592else if(r[1].substr(-2)!='[]'){
8593na.push(r[1]+'='+u);
8594ajouts.push(r[1]);
8595}
8596}
8597else
8598na.push(args[n]);
8599}
8600if(v==null)return v_read;
8601if(v||v.length||force_vide){
8602ajouts="="+ajouts.join("=")+"=";
8603var all=c.split('|');
8604for(n=0;n<all.length;n++){
8605if(ajouts.search("="+all[n]+"=")==-1){
8606if(typeof(v)!=='object'){
8607na.push(all[n]+'='+u);
8608}
8609else{
8610var id=((all[n].substring(-2)=='[]')?all[n]:all[n]+"[]");
8611for(p=0;p<v.length;p++)
8612na.push(id+'='+encodeURIComponent(v[p]));
8613}
8614}
8615}
8616}
8617if(na.length){
8618if(!sep)sep='&';
8619a=a+"?"+na.join(sep);
8620}
8621return a+ancre;
8622}
8623function spip_logo_survol_hover(){
8624var me=jQuery(this);
8625if(me.attr('data-src-hover')){
8626me.attr('data-src-original',me.attr('src'));
8627me.attr('src',me.attr('data-src-hover'));
8628}
8629}
8630function spip_logo_survol_out(){
8631var me=jQuery(this);
8632if(me.attr('data-src-original')){
8633me.attr('src',me.attr('data-src-original'));
8634}
8635}
8636function disableClickAfterFormSubmit(){
8637if(jQuery(this).is('.processing-submitted-form')){
8638return false;
8639}
8640jQuery(this)
8641.addClass('processing-submitted-form')
8642.find('button[type="submit"]')
8643.attr('disabled','disabled')
8644.addClass('disabled')
8645}
8646function puce_enable_survol(){
8647jQuery('span.puce_objet_popup a',this).not('.puce-survol-enabled').click(function(){
8648selec_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'));
8649return false;
8650}).addClass('puce-survol-enabled');
8651jQuery('span.puce_objet',this).not('.puce-survol-enabled').mouseover(function(){
8652if(!this.puce_loaded){
8653this.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'));
8654}
8655}).addClass('puce-survol-enabled');
8656}
8657if(!window.var_zajax_content)
8658window.var_zajax_content='contenu';
8659jQuery(function(){
8660jQuery('form:not(.bouton_action_post)').parents('div.ajax')
8661.formulaire_dyn_ajax();
8662jQuery('div.ajaxbloc').ajaxbloc();
8663jQuery("input[placeholder]:text").placeholderLabel();
8664jQuery('.spip_logo_survol').hover(spip_logo_survol_hover,spip_logo_survol_out);
8665puce_enable_survol.apply(this);
8666jQuery('body').on('submit','form.bouton_action_post',disableClickAfterFormSubmit);
8667});
8668onAjaxLoad(function(){
8669if(jQuery){
8670jQuery('form:not(.bouton_action_post)',this).parents('div.ajax')
8671.formulaire_dyn_ajax();
8672if(jQuery(this).is('div.ajaxbloc'))
8673jQuery(this).ajaxbloc();
8674else if(jQuery(this).closest('div.ajaxbloc').length)
8675jQuery(this).closest('div.ajaxbloc').ajaxbloc();
8676else
8677jQuery('div.ajaxbloc',this).ajaxbloc();
8678jQuery("input[placeholder]:text",this).placeholderLabel();
8679jQuery('.spip_logo_survol',this).hover(spip_logo_survol_hover,spip_logo_survol_out);
8680puce_enable_survol.apply(this);
8681}
8682});
8683
8684
8685/* prive/javascript/js.cookie.js?1790091430 */
8686
8687;
8688(function(global,factory){
8689typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():
8690typeof define==='function'&&define.amd?define(factory):
8691(global=typeof globalThis!=='undefined'?globalThis:global||self,(function(){
8692var current=global.Cookies;
8693var exports=global.Cookies=factory();
8694exports.noConflict=function(){global.Cookies=current;return exports;};
8695})());
8696})(this,(function(){'use strict';
8697function assign(target){
8698for(var i=1;i<arguments.length;i++){
8699var source=arguments[i];
8700for(var key in source){
8701target[key]=source[key];
8702}
8703}
8704return target
8705}
8706var defaultConverter={
8707read:function(value){
8708if(value[0]==='"'){
8709value=value.slice(1,-1);
8710}
8711return value.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)
8712},
8713write:function(value){
8714return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
8715decodeURIComponent
8716)
8717}
8718};
8719function init(converter,defaultAttributes){
8720function set(name,value,attributes){
8721if(typeof document==='undefined'){
8722return
8723}
8724attributes=assign({},defaultAttributes,attributes);
8725if(typeof attributes.expires==='number'){
8726attributes.expires=new Date(Date.now()+attributes.expires*864e5);
8727}
8728if(attributes.expires){
8729attributes.expires=attributes.expires.toUTCString();
8730}
8731name=encodeURIComponent(name)
8732.replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent)
8733.replace(/[()]/g,escape);
8734var stringifiedAttributes='';
8735for(var attributeName in attributes){
8736if(!attributes[attributeName]){
8737continue
8738}
8739stringifiedAttributes+='; '+attributeName;
8740if(attributes[attributeName]===true){
8741continue
8742}
8743stringifiedAttributes+='='+attributes[attributeName].split(';')[0];
8744}
8745return(document.cookie=
8746name+'='+converter.write(value,name)+stringifiedAttributes)
8747}
8748function get(name){
8749if(typeof document==='undefined'||(arguments.length&&!name)){
8750return
8751}
8752var cookies=document.cookie?document.cookie.split('; '):[];
8753var jar={};
8754for(var i=0;i<cookies.length;i++){
8755var parts=cookies[i].split('=');
8756var value=parts.slice(1).join('=');
8757try{
8758var found=decodeURIComponent(parts[0]);
8759jar[found]=converter.read(value,found);
8760if(name===found){
8761break
8762}
8763}catch(e){}
8764}
8765return name?jar[name]:jar
8766}
8767return Object.create(
8768{
8769set,
8770get,
8771remove:function(name,attributes){
8772set(
8773name,
8774'',
8775assign({},attributes,{
8776expires:-1
8777})
8778);
8779},
8780withAttributes:function(attributes){
8781return init(this.converter,assign({},this.attributes,attributes))
8782},
8783withConverter:function(converter){
8784return init(assign({},this.converter,converter),this.attributes)
8785}
8786},
8787{
8788attributes:{value:Object.freeze(defaultAttributes)},
8789converter:{value:Object.freeze(converter)}
8790}
8791)
8792}
8793var api=init(defaultConverter,{path:'/'});
8794return api;
8795}));
8796
8797
8798/* plugins-dist/mediabox/lib/lity/lity.js?1790091430 */
8799
8800(function(window,factory){
8801if(typeof define==='function'&&define.amd){
8802define(['jquery'],function($){
8803return factory(window,$);
8804});
8805}else if(typeof module==='object'&&typeof module.exports==='object'){
8806module.exports=factory(window,require('jquery'));
8807}else{
8808window.lity=factory(window,window.jQuery||window.Zepto);
8809}
8810}(typeof window!=="undefined"?window:this,function(window,$){
8811'use strict';
8812var document=window.document;
8813var _win=$(window);
8814var _deferred=$.Deferred;
8815var _html=$('html');
8816var _instances=[];
8817var _attrAriaHidden='aria-hidden';
8818var _dataAriaHidden='lity-'+_attrAriaHidden;
8819var _focusableElementsSelector='a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),iframe,object,embed,[contenteditable],[tabindex]:not
8819([tabindex^="-"])';
8820var _defaultOptions={
8821esc:true,
8822handler:null,
8823handlers:{
8824image:imageHandler,
8825inline:inlineHandler,
8826iframe:iframeHandler
8827},
8828forceFocusInside:false,
8829template:'<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>'
8830};
8831var _imageRegexp=/(^data:image\/)|(\.(png|jpe?g|gif|svg|webp|bmp|ico|tiff?)(\?\S*)?$)/i;
8832var _transitionEndEvent=(function(){
8833var el=document.createElement('div');
8834var transEndEventNames={
8835WebkitTransition:'webkitTransitionEnd',
8836MozTransition:'transitionend',
8837OTransition:'oTransitionEnd otransitionend',
8838transition:'transitionend'
8839};
8840for(var name in transEndEventNames){
8841if(el.style[name]!==undefined){
8842return transEndEventNames[name];
8843}
8844}
8845return false;
8846})();
8847function transitionEnd(element){
8848var deferred=_deferred();
8849if(!_transitionEndEvent||!element.length){
8850deferred.resolve();
8851}else{
8852element.one(_transitionEndEvent,deferred.resolve);
8853setTimeout(deferred.resolve,500);
8854}
8855return deferred.promise();
8856}
8857function settings(currSettings,key,value){
8858if(arguments.length===1){
8859return $.extend({},currSettings);
8860}
8861if(typeof key==='string'){
8862if(typeof value==='undefined'){
8863return typeof currSettings[key]==='undefined'
8864?null
8865:currSettings[key];
8866}
8867currSettings[key]=value;
8868}else{
8869$.extend(currSettings,key);
8870}
8871return this;
8872}
8873function parseQueryParams(params){
8874var pos=params.indexOf('?');
8875if(pos>-1){
8876params=params.substr(pos+1);
8877}
8878var pairs=decodeURI(params.split('#')[0]).split('&');
8879var obj={},p;
8880for(var i=0,n=pairs.length;i<n;i++){
8881if(!pairs[i]){
8882continue;
8883}
8884p=pairs[i].split('=');
8885obj[p[0]]=p[1];
8886}
8887return obj;
8888}
8889function appendQueryParams(url,params){
8890if(!params){
8891return url;
8892}
8893if('string'===$.type(params)){
8894params=parseQueryParams(params);
8895}
8896if(url.indexOf('?')>-1){
8897var split=url.split('?');
8898url=split.shift();
8899params=$.extend(
8900{},
8901parseQueryParams(split[0]),
8902params
8903)
8904}
8905return url+'?'+$.param(params);
8906}
8907function transferHash(originalUrl,newUrl){
8908var pos=originalUrl.indexOf('#');
8909if(-1===pos){
8910return newUrl;
8911}
8912if(pos>0){
8913originalUrl=originalUrl.substr(pos);
8914}
8915return newUrl+originalUrl;
8916}
8917function iframe(iframeUrl,instance,queryParams,hashUrl){
8918instance&&instance.element().addClass('lity-iframe');
8919if(queryParams){
8920iframeUrl=appendQueryParams(iframeUrl,queryParams);
8921}
8922if(hashUrl){
8923iframeUrl=transferHash(hashUrl,iframeUrl);
8924}
8925return'<div class="lity-iframe-container"><iframe frameborder="0" allowfullscreen allow="autoplay; fullscreen" src="'+iframeUrl+'"/></div>';
8926}
8927function error(msg){
8928return $('<span class="lity-error"></span>').append(msg);
8929}
8930function imageHandler(target,instance){
8931var desc=(instance.opener()&&instance.opener().data('lity-desc'))||'Image with no description';
8932var img=$('<img src="'+target+'" alt="'+desc+'"/>');
8933var deferred=_deferred();
8934var failed=function(){
8935deferred.reject(error('Failed loading image'));
8936};
8937img
8938.on('load',function(){
8939if(this.naturalWidth===0){
8940return failed();
8941}
8942deferred.resolve(img);
8943})
8944.on('error',failed)
8945;
8946return deferred.promise();
8947}
8948imageHandler.test=function(target){
8949return _imageRegexp.test(target);
8950};
8951function inlineHandler(target,instance){
8952var el,placeholder,hasHideClass;
8953try{
8954el=$(target);
8955}catch(e){
8956return false;
8957}
8958if(!el.length){
8959return false;
8960}
8961placeholder=$('<i style="display:none !important"></i>');
8962hasHideClass=el.hasClass('lity-hide');
8963instance
8964.element()
8965.one('lity:remove',function(){
8966placeholder
8967.before(el)
8968.remove()
8969;
8970if(hasHideClass&&!el.closest('.lity-content').length){
8971el.addClass('lity-hide');
8972}
8973})
8974;
8975return el
8976.removeClass('lity-hide')
8977.after(placeholder)
8978;
8979}
8980function iframeHandler(target,instance){
8981return iframe(target,instance);
8982}
8983function winHeight(){
8984return document.documentElement.clientHeight
8985?document.documentElement.clientHeight
8986:Math.round(_win.height());
8987}
8988function keydown(e){
8989var current=currentInstance();
8990if(!current){
8991return;
8992}
8993if(e.keyCode===27&&!!current.options('esc')){
8994current.close();
8995}
8996if(e.keyCode===9){
8997handleTabKey(e,current);
8998}
8999}
9000function handleTabKey(e,instance){
9001var focusableElements=instance.element().find(_focusableElementsSelector);
9002var focusedIndex=focusableElements.index(document.activeElement);
9003if(e.shiftKey&&focusedIndex<=0){
9004focusableElements.get(focusableElements.length-1).focus();
9005e.preventDefault();
9006}else if(!e.shiftKey&&focusedIndex===focusableElements.length-1){
9007focusableElements.get(0).focus();
9008e.preventDefault();
9009}
9010if(focusedIndex===-1&&instance.options().forceFocusInside){
9011focusableElements.get(0).focus();
9012e.preventDefault();
9013}
9014}
9015function resize(){
9016$.each(_instances,function(i,instance){
9017instance.resize();
9018});
9019}
9020function registerInstance(instanceToRegister){
9021if(1===_instances.unshift(instanceToRegister)){
9022_html.addClass('lity-active');
9023_win
9024.on({
9025resize:resize,
9026keydown:keydown
9027})
9028;
9029}
9030$('body > *').not(instanceToRegister.element())
9031.addClass('lity-hidden')
9032.each(function(){
9033var el=$(this);
9034if(undefined!==el.data(_dataAriaHidden)){
9035return;
9036}
9037el.data(_dataAriaHidden,el.attr(_attrAriaHidden)||null);
9038})
9039.attr(_attrAriaHidden,'true')
9040;
9041}
9042function removeInstance(instanceToRemove){
9043var show;
9044instanceToRemove
9045.element()
9046.attr(_attrAriaHidden,'true')
9047;
9048if(1===_instances.length){
9049_html.removeClass('lity-active');
9050_win
9051.off({
9052resize:resize,
9053keydown:keydown
9054})
9055;
9056}
9057_instances=$.grep(_instances,function(instance){
9058return instanceToRemove!==instance;
9059});
9060if(!!_instances.length){
9061show=_instances[0].element();
9062}else{
9063show=$('.lity-hidden');
9064}
9065show
9066.removeClass('lity-hidden')
9067.each(function(){
9068var el=$(this),oldAttr=el.data(_dataAriaHidden);
9069if(!oldAttr){
9070el.removeAttr(_attrAriaHidden);
9071}else{
9072el.attr(_attrAriaHidden,oldAttr);
9073}
9074el.removeData(_dataAriaHidden);
9075})
9076;
9077}
9078function currentInstance(){
9079if(0===_instances.length){
9080return null;
9081}
9082return _instances[0];
9083}
9084function factory(target,instance,handlers,preferredHandler){
9085var handler='inline',content;
9086var currentHandlers=$.extend({},handlers);
9087if(preferredHandler&&currentHandlers[preferredHandler]){
9088content=currentHandlers[preferredHandler](target,instance);
9089handler=preferredHandler;
9090}else{
9091$.each(['inline','iframe'],function(i,name){
9092delete currentHandlers[name];
9093currentHandlers[name]=handlers[name];
9094});
9095$.each(currentHandlers,function(name,currentHandler){
9096if(!currentHandler){
9097return true;
9098}
9099if(
9100currentHandler.test&&
9101!currentHandler.test(target,instance)
9102){
9103return true;
9104}
9105content=currentHandler(target,instance);
9106if(false!==content){
9107handler=name;
9108return false;
9109}
9110});
9111}
9112return{handler:handler,content:content||''};
9113}
9114function Lity(target,options,opener,activeElement){
9115var self=this;
9116var result;
9117var isReady=false;
9118var isClosed=false;
9119var element;
9120var content;
9121options=$.extend(
9122{},
9123_defaultOptions,
9124options
9125);
9126element=$(options.template);
9127self.element=function(){
9128return element;
9129};
9130self.opener=function(){
9131return opener;
9132};
9133self.content=function(){
9134return content;
9135};
9136self.options=$.proxy(settings,self,options);
9137self.handlers=$.proxy(settings,self,options.handlers);
9138self.resize=function(){
9139if(!isReady||isClosed){
9140return;
9141}
9142content
9143.css('max-height',winHeight()+'px')
9144.trigger('lity:resize',[self])
9145;
9146};
9147self.close=function(){
9148if(isClosed){
9149return;
9150}
9151isClosed=true;
9152removeInstance(self);
9153var deferred=_deferred();
9154if(
9155activeElement&&
9156(
9157document.activeElement===element[0]||
9158$.contains(element[0],document.activeElement)
9159)
9160){
9161try{
9162activeElement.focus();
9163}catch(e){
9164}
9165}
9166var trigerable=(content?content:element);
9167trigerable.trigger('lity:close',[self]);
9168element
9169.removeClass('lity-opened')
9170.addClass('lity-closed')
9171;
9172transitionEnd(trigerable.add(element))
9173.always(function(){
9174trigerable.trigger('lity:remove',[self]);
9175element.remove();
9176element=undefined;
9177deferred.resolve();
9178})
9179;
9180return deferred.promise();
9181};
9182result=factory(target,self,options.handlers,options.handler);
9183element
9184.attr(_attrAriaHidden,'false')
9185.addClass('lity-loading lity-opened lity-'+result.handler)
9186.appendTo('body')
9187.focus()
9188.on('click','[data-lity-close]',function(e){
9189if($(e.target).is('[data-lity-close]')){
9190self.close();
9191}
9192})
9193.trigger('lity:open',[self])
9194;
9195registerInstance(self);
9196$.when(result.content)
9197.always(ready)
9198;
9199function ready(result){
9200if(isClosed){
9201return;
9202}
9203content=$(result)
9204.css('max-height',winHeight()+'px')
9205;
9206element
9207.find('.lity-loader')
9208.each(function(){
9209var loader=$(this);
9210transitionEnd(loader)
9211.always(function(){
9212loader.remove();
9213})
9214;
9215})
9216;
9217element
9218.removeClass('lity-loading')
9219.find('.lity-content')
9220.empty()
9221.append(content)
9222;
9223isReady=true;
9224content
9225.trigger('lity:ready',[self])
9226;
9227}
9228}
9229function lity(target,options,opener){
9230if(!target.preventDefault){
9231opener=$(opener);
9232}else{
9233target.preventDefault();
9234opener=$(this);
9235target=opener.data('lity-target')||opener.attr('href')||opener.attr('src');
9236}
9237var instance=new Lity(
9238target,
9239$.extend(
9240{},
9241opener.data('lity-options')||opener.data('lity'),
9242options
9243),
9244opener,
9245document.activeElement
9246);
9247if(!target.preventDefault){
9248return instance;
9249}
9250}
9251lity.version='3.0.0-dev';
9252lity.options=$.proxy(settings,lity,_defaultOptions);
9253lity.handlers=$.proxy(settings,lity,_defaultOptions.handlers);
9254lity.current=currentInstance;
9255lity.iframe=iframe;
9256$(document).on('click.lity','[data-lity]',lity);
9257return lity;
9258}));
9259
9260
9261/* plugins-dist/mediabox/lity/js/lity.mediabox.js?1790091430 */
9262;
9263(function($){
9264var litySpip={
9265nameSpace:'mediabox',
9266config:{
9267forceFocusInside:true,
9268},
9269strings:{
9270},
9271callbacks:{
9272onOpen:[],
9273onShow:[],
9274onClose:[]
9275},
9276focusedItem:[],
9277isTransition:false,
9278adjustHeight:function(instance){
9279var $content=instance.content();
9280var $containerHeight=instance.element().find('.lity-container').height();
9281if($containerHeight){
9282var h=Math.round($containerHeight)+'px';
9283$content
9284.css('max-height',h)
9285.find('[data-'+litySpip.nameSpace+'-force-max-height]')
9286.css('max-height',h);
9287}
9288},
9289template:function(cfg,type,groupName,groupPosition,groupLength){
9290var className='';
9291if(!!cfg.className){
9292className=' '+cfg.className;
9293}
9294if(cfg.transitionOnOpen){
9295className+=' lity-transition-on-open-'+cfg.transitionOnOpen;
9296}
9297if(!!cfg.noTransition){
9298className+=' lity-no-transition';
9299}
9300if(!!cfg.slideShow){
9301className+=' lity-slideshow';
9302}
9303var styles=[];
9304var styles_container='';
9305var styles_content='';
9306if(cfg.sideBar){
9307className+=' lity-sidebar lity-sidebar-'+cfg.sideBar;
9308if(cfg.sideBar==='start'||cfg.sideBar==='end'){
9309className+=' lity-sidebar-inline';
9310cfg.height='100vh';
9311cfg.maxHeight='100vh';
9312}
9313if(cfg.sideBar==='top'||cfg.sideBar==='bottom'){
9314className+=' lity-sidebar-block';
9315cfg.width='100vw';
9316cfg.maxWidth='100vw';
9317}
9318}
9319if(cfg.maxWidth){
9320styles.push("max-width:"+cfg.maxWidth.replace("%","vw"));
9321}
9322if(cfg.maxHeight){
9323styles.push("max-height:"+cfg.maxHeight.replace("%","vh"));
9324}
9325if(cfg.width){
9326styles.push("width:"+cfg.width.replace("%","vw"));
9327className+=' lity-width-set';
9328}
9329if(cfg.height){
9330styles.push("height:"+cfg.height.replace("%","vh"));
9331className+=' lity-height-set';
9332if(cfg.minHeight){
9333styles.push("min-height:"+cfg.minHeight.replace("%","vh"));
9334}
9335}
9336if(styles.length){
9337styles_container=' style="'+styles.join(';')+'"';
9338}
9339styles=[];
9340var max;
9341if(cfg.minWidth){
9342max=(cfg.maxWidth?cfg.maxWidth.replace("%","vw"):'95vw');
9343styles.push("min-width:min("+max+","+cfg.minWidth.replace("%","vw")+')');
9344}
9345if(cfg.minHeight&&!cfg.height){
9346max=(cfg.maxHeight?cfg.maxHeight.replace("%","vw"):'95vh');
9347styles.push("min-height:min("+max+","+cfg.minHeight.replace("%","vh")+')');
9348}
9349if(styles.length){
9350styles_content=' style="'+styles.join(';')+'"';
9351}
9352var button_next_prev='',
9353button_start_stop='',
9354group_info_text='',
9355group_info='';
9356if(groupName&&groupLength){
9357if(groupLength>1){
9358var newPosition=(groupPosition<=0?groupLength-1:groupPosition-1);
9359button_next_prev+='<button class="lity-previous" type="button" data-group-name="'+groupName+'" data-group-position="'+newPosition+'" aria-label="'+litySpip.strings.previous+'" data-lity-previous'
9360+'><b title="'+litySpip.strings.previous+'">❮</b></button>';
9361newPosition=(groupPosition>=groupLength-1?0:groupPosition+1);
9362button_next_prev+='<button class="lity-next" type="button" data-group-name="'+groupName+'" data-group-position="'+newPosition+'"  aria-label="'+litySpip.strings.next+'" data-lity-next'
9363+'><b title="'+litySpip.strings.next+'">❯</b></button>';
9364}
9365group_info_text=" "+litySpip.strings.current;
9366group_info_text=group_info_text.replace('{current}',(groupPosition+1)+'');
9367group_info_text=group_info_text.replace('{total}',groupLength+'');
9368button_start_stop+='<button class="lity-start-stop" type="button" data-lity-stop-start>'
9369+'<b class="lity-start" aria-label="'+litySpip.strings.slideshowStart+'" title="'+litySpip.strings.slideshowStart+'">▶</b>'
9370+'<b class="lity-stop" aria-label="'+litySpip.strings.slideshowStop+'" title="'+litySpip.strings.slideshowStop+'">□</b>'
9371+'</button>';
9372group_info='<div class="lity-group-caption">'
9373+'<span class="lity-group-start-stop">'+button_start_stop+'</span>'
9374+'<span class="lity-group-current">'+group_info_text+'</span>'
9375+'<span class="lity-group-next-prev">'+button_next_prev+'</span>'
9376+'<span class="lity-group-progress-bar"><span class="lity-group-progress-bar-status" style="width:0"></span></span>'
9377+'</div>';
9378}
9379var close_button_aria_label=litySpip.strings.close+' ('+litySpip.strings.press_escape+')';
9380var dialog_title=(type==='image'?litySpip.strings.dialog_title_med:litySpip.strings.dialog_title_def);
9381dialog_title+=group_info_text+' ('+litySpip.strings.press_escape+')';
9382var t=
9383'<dialog class="box_mediabox box_modalbox lity'+className+'" role="dialog" aria-label="'+dialog_title+'" tabindex="-1">'
9384+'<div class="lity-wrap"'+(cfg.overlayClose===false?'':' data-lity-close')+' role="document">'
9385+'<div class="lity-loader" aria-hidden="true" aria-label="'+litySpip.strings.loading+'"><span class="box-loading"></span></div>'
9386+'<div class="lity-container"'+styles_container+'>'
9387+'<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>'
9388+'<div class="lity-content"'+styles_content+'></div>'
9389+group_info
9390+'</div>'
9391+'</div>'
9392+'</dialog>';
9393return t;
9394},
9395failHandler:function(target,instance){
9396return'<div class="error lity-error">Failed loading content</div>';
9397},
9398ajaxHandler:function(target,instance){
9399var selector,
9400off=target.indexOf(" ");
9401if(off>-1){
9402selector=target.slice(off);
9403selector=selector.match(/[^\x20\t\r\n\f]+/g)||[];
9404selector=selector.join(" ");
9405target=target.slice(0,off);
9406}
9407if(jQuery.spip.preloaded_urls[target]){
9408var content=jQuery.spip.preloaded_urls[target];
9409if(selector){
9410content=$("<div>").append($.parseHTML(content)).find(selector);
9411}
9412return $('<div class="lity-content-inner"></div>').append(content);
9413}
9414var _deferred=$.Deferred;
9415var deferred=_deferred();
9416var failed=function(){
9417deferred.reject($('<span class="error lity-error"></span>').append('Failed loading ajax'));
9418};
9419$.get(target)
9420.done(function(content){
9421jQuery.spip.preloaded_urls[target]=content;
9422if(selector){
9423content=$("<div>").append($.parseHTML(content)).find(selector);
9424}
9425deferred.resolve($('<div class="lity-content-inner"></div>').append(content));
9426})
9427.fail(failed);
9428return deferred.promise();
9429},
9430imageBuildContent:function(img,desc,longdesc,defaultCaptionClass){
9431img.attr('alt',desc?desc:'');
9432desc=(longdesc?longdesc:desc);
9433if(desc){
9434defaultCaptionClass=(defaultCaptionClass?defaultCaptionClass:'expanded');
9435var id='lity-image-caption-'+Date.now().toString(36)+Math.random().toString(36).substr(2);
9436img.attr('aria-describedby',id);
9437img=$('<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>');
9438}
9439else{
9440img=$('<figure class="lity-image-figure"></figure>').append(img);
9441}
9442return img;
9443},
9444imageHandler:function(target,instance){
9445var _deferred=$.Deferred;
9446var desc='';
9447var longdesc='';
9448var defaultCaptionClass=(instance.options().defaultCaptionState==='min'?'min':'expanded');
9449var opener=instance.opener();
9450if(opener){
9451desc=opener.attr('title')||$('img[alt]',opener).eq(0).attr('alt')||'';
9452var by=opener.attr('aria-describedby')||$('img[aria-describedby]',opener).eq(0).attr('aria-describedby')||'';
9453if(by){
9454longdesc=$('#'+by).html();
9455longdesc=longdesc.trim();
9456}
9457if(!desc){
9458desc=desc||instance.opener().attr('aria-label')||'';
9459}
9460desc=desc.trim();
9461}
9462var img;
9463var cache=opener.data('lity-image-cache')||{};
9464if(cache[target]){
9465img=cache[target];
9466img=litySpip.imageBuildContent(img,desc,longdesc,defaultCaptionClass);
9467return img;
9468}
9469img=$('<img src="'+target+'" class="lity-image-img" data-'+litySpip.nameSpace+'-force-max-height />');
9470var deferred=_deferred();
9471var failed=function(){
9472deferred.reject($('<span class="error lity-error"></span>').append('Failed loading image'));
9473};
9474img
9475.on('load',function(){
9476if(this.naturalWidth===0){
9477img.attr("style","width:25vw;");
9478}
9479cache[target]=img;
9480opener.data('lity-image-cache',cache);
9481deferred.resolve(litySpip.imageBuildContent(img,desc,longdesc,defaultCaptionClass));
9482})
9483.on('error',failed)
9484;
9485return deferred.promise();
9486},
9487groupElements:function(groupName){
9488return $('.lity-enabled[data-'+litySpip.nameSpace+'-group'+'='+groupName+']');
9489},
9490eventSet:{},
9491setEvents:function(what){
9492if(!litySpip.eventSet[what]){
9493switch(what){
9494case'opener':
9495$(document).on('click','.lity-enabled',litySpip.onClickOpener);
9496break;
9497case'listener':
9498$(document).on('click','.lity-previous,.lity-next',litySpip.onPrevNext);
9499$(document).on('click','.lity-start-stop',litySpip.onSlideShowToggle);
9500$(window).on('keyup',litySpip.onKeyUp);
9501$(document).on('click','.lity-image-caption',litySpip.onCaptionToggle);
9502break;
9503}
9504litySpip.eventSet[what]=true;
9505}
9506},
9507onKeyUp:function(event){
9508var c={37:"previous",39:"next"}[event.keyCode];
9509if(c){
9510var current=lity.current();
9511if(current){
9512jQuery('.lity-'+c,current.element()).trigger('click');
9513}
9514}
9515},
9516onCaptionToggle:function(event){
9517var $caption=$(this);
9518$caption.toggleClass('min expanded');
9519},
9520openerFromPrevNext($button){
9521var groupName=$button.data('group-name');
9522var groupPosition=$button.data('group-position');
9523return litySpip.groupElements(groupName).eq(groupPosition);
9524},
9525onPrevNext:function(event){
9526var $button=$(this);
9527var newEl=litySpip.openerFromPrevNext($button);
9528if(newEl){
9529var element=lity.current().element();
9530litySpip.isTransition={oldClosed:false,newOpened:true};
9531element.addClass('lity-no-transition').css('visibility','hidden');
9532litySpip.slideshowStop(element);
9533var options={transitionOnOpen:$button.is('.lity-next')?'slide-from-right':'slide-from-left'};
9534if(element.is('.lity-slideshow')){
9535options.slideShow=true;
9536}
9537lity.current().close();
9538litySpip.elementOpener(newEl,options);
9539}
9540},
9541slideshowStart:function(element){
9542var $progress=element.find('.lity-group-progress-bar-status');
9543$progress.attr('style','');
9544$progress.css('width','100%');
9545var delay=litySpip.config.slideshowSpeed;
9546setTimeout(function(){
9547$progress.css('transition','width '+((delay-200)/1000)+'s linear');
9548$progress.css('width','0');
9549},200);
9550timer=setTimeout(function(){element.find('.lity-next').trigger('click')},delay);
9551element.data('lity-timer',timer);
9552$('.lity-start',element).attr('aria-hidden','true');
9553$('.lity-stop',element).attr('aria-hidden','false');
9554jQuery('.lity-start-stop',element).focus();
9555},
9556slideshowStop:function(element){
9557timer=element.data('lity-timer');
9558if(timer){
9559clearTimeout(timer);
9560}
9561},
9562onSlideShowToggle:function(event){
9563var $button=$(this);
9564var element=$button.closest('.lity');
9565var slideShowState=(element.is('.lity-slideshow')?true:false);
9566var timer;
9567if(!slideShowState){
9568litySpip.slideshowStart(element);
9569}
9570else{
9571litySpip.slideshowStop(element);
9572$('.lity-start',element).attr('aria-hidden','false');
9573$('.lity-stop',element).attr('aria-hidden','true');
9574}
9575element.toggleClass('lity-slideshow');
9576},
9577onClickOpener:function(event){
9578event.preventDefault();
9579var opener=$(this);
9580litySpip.elementOpener(opener);
9581},
9582elementOpener:function(opener,options){
9583var cfg=opener.data('mediabox-options');
9584if(options){
9585cfg=$.extend({},cfg,options);
9586}
9587var target=opener.data('href-popin')||opener.data('href')||opener.attr('href')||opener.attr('src');
9588litySpip.lityOpener(target,cfg,opener.get(0));
9589},
9590lityOpener:function(target,cfg,opener){
9591litySpip.setEvents('listener');
9592if(!litySpip.isTransition){
9593litySpip.callbacks.onOpen.push(cfg.onOpen||false);
9594litySpip.callbacks.onShow.push(cfg.onShow||false);
9595litySpip.callbacks.onClose.push(cfg.onClose||false);
9596litySpip.focusedItem.push($(document.activeElement));
9597}
9598var type=cfg.type||'';
9599if(!type&&opener){
9600type=$(opener).data(litySpip.nameSpace+'-type')||'';
9601}
9602var handlers=lity.handlers();
9603if(type==='ajax'){
9604handlers.ajax=litySpip.ajaxHandler;
9605}
9606handlers.image=litySpip.imageHandler;
9607if(type==='inline'){
9608var el=[];
9609try{
9610el=$(target);
9611}catch(e){
9612el=[];
9613}
9614if(!el.length){
9615handlers.inline=litySpip.failHandler;
9616}
9617}
9618cfg=$.extend({handlers:handlers},cfg);
9619if(type&&['image','inline','ajax','iframe'].indexOf(type)!==-1){
9620cfg.handler=type;
9621}
9622if(opener&&typeof($.parseMediaboxOptions)!=="undefined"){
9623cfg=$.extend(cfg,$.parseMediaboxOptions(litySpip.nameSpace,opener));
9624}
9625if(!!cfg.preloadOnly){
9626litySpip.lityPreLoader(target,cfg,opener);
9627}
9628else{
9629var groupPosition=0;
9630var groupLength=0;
9631if(opener){
9632var groupName=cfg.rel||(opener?$(opener).data(litySpip.nameSpace+'-group'):'');
9633if(groupName){
9634var elements=litySpip.groupElements(groupName);
9635groupPosition=elements.index($(opener));
9636groupLength=elements.length;
9637}
9638}
9639cfg=$.extend({template:litySpip.template(cfg,type,groupName,groupPosition,groupLength)},cfg);
9640if(cfg.samePopin){
9641var l=lity.current();
9642if(l){
9643l.close();
9644}
9645}
9646lity(target,cfg,opener);
9647}
9648},
9649lityPreLoader:function(target,cfg,opener){
9650if(cfg.handler&&cfg.handlers[cfg.handler]){
9651if(cfg.handler==='image'||cfg.handler==='ajax'){
9652var instance={
9653opener:function(){return $(opener);},
9654options:function(){return cfg}
9655};
9656var content=cfg.handlers[cfg.handler](target,instance);
9657}
9658}
9659},
9660ajaxReloadElements:function(elements){
9661const targets=elements
9662.split(',')
9663.map(s=>s.trim())
9664.filter(Boolean);
9665targets.forEach(function(target){
9666try{
9667if(/^[.#[]/.test(target)){
9668const $element=$(target);
9669if($element.length){
9670$element.ajaxReload();
9671}
9672}else{
9673ajaxReload(target);
9674}
9675}catch(e){
9676console.warn("Mediabox ajaxReloadElements : erreur lors du traitement de '"+target+"'.",e);
9677}
9678});
9679}
9680}
9681jQuery.fn.extend({
9682mediabox:function(options){
9683var cfg=$.extend({},litySpip.config,options);
9684if(this===jQuery.fn){
9685var href=cfg.href||"";
9686litySpip.lityOpener(href,cfg,null);
9687return this;
9688}else{
9689if(cfg.rel){
9690this.attr('data-'+litySpip.nameSpace+'-group',cfg.rel);
9691}
9692else{
9693this.each(function(){
9694var rel=$(this).attr('rel');
9695if(rel){
9696$(this).attr('data-'+litySpip.nameSpace+'-group',rel);
9697}
9698});
9699}
9700litySpip.setEvents('opener');
9701this
9702.data('mediabox-options',cfg)
9703.addClass('lity-enabled');
9704(cfg.preload?this:this.filter('[data-'+litySpip.nameSpace+'-preload]')).each(function(){
9705litySpip.elementOpener($(this),{preloadOnly:true});
9706});
9707return this;
9708}
9709},
9710mediaboxClose:function(){
9711var $current=lity.current();
9712if($current){
9713$current.close();
9714return true;
9715}
9716return false;
9717}
9718});
9719var initConfig=function(){
9720var b=typeof(mediabox_settings)=='object'?mediabox_settings:{};
9721litySpip.nameSpace=b.ns?b.ns:'mediabox';
9722litySpip.strings.slideshowStart=b.str_ssStart;
9723litySpip.strings.slideshowStop=b.str_ssStop;
9724litySpip.strings.current=b.str_cur;
9725litySpip.strings.previous=b.str_prev;
9726litySpip.strings.next=b.str_next;
9727litySpip.strings.close=b.str_close;
9728litySpip.strings.loading=b.str_loading;
9729litySpip.strings.press_escape=b.str_petc;
9730litySpip.strings.dialog_title_def=b.str_dialTitDef;
9731litySpip.strings.dialog_title_med=b.str_dialTitMed;
9732litySpip.config.slideshowSpeed=(b.lity.slideshow_speed?b.lity.slideshow_speed:5000);
9733litySpip.config.defaultCaptionState=(b.lity.defaultCaptionState?b.lity.defaultCaptionState:'expanded');
9734var styles={
9735'container':'',
9736'content':'',
9737};
9738var max;
9739if(b.lity.minWidth){
9740max=(b.lity.maxWidth?b.lity.maxWidth.replace('%','vw'):'95vw');
9741styles.content+="min-width:min("+max+","+b.lity.minWidth.replace('%','vw')+');';
9742}
9743if(b.lity.maxWidth){
9744styles.container+="max-width:"+b.lity.maxWidth.replace('%','vw')+';';
9745}
9746if(b.lity.minHeight){
9747max=(b.lity.maxHeight?b.lity.maxHeight.replace('%','vw'):'95vh');
9748styles.content+="min-height:min("+max+","+b.lity.minHeight.replace('%','vh')+');';
9749}
9750if(b.lity.maxHeight){
9751styles.container+="max-height:"+b.lity.maxHeight.replace('%','vh')+';';
9752}
9753var insert='';
9754for(let key in styles){
9755if(styles[key]){
9756insert+='.box_mediabox .lity-'+key+'{'+styles[key]+'}';
9757}
9758}
9759if(b.lity.opacite){
9760insert+='.box_mediabox:before{opacity:'+b.lity.opacite+'}';
9761}
9762if(insert){
9763$('head').append($('<style type="text/css">'+insert+'</style>'));
9764}
9765$(document).on('lity:open',function(event,instance){
9766if(document.fullscreenElement){
9767document.fullscreenElement.appendChild(instance.element().get(0));
9768}
9769if(!instance.element().is('.lity-slideshow')){
9770jQuery('.lity-close',instance.element()).focus();
9771}
9772if(!litySpip.isTransition){
9773var callback=litySpip.callbacks.onOpen.pop();
9774if(callback){
9775callback(event,instance);
9776}
9777}
9778});
9779$(document).on('lity:ready',function(event,instance){
9780litySpip.adjustHeight(instance);
9781if(jQuery.spip){
9782jQuery.spip.triggerAjaxLoad(instance.element().get(0))
9783}
9784if(instance.element().addClass('lity-ready').is('.lity-slideshow')){
9785litySpip.slideshowStart(instance.element());
9786}
9787if(!litySpip.isTransition){
9788var callback=litySpip.callbacks.onShow.pop();
9789if(callback){
9790callback(event,instance);
9791}
9792}
9793else{
9794litySpip.isTransition.newOpened=true;
9795if(litySpip.isTransition.oldClosed){
9796litySpip.isTransition=false;
9797}
9798instance.content().trigger('lity:resize',[instance]);
9799}
9800var $next=instance.element().find('.lity-next');
9801if($next.length){
9802$next=litySpip.openerFromPrevNext($next);
9803if($next){
9804litySpip.elementOpener($next,{preloadOnly:true});
9805}
9806}
9807});
9808$(document).on('lity:close',function(event,instance){
9809if(!litySpip.isTransition){
9810if(litySpip.callbacks.onShow.length>litySpip.callbacks.onOpen.length){
9811litySpip.callbacks.onShow.pop();
9812}
9813var callback=litySpip.callbacks.onClose.pop();
9814if(callback){
9815callback(event,instance);
9816}
9817let options=instance.options();
9818let ajaxReloadArgs=options.ajaxReloadOnClose;
9819if(ajaxReloadArgs&&typeof(ajaxReloadArgs)==='string'){
9820litySpip.ajaxReloadElements(ajaxReloadArgs);
9821}
9822}
9823});
9824$(document).on('lity:remove',function(event,instance){
9825if(!litySpip.isTransition){
9826var focused=litySpip.focusedItem.pop();
9827if(focused){
9828try{
9829focused.focus();
9830}catch(e){
9831}
9832}
9833}
9834else{
9835litySpip.isTransition.oldClosed=true;
9836if(litySpip.isTransition.newOpened){
9837litySpip.isTransition=false;
9838}
9839}
9840});
9841$(document).on('lity:resize',function(event,instance){
9842litySpip.adjustHeight(instance);
9843});
9844}
9845initConfig();
9846})(jQuery);
9847
9848
9849/* plugins-dist/mediabox/javascript/spip.mediabox.js?1790091430 */
9850(function($){
9851$.mediabox
9852=function(options){
9853if(typeof(mediabox_autodetect_href)=='function'
9854&&options.href
9855&&!options.type){
9856options.type=mediabox_autodetect_href(options.href);
9857}
9858$.fn.mediabox(options);
9859};
9860$.modalboxload=$.modalbox=function(href,options){$.mediabox($.extend({href:href,overlayClose:true},options));};
9861$.modalboxclose=$.mediaboxClose=$.fn.mediaboxClose;
9862$.parseMediaboxOptions=function(nameSpace,opener){
9863var options={};
9864var data2options={
9865"width":"width",
9866"height":"height",
9867"min-width":"minWidth",
9868"min-height":"minHeight",
9869"max-width":"maxWidth",
9870"max-height":"maxHeight",
9871"caption-state":"defaultCaptionState",
9872"sidebar":"sideBar",
9873"class":"className",
9874"ajaxreload-on-close":"ajaxReloadOnClose",
9875};
9876var v;
9877for(var o in data2options){
9878v=($(opener).data(nameSpace+'-'+o)||'');
9879if(v){
9880options[data2options[o]]=v;
9881}
9882}
9883if(!options.length){
9884var eltclass=$(opener).prop('class');
9885if(eltclass){
9886if(eltclass.indexOf("boxWidth-")!==-1){
9887var w=eltclass.match(/boxWidth-([^\s'">]*)/);
9888w=w[1].replace(/pc/,'%');
9889options["width"]=w;
9890}
9891if(eltclass.indexOf("boxHeight-")!==-1){
9892var h=eltclass.match(/boxHeight-([^\s'">]*)/);
9893h=h[1].replace(/pc/,'%');
9894options["height"]=h;
9895}
9896if(eltclass.indexOf("boxIframe")!==-1){
9897options["type"]='iframe';
9898}
9899if(eltclass.indexOf("boxInline")!==-1){
9900options["type"]='inline';
9901}
9902}
9903}
9904data2options={"same-popin":"samePopin","type":"type"};
9905for(var o in data2options){
9906v=($(opener).data(nameSpace+'-'+o)||'');
9907if(v){
9908options[data2options[o]]=v;
9909}
9910}
9911return options;
9912}
9913})(jQuery);
9914var mediaboxInit=function(){
9915var b=$.extend({},mediabox_settings);
9916if(b.ns!=='box'){
9917$('[data-box-type]').each(function(i,e){
9918var $e=$(e);
9919var d=$e.attr('data-box-type');
9920$e.removeAttr('data-box-type').attr('data-'+b.ns+'-type',d);
9921});
9922}
9923if(b.auto_detect){
9924var $popins=$('[data-href-popin],[data-'+b.ns+'-type]'+(window.var_zajax_content?',[data-var_zajax],a.popin':''))
9925.add(b.sel_c)
9926.not(ajaxbloc_selecteur,'.ajaxbloc','.hasbox');
9927$popins.each(function(i,e){
9928var $e=$(e);
9929var url=$e.attr('href')||"./";
9930var popin=$e.attr('data-href-popin');
9931var type=$e.attr('data-'+b.ns+'-type')||'';
9932if(!popin){
9933var env=$e.attr('data-ajax-env');
9934if(env){
9935url=parametre_url(parametre_url(url,'var_ajax',1),'var_ajax_env',env)
9936$e.removeAttr('data-ajax-env');
9937type='ajax';
9938}
9939var za=$e.attr('data-var_zajax');
9940if(za!==undefined||$e.hasClass('popin')){
9941if(za==='content'&&window.var_zajax_content){
9942za=window.var_zajax_content;
9943}
9944url=parametre_url(url,'var_zajax',za||window.var_zajax_content);
9945$e.removeAttr('data-var_zajax');
9946type='ajax';
9947}
9948if((url!==$e.attr('href')||(!popin&&type))&&url!=="./"){
9949$e.attr('data-href-popin',url);
9950}
9951}
9952url=popin||url;
9953if(!type){
9954var attrs=$e.data();
9955var types=['inline','html','iframe','image','ajax'];
9956types.some(function(e){
9957var k=b.ns+e.charAt(0).toUpperCase()+e.slice(1);
9958if(attrs[k]){
9959type=e;
9960return true;
9961}
9962});
9963}
9964if(!type&&typeof(mediabox_autodetect_href)=='function'){
9965type=mediabox_autodetect_href(url);
9966}
9967if(!type||$e.hasClass('boxIframe')){
9968type="iframe";
9969$e.removeClass('boxIframe');
9970}
9971$e.attr('data-'+b.ns+'-type',type);
9972});
9973}
9974if(b.sel_g){
9975var $items=$();
9976$(b.sel_g).each(function(i,e){
9977$items=$items.add(
9978$(this).is('a[type^=\'image\']')
9979?$(this)
9980:$(this).find('a[type^=\'image\']')
9981);
9982});
9983$items
9984.not('.hasbox')
9985.removeAttr('onclick')
9986.mediabox({rel:'galerieauto',slideshow:true,slideshowAuto:false,type:'image'})
9987.addClass('hasbox');
9988}
9989if(b.tt_img){
9990$('a[type^="image"],a[href$=".png"],a[href$=".jpg"],a[href$=".jpeg"],a[href$=".svg"],a[href$=".webp"]')
9991.not('.hasbox')
9992.removeAttr('onclick')
9993.mediabox({type:'image'})
9994.addClass('hasbox')
9995;
9996}
9997$(b.sel_c)
9998.not('.hasbox')
9999.mediabox()
10000.addClass('hasbox')
10001;
10002$('[data-href-popin]',this)
10003.not('.hasbox')
10004.click(function(){if($.modalbox)$.modalbox($(this).attr('data-href-popin'),$.parseMediaboxOptions(b.ns,this));return false;})
10005.addClass('hasbox');
10006};
10007(function($){
10008if(typeof onAjaxLoad=='function')onAjaxLoad(mediaboxInit);
10009$(mediaboxInit);
10010})(jQuery);
10011function mediabox_autodetect_href(href,options){
10012options=$.extend({
10013breakMode:true,
10014tests:{
10015image:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
10016inline:/^[#.]\w/,
10017html:/^\s*<[\w!][^<]*>/,
10018ajax:/((\?|&(amp;)?)var_z?ajax=|cache-ajaxload\/)/i,
10019iframe:/^(?:(?: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,
10020},
10021},options);
10022var matched=options.breakMode?false:[];
10023$.each(options.tests,function(type,regex){
10024if(href.match(regex)&&!href.match('/File:[^/]+(\\#|[?]|$)')){
10025if(options.breakMode){
10026matched=type;
10027return false;
10028}else{
10029matched.push(type);
10030}
10031}
10032});
10033return matched;
10034};
10035
10036
10037/* plugins-dist/porte_plume/javascript/jquery.markitup_pour_spip.js?1790091430 */
10038
10039;(function($){
10040$.fn.markItUp=function(settings,extraSettings){
10041var method,params,options,ctrlKey,shiftKey,altKey;ctrlKey=shiftKey=altKey=false;
10042markitup_prompt=false;
10043if(typeof settings=='string'){
10044method=settings;
10045params=extraSettings;
10046}
10047options={id:'',
10048nameSpace:'',
10049root:'',
10050lang:'',
10051previewHandler:false,
10052previewInWindow:'',
10053previewInElement:'',
10054previewAutoRefresh:true,
10055previewPosition:'after',
10056previewTemplatePath:'~/templates/preview.html',
10057previewParser:false,
10058previewParserPath:'',
10059previewParserVar:'data',
10060previewParserAjaxType:'POST',
10061resizeHandle:true,
10062beforeInsert:'',
10063afterInsert:'',
10064onEnter:{},
10065onShiftEnter:{},
10066onCtrlEnter:{},
10067onTab:{},
10068markupSet:[{}]
10069};
10070$.extend(options,settings,extraSettings);
10071if(!options.root){
10072$('script').each(function(a,tag){
10073var miuScript=$(tag).get(0).src.match(/(.*)jquery\.markitup(\.pack)?\.js$/);
10074if(miuScript!==null){
10075options.root=miuScript[1];
10076}
10077});
10078}
10079var uaMatch=function(ua){
10080ua=ua.toLowerCase();
10081var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||
10082ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||
10083[];
10084return{
10085browser:match[1]||"",
10086version:match[2]||"0"
10087};
10088};
10089var matched=uaMatch(navigator.userAgent);
10090var browser={};
10091if(matched.browser){
10092browser[matched.browser]=true;
10093browser.version=matched.version;
10094}
10095if(browser.chrome){
10096browser.webkit=true;
10097}else if(browser.webkit){
10098browser.safari=true;
10099}
10100return this.each(function(){
10101var $$,textarea,levels,scrollPosition,caretPosition,
10102clicked,hash,header,footer,previewWindow,template,iFrame,abort,
10103before,after;
10104$$=$(this);
10105textarea=this;
10106levels=[];
10107abort=false;
10108scrollPosition=caretPosition=0;
10109caretOffset=-1;
10110options.previewParserPath=localize(options.previewParserPath);
10111options.previewTemplatePath=localize(options.previewTemplatePath);
10112if(method){
10113switch(method){
10114case'remove':
10115remove();
10116break;
10117case'insert':
10118markup(params);
10119break;
10120default:
10121$.error('Method '+method+' does not exist on jQuery.markItUp');
10122}
10123return;
10124}
10125function localize(data,inText){
10126if(inText){
10127return data.replace(/("|')~\//g,"$1"+options.root);
10128}
10129return data.replace(/^~\//,options.root);
10130}
10131function init(){
10132id='';nameSpace='';
10133if(options.id){
10134id='id="'+options.id+'"';
10135}else if($$.attr("id")){
10136id='id="markItUp'+($$.attr("id").substr(0,1).toUpperCase())+($$.attr("id").substr(1))+'"';
10137}
10138if(options.nameSpace){
10139nameSpace='class="'+options.nameSpace+'"';
10140}
10141currentScrollPosition=$$.scrollTop();
10142$$.wrap('<div '+nameSpace+'></div>');
10143$$.wrap('<div '+id+' class="markItUp"></div>');
10144$$.wrap('<div class="markItUpContainer"></div>');
10145$$.addClass("markItUpEditor");
10146$$.scrollTop(currentScrollPosition);
10147header=$('<div class="markItUpHeader"></div>').insertBefore($$);
10148$(dropMenus(options.markupSet)).appendTo(header);
10149$(header).find("li.markItUpDropMenu ul:empty").parent().remove();
10150footer=$('<div class="markItUpFooter"></div>').insertAfter($$);
10151if(options.resizeHandle===true&&browser.safari!==true){
10152resizeHandle=$('<div class="markItUpResizeHandle"></div>')
10153.insertAfter($$)
10154.on("mousedown.markItUp",function(e){
10155var h=$$.height(),y=e.clientY,mouseMove,mouseUp;
10156mouseMove=function(e){
10157$$.css("height",Math.max(20,e.clientY+h-y)+"px");
10158return false;
10159};
10160mouseUp=function(e){
10161$("html").off("mousemove.markItUp",mouseMove).off("mouseup.markItUp",mouseUp);
10162return false;
10163};
10164$("html").on("mousemove.markItUp",mouseMove).on("mouseup.markItUp",mouseUp);
10165});
10166footer.append(resizeHandle);
10167}
10168$$.on('keydown.markItUp',keyPressed).on('keyup',keyPressed);
10169$$.on("insertion.markItUp",function(e,settings){
10170if(settings.target!==false){
10171get();
10172}
10173if(textarea===$.markItUp.focused){
10174markup(settings);
10175}
10176});
10177$$.on('focus.markItUp',function(){
10178$.markItUp.focused=this;
10179});
10180if(options.previewInElement){
10181refreshPreview();
10182}
10183}
10184function dropMenus(markupSet){
10185var ul=$('<ul></ul>'),i=0;
10186var lang=($$.attr('lang')||options.lang);
10187$('li:hover > ul',ul).css('display','block');
10188$.each(markupSet,function(){
10189var button=this,t='',title,li,j;
10190if((!lang||!button.lang||($.inArray(lang,button.lang)!=-1))
10191&&(!button.lang_not||($.inArray(lang,button.lang_not)==-1))){
10192button.title?title=(button.key)?(button.title||'')+' [Ctrl+'+button.key+']':(button.title||''):title=(button.key)?(button.name||'')+' [Ctrl+'+button.key+']':(button.name||'');
10193key=(button.key)?'accesskey="'+button.key+'"':'';
10194if(button.separator){
10195li=$('<li class="markItUpSeparator">'+(button.separator||'')+'</li>').appendTo(ul);
10196}else{
10197i++;
10198for(j=levels.length-1;j>=0;j--){
10199t+=levels[j]+"-";
10200}
10201li=$('<li class="markItUpButton markItUpButton'+t+(i)+' '+(button.className||'')+'"><a href="#" '+key+' title="'+title+'"><em>'+(button.name||'')+'</em></a></li>')
10202.on("contextmenu.markItUp",function(){
10203return false;
10204}).on('click.markItUp',function(e){
10205e.preventDefault();
10206}).on("focusin.markItUp",function(){
10207setTimeout(function(){
10208$$.focus();
10209},0);
10210}).on('mouseup',function(e){
10211if(button.call){
10212eval(button.call)(e);
10213}
10214setTimeout(function(){markup(button)},1);
10215return false;
10216}).on('mouseenter.markItUp',function(){
10217$('> a',this).addClass('active');
10218$('> ul',this).addClass('expanded');
10219$(document).one('click',function(){
10220$('ul a',header).removeClass('active');
10221$('ul ul',header).removeClass('expanded');
10222}
10223);
10224}).on('mouseleave.markItUp',function(){
10225$('> a',this).removeClass('active');
10226$('> ul',this).removeClass('expanded');
10227}).appendTo(ul);
10228if(button.dropMenu){
10229levels.push(i);
10230$(li).addClass('markItUpDropMenu').append(dropMenus(button.dropMenu));
10231}
10232}
10233}
10234});
10235levels.pop();
10236return ul;
10237}
10238function magicMarkups(string){
10239if(string){
10240string=string.toString();
10241string=string.replace(/\(\!\(([\s\S]*?)\)\!\)/g,
10242function(x,a){
10243var b=a.split('|!|');
10244if(altKey===true){
10245return(b[1]!==undefined)?b[1]:b[0];
10246}else{
10247return(b[1]===undefined)?"":b[0];
10248}
10249}
10250);
10251string=string.replace(/\[\!\[([\s\S]*?)\]\!\]/g,
10252function(x,a){
10253var b=a.split(':!:');
10254if(abort===true){
10255return false;
10256}
10257markitup_prompt=true;
10258value=prompt(b[0],(b[1])?b[1]:'');
10259if(value===null){
10260abort=true;
10261}
10262setTimeout(function(){markitup_prompt=false;},500);
10263return value;
10264}
10265);
10266return string;
10267}
10268return"";
10269}
10270function prepare(action){
10271if($.isFunction(action)){
10272action=action(hash);
10273}
10274return magicMarkups(action);
10275}
10276function build(string){
10277var openWith=prepare(clicked.openWith);
10278var placeHolder=prepare(clicked.placeHolder);
10279var replaceWith=prepare(clicked.replaceWith);
10280var closeWith=prepare(clicked.closeWith);
10281var openBlockWith=prepare(clicked.openBlockWith);
10282var closeBlockWith=prepare(clicked.closeBlockWith);
10283var multiline=clicked.multiline;
10284if(replaceWith!==""){
10285block=openWith+replaceWith+closeWith;
10286}else if(selection===''&&placeHolder!==''){
10287block=openWith+placeHolder+closeWith;
10288}else if(multiline===true){
10289string=string||selection;
10290var lines=[string],blocks=[];
10291if(multiline===true){
10292lines=string.split(/\r?\n/);
10293}
10294for(var l=0;l<lines.length;l++){
10295line=lines[l];
10296var trailingSpaces;
10297if(trailingSpaces=line.match(/ *$/)){
10298blocks.push(openWith+line.replace(/ *$/g,'')+closeWith+trailingSpaces);
10299}else{
10300blocks.push(openWith+line+closeWith);
10301}
10302}
10303block=blocks.join("\n");
10304}else{
10305block=openWith+(string||selection)+closeWith;
10306}
10307block=openBlockWith+block+closeBlockWith;
10308return{block:block,
10309openBlockWith:openBlockWith,
10310openWith:openWith,
10311replaceWith:replaceWith,
10312placeHolder:placeHolder,
10313closeWith:closeWith,
10314closeBlockWith:closeBlockWith
10315};
10316}
10317function selectWord(){
10318selectionBeforeAfter(/\s|[.,;:!¡?¿()]/);
10319selectionSave();
10320}
10321function selectLine(){
10322selectionBeforeAfter(/\r?\n/);
10323selectionSave();
10324}
10325function selectionRemoveLast(pattern){
10326if(!pattern)pattern=/\s/;
10327last=selection[selection.length-1];
10328if(last&&last.match(pattern)){
10329set(caretPosition,selection.length-1);
10330get();
10331$.extend(hash,{caretPosition:caretPosition,scrollPosition:scrollPosition});
10332}
10333}
10334function selectionBeforeAfter(pattern){
10335if(!pattern)pattern=/\s/;
10336sautAvantIE=sautApresIE=0;
10337if(browser.msie){
10338lenSelection=selection.length-fixIeBug(selection);
10339if(caretPosition){
10340set(caretPosition-1,2);
10341sautAvantIE=fixIeBug(document.selection.createRange().text);
10342}
10343set(caretPosition,2);
10344sautApresIE=fixIeBug(document.selection.createRange().text);
10345set(0,caretPosition);
10346before=document.selection.createRange().text;
10347set(caretPosition+lenSelection,textarea.value.length);
10348after=document.selection.createRange().text;
10349set(caretPosition,lenSelection);
10350selection=document.selection.createRange().text;
10351}else{
10352before=textarea.value.substring(0,caretPosition);
10353after=textarea.value.substring(caretPosition+selection.length-fixIeBug(selection));
10354}
10355before=before.split(pattern);
10356after=after.split(pattern);
10357if(sautAvantIE)before.push("");
10358if(sautApresIE)after.unshift("");
10359}
10360function selectionSave(){
10361nb_before=before?before[before.length-1].length:0;
10362nb_after=after?after[0].length:0;
10363nb=nb_before+selection.length+nb_after-fixIeBug(selection);
10364caretPosition=caretPosition-nb_before;
10365set(caretPosition,nb);
10366get();
10367$.extend(hash,{selection:selection,caretPosition:caretPosition,scrollPosition:scrollPosition});
10368}
10369function markup(button){
10370var len,j,n,i;
10371hash=clicked=button;
10372get();
10373$.extend(hash,{line:"",
10374root:options.root,
10375textarea:textarea,
10376selection:(selection||''),
10377caretPosition:caretPosition,
10378ctrlKey:ctrlKey,
10379shiftKey:shiftKey,
10380altKey:altKey
10381}
10382);
10383if(button.selectionType){
10384if(button.selectionType=="word"){
10385if(!selection){
10386selectWord();
10387}else{
10388selectionRemoveLast(/\s/);
10389}
10390}
10391if(button.selectionType=="line"){
10392selectLine();
10393}
10394if(button.selectionType=="return"){
10395if(!browser.msie){
10396selectionBeforeAfter(/\r?\n/);
10397before_last=before[before.length-1];
10398after='';
10399if(r=before_last.match(/^-([*#]+) ?(.*)$/)){
10400if(r[2]){
10401button.replaceWith="\n-"+r[1]+' ';
10402before_last='';
10403}else{
10404button.replaceWith="\n";
10405}
10406}else{
10407before_last='';
10408button.replaceWith="\n";
10409}
10410before[before.length-1]=before_last;
10411selectionSave();
10412}
10413}
10414}
10415prepare(options.beforeInsert);
10416prepare(clicked.beforeInsert);
10417if((ctrlKey===true&&shiftKey===true)||button.multiline===true){
10418prepare(clicked.beforeMultiInsert);
10419}
10420$.extend(hash,{line:1});
10421if((ctrlKey===true&&shiftKey===true)||button.forceMultiline===true){
10422lines=selection.split(/\r?\n/);
10423for(j=0,n=lines.length,i=0;i<n;i++){
10424if(n==1||$.trim(lines[i])!==''){
10425$.extend(hash,{line:++j,selection:lines[i]});
10426lines[i]=build(lines[i]).block;
10427}else{
10428lines[i]="";
10429}
10430}
10431string={block:lines.join('\n')};
10432start=caretPosition;
10433len=string.block.length+((browser.opera)?n-1:0);
10434}else if(ctrlKey===true){
10435string=build(selection);
10436start=caretPosition+string.openWith.length;
10437len=string.block.length-string.openWith.length-string.closeWith.length;
10438len=len-(string.block.match(/ $/)?1:0);
10439len-=fixIeBug(string.block);
10440}else if(shiftKey===true){
10441string=build(selection);
10442start=caretPosition;
10443len=string.block.length;
10444len-=fixIeBug(string.block);
10445}else{
10446string=build(selection);
10447start=caretPosition+string.block.length;
10448len=0;
10449start-=fixIeBug(string.block);
10450}
10451if((selection===''&&string.replaceWith==='')){
10452caretOffset+=fixOperaBug(string.block);
10453start=caretPosition+string.openBlockWith.length+string.openWith.length;
10454len=string.block.length-string.openBlockWith.length-string.openWith.length-string.closeWith.length-string.closeBlockWith.length;
10455caretOffset=$$.val().substring(caretPosition,$$.val().length).length;
10456caretOffset-=fixOperaBug($$.val().substring(0,caretPosition));
10457}
10458$.extend(hash,{caretPosition:caretPosition,scrollPosition:scrollPosition});
10459if(string.block!==selection&&abort===false){
10460insert(string.block);
10461set(start,len);
10462}else{
10463caretOffset=-1;
10464}
10465get();
10466$.extend(hash,{line:'',selection:selection});
10467if((ctrlKey===true&&shiftKey===true)||button.multiline===true){
10468prepare(clicked.afterMultiInsert);
10469}
10470prepare(clicked.afterInsert);
10471prepare(options.afterInsert);
10472if(previewWindow&&options.previewAutoRefresh){
10473refreshPreview();
10474}
10475textarea.dispatchEvent(new Event('input'));
10476shiftKey=altKey=ctrlKey=abort=false;
10477}
10478function fixOperaBug(string){
10479if(browser.opera){
10480return string.length-string.replace(/\n*/g,'').length;
10481}
10482return 0;
10483}
10484function fixIeBug(string){
10485if(browser.msie){
10486return string.length-string.replace(/\r*/g,'').length;
10487}
10488return 0;
10489}
10490function insert(block){
10491if(document.selection){
10492var newSelection=document.selection.createRange();
10493newSelection.text=block;
10494}else{
10495textarea.value=textarea.value.substring(0,caretPosition)+block+textarea.value.substring(caretPosition+selection.length,textarea.value.length);
10496}
10497}
10498function set(start,len){
10499if(textarea.createTextRange){
10500if(browser.opera&&browser.version>=9.5&&len==0){
10501return false;
10502}
10503range=textarea.createTextRange();
10504range.collapse(true);
10505range.moveStart('character',start);
10506range.moveEnd('character',len);
10507range.select();
10508}else if(textarea.setSelectionRange){
10509textarea.setSelectionRange(start,start+len);
10510}
10511textarea.scrollTop=scrollPosition;
10512textarea.focus();
10513}
10514function get(){
10515textarea.focus();
10516scrollPosition=textarea.scrollTop;
10517if(document.selection){
10518selection=document.selection.createRange().text;
10519if(browser.msie){
10520var range=document.selection.createRange(),rangeCopy=range.duplicate();
10521rangeCopy.moveToElementText(textarea);
10522caretPosition=-1;
10523while(rangeCopy.inRange(range)){
10524rangeCopy.moveStart('character');
10525caretPosition++;
10526}
10527}else{
10528caretPosition=textarea.selectionStart;
10529}
10530}else{
10531caretPosition=textarea.selectionStart;
10532selection=textarea.value.substring(caretPosition,textarea.selectionEnd);
10533}
10534return selection;
10535}
10536function preview(){
10537if(typeof options.previewHandler==='function'){
10538previewWindow=true;
10539}else if(options.previewInElement){
10540previewWindow=$(options.previewInElement);
10541}else if(!previewWindow||previewWindow.closed){
10542if(options.previewInWindow){
10543previewWindow=window.open('','preview',options.previewInWindow);
10544$(window).unload(function(){
10545previewWindow.close();
10546});
10547}else{
10548iFrame=$('<iframe class="markItUpPreviewFrame"></iframe>');
10549if(options.previewPosition=='after'){
10550iFrame.insertAfter(footer);
10551}else{
10552iFrame.insertBefore(header);
10553}
10554previewWindow=iFrame[iFrame.length-1].contentWindow||frame[iFrame.length-1];
10555}
10556}else if(altKey===true){
10557if(iFrame){
10558iFrame.remove();
10559}else{
10560previewWindow.close();
10561}
10562previewWindow=iFrame=false;
10563}
10564if(!options.previewAutoRefresh){
10565refreshPreview();
10566}
10567if(options.previewInWindow){
10568previewWindow.focus();
10569}
10570}
10571function refreshPreview(){
10572renderPreview();
10573}
10574function renderPreview(){
10575var phtml;
10576var parsedData=$$.val();
10577if(options.previewParser&&typeof options.previewParser==='function'){
10578parsedData=options.previewParser(parsedData);
10579}
10580if(options.previewHandler&&typeof options.previewHandler==='function'){
10581options.previewHandler(parsedData);
10582}else if(options.previewParserPath!==''){
10583$.ajax({
10584type:options.previewParserAjaxType,
10585dataType:'text',
10586global:false,
10587url:options.previewParserPath,
10588data:options.previewParserVar+'='+encodeURIComponent(parsedData),
10589success:function(data){
10590writeInPreview(localize(data,1));
10591}
10592});
10593}else{
10594if(!template){
10595$.ajax({
10596url:options.previewTemplatePath,
10597dataType:'text',
10598global:false,
10599success:function(data){
10600writeInPreview(localize(data,1).replace(/<!-- content -->/g,parsedData));
10601}
10602});
10603}
10604}
10605return false;
10606}
10607function writeInPreview(data){
10608if(options.previewInElement){
10609$(options.previewInElement).html(data);
10610}else if(previewWindow&&previewWindow.document){
10611try{
10612sp=previewWindow.document.documentElement.scrollTop
10613}catch(e){
10614sp=0;
10615}
10616previewWindow.document.open();
10617previewWindow.document.write(data);
10618previewWindow.document.close();
10619previewWindow.document.documentElement.scrollTop=sp;
10620}
10621}
10622function keyPressed(e){
10623shiftKey=e.shiftKey;
10624altKey=e.altKey;
10625ctrlKey=(!(e.altKey&&e.ctrlKey))?(e.ctrlKey||e.metaKey):false;
10626if(e.type==='keydown'){
10627if(ctrlKey===true){
10628li=$('a[accesskey="'+((e.keyCode==13)?'\\n':String.fromCharCode(e.keyCode))+'"]',header).parent('li');
10629if(li.length!==0){
10630ctrlKey=false;
10631setTimeout(function(){
10632li.triggerHandler('mouseup');
10633},1);
10634return false;
10635}
10636}
10637if(!browser.opera){
10638if(e.keyCode===13||e.keyCode===10){
10639if(ctrlKey===true){
10640ctrlKey=false;
10641markup(options.onCtrlEnter);
10642if(!options.onCtrlEnter.keepDefault){
10643textarea.dispatchEvent(new Event('input'));
10644}
10645return options.onCtrlEnter.keepDefault;
10646}else if(shiftKey===true){
10647shiftKey=false;
10648markup(options.onShiftEnter);
10649if(!options.onShiftEnter.keepDefault){
10650textarea.dispatchEvent(new Event('input'));
10651}
10652return options.onShiftEnter.keepDefault;
10653}else{
10654markup(options.onEnter);
10655if(!options.onEnter.keepDefault){
10656textarea.dispatchEvent(new Event('input'));
10657}
10658return options.onEnter.keepDefault;
10659}
10660}
10661if(e.keyCode===9){
10662if(shiftKey==true||ctrlKey==true||altKey==true){
10663return false;
10664}
10665if(caretOffset!==-1){
10666get();
10667caretOffset=$$.val().length-caretOffset;
10668set(caretOffset,0);
10669caretOffset=-1;
10670return false;
10671}else{
10672markup(options.onTab);
10673return options.onTab.keepDefault;
10674}
10675}
10676}
10677}
10678}
10679function remove(){
10680$$.off(".markItUp").removeClass('markItUpEditor');
10681$$.parent('div').parent('div.markItUp').parent('div').replaceWith($$);
10682var relativeRef=$$.parent('div').parent('div.markItUp').parent('div');
10683if(relativeRef.length){
10684relativeRef.replaceWith($$);
10685}
10686$$.data('markItUp',null);
10687}
10688init();
10689});
10690};
10691$.fn.markItUpRemove=function(){
10692return this.each(function(){
10693$(this).markItUp('remove');
10694}
10695);
10696};
10697$.markItUp=function(settings){
10698var options={target:false};
10699$.extend(options,settings);
10700if(options.target){
10701return $(options.target).each(function(){
10702$(this).focus();
10703$(this).trigger('insertion',[options]);
10704});
10705}else{
10706$('textarea').trigger('insertion',[options]);
10707}
10708};
10709})(jQuery);
10710
10711
10712/* plugins-dist/porte_plume/javascript/jquery.previsu_spip.js?1790091430 */
10713;(function($){
10714$.fn.previsu_spip=function(settings){
10715var options;
10716options={
10717previewParserPath:'',
10718previewParserVar:'data',
10719textEditer:'Editer',
10720textVoir:'Voir',
10721textFullScreen:'Plein écran'
10722};
10723$.extend(options,settings);
10724return this.each(function(){
10725var $$,textarea,tabs,preview;
10726$$=$(this);
10727textarea=this;
10728function init(){
10729$$.addClass("pp_previsualisation");
10730if(!$$.parent().has('.markItUpContainer').length){
10731$$.barre_outils('vide');
10732}
10733var mark=$$.parent();
10734tabs=$('<div class="markItUpTabs"></div>').prependTo(mark);
10735$(tabs).append(
10736'<a href="#fullscreen" class="fullscreen">'+options.textFullScreen+'</a>'+
10737'<a href="#previsuVoir" class="previsuVoir">'+options.textVoir+'</a>'+
10738'<a href="#previsuEditer" class="previsuEditer on">'+options.textEditer+'</a>'
10739);
10740preview=$('<div class="markItUpPreview"></div>').insertAfter(mark.find('.markItUpHeader'));
10741preview.hide();
10742var is_full_screen=false;
10743var objet=mark.parents('.formulaire_spip')[0].className.match(/formulaire_editer_(\w+)/);
10744objet=(objet?objet[1]:'');
10745var champ=mark.parents('.editer')[0].className.match(/editer_(\w+)/);
10746champ=(champ?champ[1].toUpperCase():'');
10747var textarea=mark.find('textarea.pp_previsualisation');
10748var preview=mark.find('.markItUpPreview');
10749var dir=textarea.attr('dir');
10750if(dir){
10751preview.attr('dir',dir);
10752}
10753tabs.find('.fullscreen').click(function(){
10754if(!mark.is('.fullscreen')){
10755textarea.data('height-origin',textarea.css('height'));
10756}
10757mark.toggleClass('fullscreen');
10758if(mark.is('.fullscreen')){
10759$('body').addClass('markitup-fullscreen');
10760is_full_screen=true;
10761mark.find('.markItUpHeader a').show();
10762if(!mark.is('.livepreview')){
10763var original_texte="";
10764function refresh_preview(){
10765var texte=textarea.val();
10766if(original_texte==texte){
10767return;
10768}
10769renderPreview(preview.addClass('ajaxLoad'),texte,champ,objet);
10770original_texte=texte;
10771}
10772var timerPreview=null;
10773mark.addClass('livepreview').find('.markItUpEditor').on('keyup click change focus refreshpreview',function(e){
10774if(is_full_screen){
10775if(timerPreview)clearTimeout(timerPreview);
10776timerPreview=setTimeout(refresh_preview,500);
10777}
10778});
10779$(window).on('keyup',function(e){
10780if(is_full_screen){
10781if(e.type=='keyup'&&e.keyCode==27&&!markitup_prompt){
10782mark.removeClass('fullscreen');
10783$('body').removeClass('markitup-fullscreen');
10784textarea.css('height',textarea.data('height-origin'));
10785is_full_screen=false;
10786}
10787}
10788});
10789}
10790mark.find('.markItUpEditor').trigger('refreshpreview');
10791}
10792else{
10793$('body').removeClass('markitup-fullscreen');
10794textarea.css('height',textarea.data('height-origin'));
10795if($(this).next().hasClass('on')){
10796mark.find('.markItUpHeader a').hide();
10797}
10798is_full_screen=false;
10799}
10800return false;
10801});
10802tabs.find('.previsuVoir').click(function(){
10803preview.height(
10804mark.find('.markItUpEditor').height()
10805+mark.find('.markItUpFooter').height()
10806);
10807mark.find('.markItUpHeader a,.markItUpEditor,.markItUpFooter').hide();
10808$(this).addClass('on').next().removeClass('on');
10809renderPreview(
10810preview.show().addClass('ajaxLoad'),
10811mark.find('textarea.pp_previsualisation').val(),
10812champ,
10813objet,
10814false
10815);
10816return false;
10817});
10818tabs.find('.previsuEditer').click(function(){
10819mark.find('.markItUpPreview').hide();
10820mark.find('.markItUpHeader a,.markItUpEditor,.markItUpFooter').show();
10821$(this).addClass('on').prev().removeClass('on');
10822return false;
10823});
10824}
10825function renderPreview(node,val,champ,objet,async){
10826if(options.previewParserPath!==''){
10827$.ajax({
10828type:'POST',
10829async:typeof(async)=="undefined"?true:async,
10830url:options.previewParserPath,
10831data:'champ='+champ
10832+'&objet='+objet
10833+'&'+options.previewParserVar+'='+encodeURIComponent(val),
10834success:function(data){
10835node.html(data).removeClass('ajaxLoad');
10836$("a",node).attr("target","blank");
10837$(":input",node).attr("disabled","disabled");
10838}
10839});
10840}
10841}
10842init();
10843});
10844};
10845})(jQuery);
10846
10847
10848/* local/cache-js/jsdyn-javascript_porte_plume_start_js-6324433a.js?1790091133 */
10849
10850barre_outils_edition={
10851"nameSpace":"edition",
10852"previewAutoRefresh":false,
10853"onEnter":{
10854"keepDefault":false,
10855"selectionType":"return",
10856"replaceWith":"\n"
10857},
10858"onShiftEnter":{
10859"keepDefault":false,
10860"replaceWith":"\n_ "
10861},
10862"onCtrlEnter":{
10863"keepDefault":false,
10864"replaceWith":"\n\n"
10865},
10866"markupSet":[
10867{
10868"name":"Transformer en {{{intertitre}}}",
10869"key":"H",
10870"className":"outil_header1",
10871"openWith":"\n{{{",
10872"closeWith":"}}}\n",
10873"selectionType":"line"
10874},
10875{
10876"name":"Mettre en {{gras}}",
10877"key":"B",
10878"className":"outil_bold",
10879"replaceWith":function(h){return espace_si_accolade(h,'{{','}}');},
10880"selectionType":"word"
10881},
10882{
10883"name":"Mettre en {italique}",
10884"key":"I",
10885"className":"outil_italic",
10886"replaceWith":function(h){return espace_si_accolade(h,'{','}');},
10887"selectionType":"word"
10888},
10889{
10890"name":"Mettre en liste",
10891"className":"outil_liste_ul separateur_avant",
10892"replaceWith":function(h){return outil_liste(h,'*');},
10893"selectionType":"line",
10894"forceMultiline":true,
10895"dropMenu":[
10896{
10897"id":"liste_ol",
10898"name":"Mettre en liste num\u00e9rot\u00e9e",
10899"className":"outil_liste_ol",
10900"replaceWith":function(h){return outil_liste(h,'#');},
10901"display":true,
10902"selectionType":"line",
10903"forceMultiline":true
10904},
10905{
10906"id":"desindenter",
10907"name":"D\u00e9sindenter une liste",
10908"className":"outil_desindenter",
10909"replaceWith":function(h){return outil_desindenter(h);},
10910"display":true,
10911"selectionType":"line",
10912"forceMultiline":true
10913},
10914{
10915"id":"indenter",
10916"name":"Indenter une liste",
10917"className":"outil_indenter",
10918"replaceWith":function(h){return outil_indenter(h);},
10919"display":true,
10920"selectionType":"line",
10921"forceMultiline":true
10922}
10923]
10924},
10925{
10926"name":"Transformer en [lien hypertexte->http:\/\/...]",
10927"key":"L",
10928"className":"outil_link separateur separateur_apres sepLink",
10929"openWith":"[",
10930"closeWith":"->[![Veuillez indiquer l\u2019adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http:\/\/www.monsite.com, une adresse courriel, ou simplement indiquer le num\u00e9ro d\u2019un article de ce site.]!]]"
10931},
10932{
10933"name":"Transformer en [[Note de bas de page]]",
10934"className":"outil_notes separateur_avant",
10935"openWith":"[[",
10936"closeWith":"]]",
10937"selectionType":"word"
10938},
10939{
10940"name":"<quote>Citer un message<\/quote>",
10941"key":"Q",
10942"className":"outil_quote separateur separateur_apres sepGuillemets",
10943"openWith":"\n<quote>",
10944"closeWith":"<\/quote>\n",
10945"selectionType":"word",
10946"dropMenu":[
10947{
10948"id":"barre_poesie",
10949"name":"Mettre en forme comme une <poesie>po\u00e9sie<\/poesie>",
10950"className":"outil_poesie",
10951"openWith":"\n<poesie>",
10952"closeWith":"<\/poesie>\n",
10953"display":true,
10954"selectionType":"line"
10955}
10956]
10957},
10958{
10959"name":"<encadre>Encadrer<\/encadre>",
10960"className":"outil_encadre",
10961"openWith":"<encadre>",
10962"closeWith":"<\/encadre>"
10963},
10964{
10965"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
10966"className":"outil_guillemets",
10967"openWith":"«",
10968"closeWith":"»",
10969"lang":[
10970"fr",
10971"eo",
10972"cpf",
10973"ar",
10974"es"
10975],
10976"selectionType":"word",
10977"dropMenu":[
10978{
10979"id":"guillemets_simples",
10980"name":"Entourer de \u201cguillemets de second niveau\u201d",
10981"className":"outil_guillemets_simples",
10982"openWith":"“",
10983"closeWith":"”",
10984"display":true,
10985"lang":[
10986"fr",
10987"eo",
10988"cpf",
10989"ar",
10990"es"
10991],
10992"selectionType":"word"
10993}
10994]
10995},
10996{
10997"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
10998"className":"outil_guillemets_de",
10999"openWith":"„",
11000"closeWith":"“",
11001"lang":[
11002"bg",
11003"de",
11004"pl",
11005"hr",
11006"src"
11007],
11008"selectionType":"word",
11009"dropMenu":[
11010{
11011"id":"guillemets_de_simples",
11012"name":"Entourer de \u201cguillemets de second niveau\u201d",
11013"className":"outil_guillemets_de_simples",
11014"openWith":"&sbquo;",
11015"closeWith":"‘",
11016"display":true,
11017"lang":[
11018"bg",
11019"de",
11020"pl",
11021"hr",
11022"src"
11023],
11024"selectionType":"word"
11025}
11026]
11027},
11028{
11029"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
11030"className":"outil_guillemets_simples separateur_avant",
11031"openWith":"“",
11032"closeWith":"”",
11033"lang_not":[
11034"fr",
11035"eo",
11036"cpf",
11037"ar",
11038"es",
11039"bg",
11040"de",
11041"pl",
11042"hr",
11043"src"
11044],
11045"selectionType":"word",
11046"dropMenu":[
11047{
11048"id":"guillemets_autres_simples",
11049"name":"Entourer de \u201cguillemets de second niveau\u201d",
11050"className":"outil_guillemets_uniques",
11051"openWith":"‘",
11052"closeWith":"’",
11053"display":true,
11054"lang_not":[
11055"fr",
11056"eo",
11057"cpf",
11058"ar",
11059"es",
11060"bg",
11061"de",
11062"pl",
11063"hr",
11064"src"
11065],
11066"selectionType":"word"
11067}
11068]
11069},
11070{
11071"name":"Ins\u00e9rer des caract\u00e8res sp\u00e9cifiques",
11072"className":"outil_caracteres separateur separateur_apres sepCaracteres separateur_avant",
11073"dropMenu":[
11074{
11075"id":"A_grave",
11076"name":"Ins\u00e9rer un \u00c0",
11077"className":"outil_a_maj_grave",
11078"replaceWith":"À",
11079"display":true,
11080"lang":[
11081"fr",
11082"eo",
11083"cpf"
11084]
11085},
11086{
11087"id":"E_aigu",
11088"name":"Ins\u00e9rer un \u00c9",
11089"className":"outil_e_maj_aigu",
11090"replaceWith":"É",
11091"display":true,
11092"lang":[
11093"fr",
11094"eo",
11095"cpf"
11096]
11097},
11098{
11099"id":"E_grave",
11100"name":"Ins\u00e9rer un \u00c8",
11101"className":"outil_e_maj_grave",
11102"replaceWith":"È",
11103"display":true,
11104"lang":[
11105"fr",
11106"eo",
11107"cpf"
11108]
11109},
11110{
11111"id":"aelig",
11112"name":"Ins\u00e9rer un \u00e6",
11113"className":"outil_aelig",
11114"replaceWith":"æ",
11115"display":true,
11116"lang":[
11117"fr",
11118"eo",
11119"cpf"
11120]
11121},
11122{
11123"id":"AElig",
11124"name":"Ins\u00e9rer un \u00c6",
11125"className":"outil_aelig_maj",
11126"replaceWith":"Æ",
11127"display":true,
11128"lang":[
11129"fr",
11130"eo",
11131"cpf"
11132]
11133},
11134{
11135"id":"oe",
11136"name":"Ins\u00e9rer un \u0153",
11137"className":"outil_oe",
11138"replaceWith":"œ",
11139"display":true,
11140"lang":[
11141"fr"
11142]
11143},
11144{
11145"id":"OE",
11146"name":"Ins\u00e9rer un \u0152",
11147"className":"outil_oe_maj",
11148"replaceWith":"Œ",
11149"display":true,
11150"lang":[
11151"fr"
11152]
11153},
11154{
11155"id":"Ccedil",
11156"name":"Ins\u00e9rer un \u00c7",
11157"className":"outil_ccedil_maj",
11158"replaceWith":"Ç",
11159"display":true,
11160"lang":[
11161"fr",
11162"eo",
11163"cpf"
11164]
11165},
11166{
11167"id":"uppercase",
11168"name":"Passer en majuscules",
11169"className":"outil_uppercase",
11170"replaceWith":function(markitup){return markitup.selection.toUpperCase()},
11171"display":true,
11172"lang":[
11173"fr",
11174"en"
11175]
11176},
11177{
11178"id":"lowercase",
11179"name":"Passer en minuscules",
11180"className":"outil_lowercase",
11181"replaceWith":function(markitup){return markitup.selection.toLowerCase()},
11182"display":true,
11183"lang":[
11184"fr",
11185"en"
11186]
11187}
11188]
11189},
11190{
11191"name":"Ins\u00e9rer un code informatique (`)",
11192"className":"outil_code separateur separateur_apres sepCode",
11193"openWith":"`",
11194"closeWith":"`",
11195"dropMenu":[
11196{
11197"id":"cadre",
11198"name":"Ins\u00e9rer un code pr\u00e9format\u00e9 (```)",
11199"className":"outil_cadre",
11200"openWith":"```\n",
11201"closeWith":"\n```",
11202"display":true
11203}
11204]
11205}
11206]
11207}
11208function outil_liste(h,c){
11209if((s=h.selection)&&(r=s.match(/^-([*#]+) (.*)$/))){
11210r[1]=r[1].replace(/[#*]/g,c);
11211s='-'+r[1]+' '+r[2];
11212}else{
11213s='-'+c+' '+s;
11214}
11215return s;
11216}
11217function outil_indenter(h){
11218if(s=h.selection){
11219if(s.substr(0,2)=='-*'){
11220s='-**'+s.substr(2);
11221}else if(s.substr(0,2)=='-#'){
11222s='-##'+s.substr(2);
11223}else{
11224s='-* '+s;
11225}
11226}
11227return s;
11228}
11229function outil_desindenter(h){
11230if(s=h.selection){
11231if(s.substr(0,3)=='-**'){
11232s='-*'+s.substr(3);
11233}else if(s.substr(0,3)=='-* '){
11234s=s.substr(3);
11235}else if(s.substr(0,3)=='-##'){
11236s='-#'+s.substr(3);
11237}else if(s.substr(0,3)=='-# '){
11238s=s.substr(3);
11239}
11240}
11241return s;
11242}
11243function espace_si_accolade(h,openWith,closeWith){
11244if(s=h.selection){
11245if(s.charAt(0)=='{'){
11246return openWith+' '+s+' '+closeWith;
11247}
11248else if(c=h.textarea.selectionStart){
11249if(h.textarea.value.charAt(c-1)=='{'){
11250return' '+openWith+s+closeWith+' ';
11251}
11252}
11253}
11254return openWith+s+closeWith;
11255}
11256barre_outils_forum={
11257"nameSpace":"forum",
11258"previewAutoRefresh":false,
11259"onEnter":{
11260"keepDefault":false,
11261"selectionType":"return",
11262"replaceWith":"\n"
11263},
11264"onShiftEnter":{
11265"keepDefault":false,
11266"replaceWith":"\n_ "
11267},
11268"onCtrlEnter":{
11269"keepDefault":false,
11270"replaceWith":"\n\n"
11271},
11272"markupSet":[
11273{
11274"name":"Mettre en {{gras}}",
11275"key":"B",
11276"className":"outil_bold",
11277"replaceWith":function(h){return espace_si_accolade(h,'{{','}}');},
11278"selectionType":"word"
11279},
11280{
11281"name":"Mettre en {italique}",
11282"key":"I",
11283"className":"outil_italic separateur_avant",
11284"replaceWith":function(h){return espace_si_accolade(h,'{','}');},
11285"selectionType":"word"
11286},
11287{
11288"name":"Transformer en [lien hypertexte->http:\/\/...]",
11289"key":"L",
11290"className":"outil_link separateur separateur_apres sepLink separateur_avant",
11291"openWith":"[",
11292"closeWith":"->[![Veuillez indiquer l\u2019adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http:\/\/www.monsite.com, une adresse courriel, ou simplement indiquer le num\u00e9ro d\u2019un article de ce site.]!]]"
11293},
11294{
11295"name":"<quote>Citer un message<\/quote>",
11296"key":"Q",
11297"className":"outil_quote separateur separateur_apres sepGuillemets",
11298"openWith":"\n<quote>",
11299"closeWith":"<\/quote>\n",
11300"selectionType":"word"
11301},
11302{
11303"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
11304"className":"outil_guillemets",
11305"openWith":"«",
11306"closeWith":"»",
11307"lang":[
11308"fr",
11309"eo",
11310"cpf",
11311"ar",
11312"es"
11313],
11314"selectionType":"word",
11315"dropMenu":[
11316{
11317"id":"guillemets_simples",
11318"name":"Entourer de \u201cguillemets de second niveau\u201d",
11319"className":"outil_guillemets_simples",
11320"openWith":"“",
11321"closeWith":"”",
11322"display":true,
11323"lang":[
11324"fr",
11325"eo",
11326"cpf",
11327"ar",
11328"es"
11329],
11330"selectionType":"word"
11331}
11332]
11333},
11334{
11335"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
11336"className":"outil_guillemets_de",
11337"openWith":"„",
11338"closeWith":"“",
11339"lang":[
11340"bg",
11341"de",
11342"pl",
11343"hr",
11344"src"
11345],
11346"selectionType":"word",
11347"dropMenu":[
11348{
11349"id":"guillemets_de_simples",
11350"name":"Entourer de \u201cguillemets de second niveau\u201d",
11351"className":"outil_guillemets_de_simples",
11352"openWith":"&sbquo;",
11353"closeWith":"‘",
11354"display":true,
11355"lang":[
11356"bg",
11357"de",
11358"pl",
11359"hr",
11360"src"
11361],
11362"selectionType":"word"
11363}
11364]
11365},
11366{
11367"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
11368"className":"outil_guillemets_simples separateur_avant",
11369"openWith":"“",
11370"closeWith":"”",
11371"lang_not":[
11372"fr",
11373"eo",
11374"cpf",
11375"ar",
11376"es",
11377"bg",
11378"de",
11379"pl",
11380"hr",
11381"src"
11382],
11383"selectionType":"word",
11384"dropMenu":[
11385{
11386"id":"guillemets_autres_simples",
11387"name":"Entourer de \u201cguillemets de second niveau\u201d",
11388"className":"outil_guillemets_uniques",
11389"openWith":"‘",
11390"closeWith":"’",
11391"display":true,
11392"lang_not":[
11393"fr",
11394"eo",
11395"cpf",
11396"ar",
11397"es",
11398"bg",
11399"de",
11400"pl",
11401"hr",
11402"src"
11403],
11404"selectionType":"word"
11405}
11406]
11407}
11408]
11409}
11410function outil_liste(h,c){
11411if((s=h.selection)&&(r=s.match(/^-([*#]+) (.*)$/))){
11412r[1]=r[1].replace(/[#*]/g,c);
11413s='-'+r[1]+' '+r[2];
11414}else{
11415s='-'+c+' '+s;
11416}
11417return s;
11418}
11419function outil_indenter(h){
11420if(s=h.selection){
11421if(s.substr(0,2)=='-*'){
11422s='-**'+s.substr(2);
11423}else if(s.substr(0,2)=='-#'){
11424s='-##'+s.substr(2);
11425}else{
11426s='-* '+s;
11427}
11428}
11429return s;
11430}
11431function outil_desindenter(h){
11432if(s=h.selection){
11433if(s.substr(0,3)=='-**'){
11434s='-*'+s.substr(3);
11435}else if(s.substr(0,3)=='-* '){
11436s=s.substr(3);
11437}else if(s.substr(0,3)=='-##'){
11438s='-#'+s.substr(3);
11439}else if(s.substr(0,3)=='-# '){
11440s=s.substr(3);
11441}
11442}
11443return s;
11444}
11445function espace_si_accolade(h,openWith,closeWith){
11446if(s=h.selection){
11447if(s.charAt(0)=='{'){
11448return openWith+' '+s+' '+closeWith;
11449}
11450else if(c=h.textarea.selectionStart){
11451if(h.textarea.value.charAt(c-1)=='{'){
11452return' '+openWith+s+closeWith+' ';
11453}
11454}
11455}
11456return openWith+s+closeWith;
11457}
11458barre_outils_vide={
11459"nameSpace":"vide",
11460"previewAutoRefresh":false,
11461"markupSet":[]
11462}
11463;(function($){
11464$.fn.barre_outils=function(nom,settings){
11465options={
11466lang:'fr'
11467};
11468$.extend(options,settings);
11469return $(this)
11470.not('.markItUpEditor, .no_barre')
11471.markItUp(eval('barre_outils_'+nom),{lang:options.lang})
11472.trigger('markItUpEditor.loaded')
11473.parent().find('.markItUpButton a').attr('tabindex',-1)
11474.end();
11475};
11476$.fn.barre_previsualisation=function(settings){
11477options={
11478previewParserPath:"index.php?action=porte_plume_previsu",
11479textEditer:"Modifier",
11480textVoir:"Voir"
11481};
11482$.extend(options,settings);
11483return $(this)
11484.not('.pp_previsualisation, .no_previsualisation')
11485.previsu_spip(options)
11486.trigger('markItUpPreview.loaded')
11487.parent().find('.markItUpTabs a').attr('tabindex',-1)
11488.end();
11489};
11490$(window).on('load',function(){
11491function barrebouilles(){
11492$('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum');
11493$('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition');
11494$('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation();
11495$('textarea.textarea_forum').barre_outils('forum');
11496$('.formulaire_spip:not(#formulaire_forum) textarea[name=texte]')
11497.barre_outils('edition').end()
11498.barre_previsualisation();
11499}
11500barrebouilles();
11501onAjaxLoad(barrebouilles);
11502});
11503})(jQuery);
11504
11505
11506/* plugins/auto/ancresdouces/v3.0.0/js/jquery.scrollto.js */
11507
11508;(function(factory){
11509'use strict';
11510if(typeof define==='function'&&define.amd){
11511define(['jquery'],factory);
11512}else if(typeof module!=='undefined'&&module.exports){
11513module.exports=factory(require('jquery'));
11514}else{
11515factory(jQuery);
11516}
11517})(function($){
11518'use strict';
11519var $scrollTo=$.scrollTo=function(target,duration,settings){
11520return $(window).scrollTo(target,duration,settings);
11521};
11522$scrollTo.defaults={
11523axis:'xy',
11524duration:0,
11525limit:true
11526};
11527function isWin(elem){
11528return!elem.nodeName||
11529$.inArray(elem.nodeName.toLowerCase(),['iframe','#document','html','body'])!==-1;
11530}
11531function isFunction(obj){
11532return typeof obj==='function'
11533}
11534$.fn.scrollTo=function(target,duration,settings){
11535if(typeof duration==='object'){
11536settings=duration;
11537duration=0;
11538}
11539if(typeof settings==='function'){
11540settings={onAfter:settings};
11541}
11542if(target==='max'){
11543target=9e9;
11544}
11545settings=$.extend({},$scrollTo.defaults,settings);
11546duration=duration||settings.duration;
11547var queue=settings.queue&&settings.axis.length>1;
11548if(queue){
11549duration/=2;
11550}
11551settings.offset=both(settings.offset);
11552settings.over=both(settings.over);
11553return this.each(function(){
11554if(target===null)return;
11555var win=isWin(this),
11556elem=win?this.contentWindow||window:this,
11557$elem=$(elem),
11558targ=target,
11559attr={},
11560toff;
11561switch(typeof targ){
11562case'number':
11563case'string':
11564if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){
11565targ=both(targ);
11566break;
11567}
11568targ=win?$(targ):$(targ,elem);
11569case'object':
11570if(targ.length===0)return;
11571if(targ.is||targ.style){
11572toff=(targ=$(targ)).offset();
11573}
11574}
11575var offset=isFunction(settings.offset)&&settings.offset(elem,targ)||settings.offset;
11576$.each(settings.axis.split(''),function(i,axis){
11577var Pos=axis==='x'?'Left':'Top',
11578pos=Pos.toLowerCase(),
11579key='scroll'+Pos,
11580prev=$elem[key](),
11581max=$scrollTo.max(elem,axis);
11582if(toff){
11583attr[key]=toff[pos]+(win?0:prev-$elem.offset()[pos]);
11584if(settings.margin){
11585attr[key]-=parseInt(targ.css('margin'+Pos),10)||0;
11586attr[key]-=parseInt(targ.css('border'+Pos+'Width'),10)||0;
11587}
11588attr[key]+=offset[pos]||0;
11589if(settings.over[pos]){
11590attr[key]+=targ[axis==='x'?'width':'height']()*settings.over[pos];
11591}
11592}else{
11593var val=targ[pos];
11594attr[key]=val.slice&&val.slice(-1)==='%'?
11595parseFloat(val)/100*max
11596:val;
11597}
11598if(settings.limit&&/^\d+$/.test(attr[key])){
11599attr[key]=attr[key]<=0?0:Math.min(attr[key],max);
11600}
11601if(!i&&settings.axis.length>1){
11602if(prev===attr[key]){
11603attr={};
11604}else if(queue){
11605animate(settings.onAfterFirst);
11606attr={};
11607}
11608}
11609});
11610animate(settings.onAfter);
11611function animate(callback){
11612var opts=$.extend({},settings,{
11613queue:true,
11614duration:duration,
11615complete:callback&&function(){
11616callback.call(elem,targ,settings);
11617}
11618});
11619$elem.animate(attr,opts);
11620}
11621});
11622};
11623$scrollTo.max=function(elem,axis){
11624var Dim=axis==='x'?'Width':'Height',
11625scroll='scroll'+Dim;
11626if(!isWin(elem))
11627return elem[scroll]-$(elem)[Dim.toLowerCase()]();
11628var size='client'+Dim,
11629doc=elem.ownerDocument||elem.document,
11630html=doc.documentElement,
11631body=doc.body;
11632return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size]);
11633};
11634function both(val){
11635return isFunction(val)||$.isPlainObject(val)?val:{top:val,left:val};
11636}
11637$.Tween.propHooks.scrollLeft=
11638$.Tween.propHooks.scrollTop={
11639get:function(t){
11640return $(t.elem)[t.prop]();
11641},
11642set:function(t){
11643var curr=this.get(t);
11644if(t.options.interrupt&&t._last&&t._last!==curr){
11645return $(t.elem).stop();
11646}
11647var next=Math.round(t.now);
11648if(curr!==next){
11649$(t.elem)[t.prop](next);
11650t._last=this.get(t);
11651}
11652}
11653};
11654return $scrollTo;
11655});
11656
11657
11658/* plugins/auto/ancresdouces/v3.0.0/js/jquery.localscroll.js */
11659
11660;(function(plugin){
11661if(typeof define==='function'&&define.amd){
11662define(['jquery'],plugin);
11663}else{
11664plugin(jQuery);
11665}
11666}(function($){
11667var URI=location.href.replace(/#.*/,'');
11668var $localScroll=$.localScroll=function(settings){
11669$('body').localScroll(settings);
11670};
11671$localScroll.defaults={
11672duration:1000,
11673axis:'y',
11674event:'click',
11675stop:true,
11676target:window,
11677autoscroll:true
11678};
11679$.fn.localScroll=function(settings){
11680settings=$.extend({},$localScroll.defaults,settings);
11681if(settings.autoscroll&&settings.hash&&location.hash){
11682if(settings.target)window.scrollTo(0,0);
11683scroll(0,location,settings);
11684}
11685return settings.lazy?
11686this.on(settings.event,'a,area',function(e){
11687if(filter.call(this)){
11688scroll(e,this,settings);
11689}
11690}):
11691this.find('a,area')
11692.filter(filter).bind(settings.event,function(e){
11693scroll(e,this,settings);
11694}).end()
11695.end();
11696function filter(){
11697return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')===URI&&(!settings.filter||$(this).is(settings.filter));
11698}
11699};
11700$localScroll.hash=function(){};
11701function scroll(e,link,settings){
11702var id=link.hash.slice(1),
11703elem=document.getElementById(id)||document.getElementsByName(id)[0];
11704if(!elem)return;
11705if(e)e.preventDefault();
11706var $target=$(settings.target);
11707if(settings.lock&&$target.is(':animated')||
11708settings.onBefore&&settings.onBefore(e,elem,$target)===false)
11709return;
11710if(settings.stop){
11711$target.stop(true);
11712}
11713if(settings.hash){
11714var attr=elem.id===id?'id':'name',
11715$a=$('<a> </a>').attr(attr,id).css({
11716position:'absolute',
11717top:$(window).scrollTop(),
11718left:$(window).scrollLeft()
11719});
11720elem[attr]='';
11721$('body').prepend($a);
11722location.hash=link.hash;
11723$a.remove();
11724elem[attr]=id;
11725}
11726$target
11727.scrollTo(elem,settings)
11728.trigger('notify.serialScroll',[elem]);
11729}
11730return $localScroll;
11731}));
11732
11733
11734/* prive/javascript/js.cookie.js?1790091430 */
11735
11736;
11737(function(global,factory){
11738typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():
11739typeof define==='function'&&define.amd?define(factory):
11740(global=typeof globalThis!=='undefined'?globalThis:global||self,(function(){
11741var current=global.Cookies;
11742var exports=global.Cookies=factory();
11743exports.noConflict=function(){global.Cookies=current;return exports;};
11744})());
11745})(this,(function(){'use strict';
11746function assign(target){
11747for(var i=1;i<arguments.length;i++){
11748var source=arguments[i];
11749for(var key in source){
11750target[key]=source[key];
11751}
11752}
11753return target
11754}
11755var defaultConverter={
11756read:function(value){
11757if(value[0]==='"'){
11758value=value.slice(1,-1);
11759}
11760return value.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)
11761},
11762write:function(value){
11763return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
11764decodeURIComponent
11765)
11766}
11767};
11768function init(converter,defaultAttributes){
11769function set(name,value,attributes){
11770if(typeof document==='undefined'){
11771return
11772}
11773attributes=assign({},defaultAttributes,attributes);
11774if(typeof attributes.expires==='number'){
11775attributes.expires=new Date(Date.now()+attributes.expires*864e5);
11776}
11777if(attributes.expires){
11778attributes.expires=attributes.expires.toUTCString();
11779}
11780name=encodeURIComponent(name)
11781.replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent)
11782.replace(/[()]/g,escape);
11783var stringifiedAttributes='';
11784for(var attributeName in attributes){
11785if(!attributes[attributeName]){
11786continue
11787}
11788stringifiedAttributes+='; '+attributeName;
11789if(attributes[attributeName]===true){
11790continue
11791}
11792stringifiedAttributes+='='+attributes[attributeName].split(';')[0];
11793}
11794return(document.cookie=
11795name+'='+converter.write(value,name)+stringifiedAttributes)
11796}
11797function get(name){
11798if(typeof document==='undefined'||(arguments.length&&!name)){
11799return
11800}
11801var cookies=document.cookie?document.cookie.split('; '):[];
11802var jar={};
11803for(var i=0;i<cookies.length;i++){
11804var parts=cookies[i].split('=');
11805var value=parts.slice(1).join('=');
11806try{
11807var found=decodeURIComponent(parts[0]);
11808jar[found]=converter.read(value,found);
11809if(name===found){
11810break
11811}
11812}catch(e){}
11813}
11814return name?jar[name]:jar
11815}
11816return Object.create(
11817{
11818set,
11819get,
11820remove:function(name,attributes){
11821set(
11822name,
11823'',
11824assign({},attributes,{
11825expires:-1
11826})
11827);
11828},
11829withAttributes:function(attributes){
11830return init(this.converter,assign({},this.attributes,attributes))
11831},
11832withConverter:function(converter){
11833return init(assign({},this.converter,converter),this.attributes)
11834}
11835},
11836{
11837attributes:{value:Object.freeze(defaultAttributes)},
11838converter:{value:Object.freeze(converter)}
11839}
11840)
11841}
11842var api=init(defaultConverter,{path:'/'});
11843return api;
11844}));
11845
11846
11847/* local/cache-js/jsdyn-socialtags_js-4351184c.js?1790091133 */
11848
11849;var socialtags_addfavorite=function(u,t){
11850if(document.all)window.external.AddFavorite(u,t);
11851};
11852(function($){
11853var socialtags_init=function(){
11854var selector=$('.cartouche .publication');
11855if(!selector.length)return;
11856var socialtags=[
11857{a:'facebook',n:'Facebook',i:'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjQgNjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDY0IDY0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cgkuc3Qxe2ZpbGw6IzNBNTU5Rjt9Cjwvc3R5bGU+CjxnPgoJPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMzIiIGN5PSIzMiIgcj0iMjQuMSIvPgoJPGc+CgkJPHJlY3QgeT0iMCIgY2xhc3M9InN0MSIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0Ii8+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzkuOSwzMy4xaC01LjJjMCw4LjQsMCwxOC42LDAsMTguNmgtNy42YzAsMCwwLTEwLjIsMC0xOC42aC0zLjZ2LTYuNmgzLjZ2LTQuM2MwLTMsMS4yLTcuNiw3LjYtNy42aDUuOHY2LjQKCQkJYzAsMC0zLjQsMC00LjEsMGMtMC42LDAtMS41LDAuMi0xLjUsMnYzLjhoNS41TDM5LjksMzMuMXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K',w:0,h:0,u:'https://www.facebook.com/sharer/sharer.php?u=%u&t=%t',u_site:'https://www.marsouin.org'},
11858{a:'linkedin',n:'LinkedIn',i:'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjQgNjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDY0IDY0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzExN0JCODt9Cgkuc3Qxe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+CjxnIGlkPSJYTUxJRF8xNDMzXyI+Cgk8cmVjdCBpZD0iWE1MSURfMTQzOV8iIHk9IjAiIGNsYXNzPSJzdDAiIHdpZHRoPSI2NCIgaGVpZ2h0PSI2NCIvPgoJPGcgaWQ9IlhNTElEXzE0MzRfIj4KCQk8ZyBpZD0iWE1MSURfMTQzNl8iPgoJCQk8cmVjdCBpZD0iWE1MSURfMTQzOF8iIHg9IjE3LjUiIHk9IjI0LjciIGNsYXNzPSJzdDEiIHdpZHRoPSI2LjciIGhlaWdodD0iMjEuNCIvPgoJCQk8ZWxsaXBzZSBpZD0iWE1MSURfMTQzN18iIGNsYXNzPSJzdDEiIGN4PSIyMC45IiBjeT0iMTguMiIgcng9IjMuOCIgcnk9IjMuOCIvPgoJCTwvZz4KCQk8cGF0aCBpZD0iWE1MSURfMTQzNV8iIGNsYXNzPSJzdDEiIGQ9Ik0zNC44
11858LDM0LjljMC0yLjksMS4zLTQuNyw0LjEtNC43YzIuNiwwLDMuNiwxLjksMy42LDQuN3MwLDExLjEsMCwxMS4xaDYuNwoJCQljMCwwLDAtNy43LDAtMTMuN3MtMy4yLTguNi03LjctOC42cy02LjQsMy42LTYuNCwzLjZ2LTIuOWgtNi40djIxLjRoNi40QzM0LjgsNDYuMywzNC44LDM4LjQsMzQuOCwzNC45eiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=',w:0,h:0,u:'https://www.linkedin.com/shareArticle?mini=true&url=%u&title=%t&source=%u_site&summary=%d',u_site:'https://www.marsouin.org'}
11859];
11860var title=$('head > title').text()||'';
11861var description=($('meta[name=description]').attr('content')||'').substr(0,250);
11862var cano=$('link[rel=canonical]')[0];
11863var url=cano?cano.href:document.location.href.split("%23")[0].split("#")[0];
11864var ul=$('<ul><\/ul>');
11865var esc=function(x){return encodeURIComponent(x).replace(/\s/g,' ');};
11866var ref=document.referrer.match(/^.*\/\/([^\/]+)\//);
11867if(ref&&ref[1].match(/\.facebook\./))
11868Cookies.set('social_facebook',1,{path:'/',expires:30});
11869$.each(socialtags,function(){if(this.u){
11870if(this.a=='bookmark'&&!document.all)return;
11871$('<a rel="nofollow"><img class="socialtags-hovers" src="'+this.i+'" width="'+this.w+'" height="'+this.h+'" alt="'+this.a+'"\/><\/a>')
11872.attr('href',
11873this.u
11874.replace(/%u/g,esc(url))
11875.replace(/%t/g,esc(title))
11876.replace(/%d/g,esc(description))
11877.replace(/%u_site/g,esc(this.u_site))
11878)
11879.attr('title',this.n).wrap('<li class="'+this.a+'"><\/li>')
11880.parent().appendTo(ul);
11881}});
11882selector.after(ul.wrap('<div class="socialtags"><\/div>').parent());
11883};
11884$(function(){
11885$(socialtags_init);
11886});
11887})(jQuery);
11888
11889
11890/* plugins/auto/links/v4.1.2/links.js */
11891
11892function targetLinks(){
11893var where;
11894where="_blank";
11895jQuery("area[href*='://']").add("a[href*='://']")
11896.filter(
11897":not([href^='http:"+links_site+"/'])"
11898+":not([href^='https:"+links_site+"/'])"
11899+":not([href^='http:"+links_site+"?'])"
11900+":not([href^='https:"+links_site+"?'])"
11901+":not([href='http:"+links_site+"'])"
11902+":not([href='https:"+links_site+"'])"
11903+":not([href^='javascript:'])"
11904+":not([href^='mailto:'])"
11905)
11906.filter(":not([target='"+where+"'])")
11907.attr('target',where)
11908.attr('rel','external noopener noreferrer')
11909.addClass('external')
11910.each(function(){
11911if(jQuery(this).text()){
11912title=jQuery(this).text().trim().replace(/\r/,'').replace(/\t/,'').replace(/\n/g,'')+" "+js_nouvelle_fenetre;
11913}else{
11914title=" "+js_nouvelle_fenetre;
11915}
11916if(jQuery(this).attr("title"))title=jQuery(this).attr("title")+" "+js_nouvelle_fenetre;
11917jQuery(this).attr("title",title);
11918});
11919}
11920function targetDocs(){
11921var where;
11922where="_blank";
11923var reg=new RegExp(js_nouvelle_fenetre,"gi");
11924if(typeof links_doc!="undefined"){
11925var extensions=links_doc.split(',');
11926for(var i=0;i<extensions.length;i++){
11927jQuery("a[href$='"+extensions[i]+"']").add("area[href$='"+extensions[i]+"']")
11928.attr('target',where)
11929.attr('rel','blank')
11930.addClass('blank')
11931.addClass('spip_doc')
11932.each(function(){
11933var my_ext=extensions[i].replace('.','');
11934jQuery(this).addClass(my_ext);
11935if(jQuery(this).text()){
11936title=jQuery(this).text().trim().replace(/\r/,'').replace(/\t/,'').replace(/\n/g,'')+" "+js_nouvelle_fenetre;
11937}else{
11938title=" "+js_nouvelle_fenetre;
11939}
11940if((jQuery(this).attr("title"))&&(jQuery(this).attr("title").match(reg)==false)){
11941title=jQuery(this).attr("title")+" "+js_nouvelle_fenetre;
11942}
11943jQuery(this).attr("title",title);
11944});
11945}
11946}
11947}
11948if(window.jQuery)
11949(function($){
11950if(typeof onAjaxLoad=="function")onAjaxLoad(targetLinks);
11951if(typeof links_site!="undefined"){$(document).ready(targetLinks);}
11952if(typeof links_doc!="undefined"){$(document).ready(targetDocs);}
11953})(jQuery);
11954
11955

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.