-
Notifications
You must be signed in to change notification settings - Fork 0
/
larva_2_1.php
4657 lines (4233 loc) · 262 KB
/
larva_2_1.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?php if (isset($_GET['terminal'])) { $NO_LOGIN = true;
$USER = '';
$PASSWORD = '';
$ACCOUNTS = array();
$PASSWORD_HASH_ALGORITHM = '';
$HOME_DIRECTORY = '';
?>
<?php class BaseJsonRpcServer { const ParseError = -32700, InvalidRequest = -32600, MethodNotFound = -32601, InvalidParams = -32602, InternalError = -32603;
protected $instances = array();
protected $request;
protected $calls = array();
protected $response = array();
protected $hasCalls = false;
private $isBatchCall = false;
protected $hiddenMethods = array( 'execute', '__construct', 'registerinstance' );
public $ContentType = 'application/json';
public $IsXDR = true;
public $MaxBatchCalls = 10;
protected $errorMessages = array( self::ParseError => 'Parse error', self::InvalidRequest => 'Invalid Request', self::MethodNotFound => 'Method not found', self::InvalidParams => 'Invalid params', self::InternalError => 'Internal error', );
private $reflectionMethods = array();
private function getRequest() { $error = null;
do { if ( array_key_exists( 'REQUEST_METHOD', $_SERVER ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) { $error = self::InvalidRequest;
break;
};
$request = !empty( $_GET['rawRequest'] ) ? $_GET['rawRequest'] : file_get_contents( 'php://input' );
$this->request = json_decode( $request, false );
if ( $this->request === null ) { $error = self::ParseError;
break;
} if ( $this->request === array() ) { $error = self::InvalidRequest;
break;
} if ( is_array( $this->request ) ) { if( count( $this->request ) > $this->MaxBatchCalls ) { $error = self::InvalidRequest;
break;
} $this->calls = $this->request;
$this->isBatchCall = true;
} else { $this->calls[] = $this->request;
} } while ( false );
return $error;
} private function getError( $code, $id = null, $data = null ) { return array( 'jsonrpc' => '2.0', 'id' => $id, 'error' => array( 'code' => $code, 'message' => isset( $this->errorMessages[$code] ) ? $this->errorMessages[$code] : $this->errorMessages[self::InternalError], 'data' => $data, ), );
} private function validateCall( $call ) { $result = null;
$error = null;
$data = null;
$id = is_object( $call ) && property_exists( $call, 'id' ) ? $call->id : null;
do { if ( !is_object( $call ) ) { $error = self::InvalidRequest;
break;
} if ( property_exists( $call, 'version' ) ) { if ( $call->version == 'json-rpc-2.0' ) { $call->jsonrpc = '2.0';
} } if ( !property_exists( $call, 'jsonrpc' ) || $call->jsonrpc != '2.0' ) { $error = self::InvalidRequest;
break;
} $fullMethod = property_exists( $call, 'method' ) ? $call->method : '';
$methodInfo = explode( '.', $fullMethod, 2 );
$namespace = array_key_exists( 1, $methodInfo ) ? $methodInfo[0] : '';
$method = $namespace ? $methodInfo[1] : $fullMethod;
if ( !$method || !array_key_exists( $namespace, $this->instances ) || !method_exists( $this->instances[$namespace], $method ) || in_array( strtolower( $method ), $this->hiddenMethods ) ) { $error = self::MethodNotFound;
break;
} if ( !array_key_exists( $fullMethod, $this->reflectionMethods ) ) { $this->reflectionMethods[$fullMethod] = new ReflectionMethod( $this->instances[$namespace], $method );
} $params = property_exists( $call, 'params' ) ? $call->params : null;
$paramsType = gettype( $params );
if ( $params !== null && $paramsType != 'array' && $paramsType != 'object' ) { $error = self::InvalidParams;
break;
} switch ( $paramsType ) { case 'array': $totalRequired = 0;
foreach ( $this->reflectionMethods[$fullMethod]->getParameters() as $param ) { if ( !$param->isDefaultValueAvailable() ) { $totalRequired++;
} } if ( count( $params ) < $totalRequired ) { $error = self::InvalidParams;
$data = sprintf( 'Check numbers of required params (got %d, expected %d)', count( $params ), $totalRequired );
} break;
case 'object': foreach ( $this->reflectionMethods[$fullMethod]->getParameters() as $param ) { if ( !$param->isDefaultValueAvailable() && !array_key_exists( $param->getName(), $params ) ) { $error = self::InvalidParams;
$data = $param->getName() . ' not found';
break 3;
} } break;
case 'NULL': if ( $this->reflectionMethods[$fullMethod]->getNumberOfRequiredParameters() > 0 ) { $error = self::InvalidParams;
$data = 'Empty required params';
break 2;
} break;
} } while ( false );
if ( $error ) { $result = array( $error, $id, $data );
} return $result;
} private function processCall( $call ) { $id = property_exists( $call, 'id' ) ? $call->id : null;
$params = property_exists( $call, 'params' ) ? $call->params : array();
$result = null;
$namespace = substr( $call->method, 0, strpos( $call->method, '.' ) );
try { if ( is_object( $params ) ) { $newParams = array();
foreach ( $this->reflectionMethods[$call->method]->getParameters() as $param ) { $paramName = $param->getName();
$defaultValue = $param->isDefaultValueAvailable() ? $param->getDefaultValue() : null;
$newParams[] = property_exists( $params, $paramName ) ? $params->$paramName : $defaultValue;
} $params = $newParams;
} $result = $this->reflectionMethods[$call->method]->invokeArgs( $this->instances[$namespace], $params );
} catch ( Exception $e ) { return $this->getError( $e->getCode(), $id, $e->getMessage() );
} if ( !$id && $id !== 0 ) { return null;
} return array( 'jsonrpc' => '2.0', 'result' => $result, 'id' => $id, );
} public function __construct( $instance = null ) { if ( get_parent_class( $this ) ) { $this->RegisterInstance( $this, '' );
} else if ( $instance ) { $this->RegisterInstance( $instance, '' );
} } public function RegisterInstance( $instance, $namespace = '' ) { $this->instances[$namespace] = $instance;
$this->instances[$namespace]->errorMessages = $this->errorMessages;
return $this;
} public function Execute() { do { if ( array_key_exists( 'smd', $_GET ) ) { $this->response[] = $this->getServiceMap();
$this->hasCalls = true;
break;
} $error = $this->getRequest();
if ( $error ) { $this->response[] = $this->getError( $error );
$this->hasCalls = true;
break;
} foreach ( $this->calls as $call ) { $error = $this->validateCall( $call );
if ( $error ) { $this->response[] = $this->getError( $error[0], $error[1], $error[2] );
$this->hasCalls = true;
} else { $result = $this->processCall( $call );
if ( $result ) { $this->response[] = $result;
$this->hasCalls = true;
} } } } while ( false );
if ( $this->hasCalls ) { if ( !$this->isBatchCall ) { $this->response = reset( $this->response );
} if ( !headers_sent() ) { if ( $this->ContentType ) { header( 'Content-Type: ' . $this->ContentType );
} if ( $this->IsXDR ) { header( 'Access-Control-Allow-Origin: *' );
header( 'Access-Control-Allow-Headers: x-requested-with, content-type' );
} } echo json_encode( $this->response );
$this->resetVars();
} } private function getDocDescription( $comment ) { $result = null;
if ( preg_match( '/\*\s+([^@]*)\s+/s', $comment, $matches ) ) { $result = str_replace( '*', "\n", trim( trim( $matches[1], '*' ) ) );
} return $result;
} private function getServiceMap() { $result = array( 'transport' => 'POST', 'envelope' => 'JSON-RPC-2.0', 'SMDVersion' => '2.0', 'contentType' => 'application/json', 'target' => !empty( $_SERVER['REQUEST_URI'] ) ? substr( $_SERVER['REQUEST_URI'], 0, strpos( $_SERVER['REQUEST_URI'], '?' ) ) : '', 'services' => array(), 'description' => '', );
foreach( $this->instances as $namespace => $instance ) { $rc = new ReflectionClass( $instance);
if ( $rcDocComment = $this->getDocDescription( $rc->getDocComment() ) ) { $result['description'] .= $rcDocComment . PHP_EOL;
} foreach ( $rc->getMethods() as $method ) { if ( !$method->isPublic() || in_array( strtolower( $method->getName() ), $this->hiddenMethods ) ) { continue;
} $methodName = ( $namespace ? $namespace . '.' : '' ) . $method->getName();
$docComment = $method->getDocComment();
$result['services'][$methodName] = array( 'parameters' => array() );
if ( $rmDocComment = $this->getDocDescription( $docComment ) ) { $result['services'][$methodName]['description'] = $rmDocComment;
} $parsedParams = array();
if ( preg_match_all( '/@param\s+([^\s]*)\s+([^\s]*)\s*([^\n\*]*)/', $docComment, $matches ) ) { foreach ( $matches[2] as $number => $name ) { $type = $matches[1][$number];
$desc = $matches[3][$number];
$name = trim( $name, '$' );
$param = array( 'type' => $type, 'description' => $desc );
$parsedParams[$name] = array_filter( $param );
} };
foreach ( $method->getParameters() as $parameter ) { $name = $parameter->getName();
$param = array( 'name' => $name, 'optional' => $parameter->isDefaultValueAvailable() );
if ( array_key_exists( $name, $parsedParams ) ) { $param += $parsedParams[$name];
} if ( $param['optional'] ) { $param['default'] = $parameter->getDefaultValue();
} $result['services'][$methodName]['parameters'][] = $param;
} if ( preg_match( '/@return\s+([^\s]+)\s*([^\n\*]+)/', $docComment, $matches ) ) { $returns = array( 'type' => $matches[1], 'description' => trim( $matches[2] ) );
$result['services'][$methodName]['returns'] = array_filter( $returns );
} } } return $result;
} private function resetVars() { $this->response = $this->calls = array();
$this->hasCalls = $this->isBatchCall = false;
} }
?>
<?php if (!isset($NO_LOGIN)) $NO_LOGIN = false;
if (!isset($ACCOUNTS)) $ACCOUNTS = array();
if (isset($USER) && isset($PASSWORD) && $USER && $PASSWORD) $ACCOUNTS[$USER] = $PASSWORD;
if (!isset($PASSWORD_HASH_ALGORITHM)) $PASSWORD_HASH_ALGORITHM = '';
if (!isset($HOME_DIRECTORY)) $HOME_DIRECTORY = '';
$IS_CONFIGURED = ($NO_LOGIN || count($ACCOUNTS) >= 1) ? true : false;
function is_empty_string($string) { return strlen($string) <= 0;
} function is_equal_strings($string1, $string2) { return strcmp($string1, $string2) == 0;
} function get_hash($algorithm, $string) { return hash($algorithm, trim((string) $string));
} function execute_command($command) { $descriptors = array( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w') );
$process = proc_open($command . ' 2>&1', $descriptors, $pipes);
if (!is_resource($process)) die("Can't execute command.");
fclose($pipes[0]);
$output = stream_get_contents($pipes[1]);
fclose($pipes[1]);
$error = stream_get_contents($pipes[2]);
fclose($pipes[2]);
$code = proc_close($process);
return $output;
} function parse_command($command) { $value = ltrim((string) $command);
if (!is_empty_string($value)) { $values = explode(' ', $value);
$values_total = count($values);
if ($values_total > 1) { $value = $values[$values_total - 1];
for ($index = $values_total - 2;
$index >= 0;
$index--) { $value_item = $values[$index];
if (substr($value_item, -1) == '\\') $value = $value_item . ' ' . $value;
else break;
} } } return $value;
} class WebConsoleRPCServer extends BaseJsonRpcServer { protected $home_directory = '';
private function error($message) { throw new Exception($message);
} private function authenticate_user($user, $password) { $user = trim((string) $user);
$password = trim((string) $password);
if ($user && $password) { global $ACCOUNTS, $PASSWORD_HASH_ALGORITHM;
if (isset($ACCOUNTS[$user]) && !is_empty_string($ACCOUNTS[$user])) { if ($PASSWORD_HASH_ALGORITHM) $password = get_hash($PASSWORD_HASH_ALGORITHM, $password);
if (is_equal_strings($password, $ACCOUNTS[$user])) return $user . ':' . get_hash('sha256', $password);
} } throw new Exception("Incorrect user or password");
} private function authenticate_token($token) { global $NO_LOGIN;
if ($NO_LOGIN) return true;
$token = trim((string) $token);
$token_parts = explode(':', $token, 2);
if (count($token_parts) == 2) { $user = trim((string) $token_parts[0]);
$password_hash = trim((string) $token_parts[1]);
if ($user && $password_hash) { global $ACCOUNTS;
if (isset($ACCOUNTS[$user]) && !is_empty_string($ACCOUNTS[$user])) { $real_password_hash = get_hash('sha256', $ACCOUNTS[$user]);
if (is_equal_strings($password_hash, $real_password_hash)) return $user;
} } } throw new Exception("Incorrect user or password");
} private function get_home_directory($user) { global $HOME_DIRECTORY;
if (is_string($HOME_DIRECTORY)) { if (!is_empty_string($HOME_DIRECTORY)) return $HOME_DIRECTORY;
} else if (is_string($user) && !is_empty_string($user) && isset($HOME_DIRECTORY[$user]) && !is_empty_string($HOME_DIRECTORY[$user])) return $HOME_DIRECTORY[$user];
return getcwd();
} private function get_environment() { $hostname = function_exists('gethostname') ? gethostname() : null;
return array('path' => getcwd(), 'hostname' => $hostname);
} private function set_environment($environment) { $environment = !empty($environment) ? (array) $environment : array();
$path = (isset($environment['path']) && !is_empty_string($environment['path'])) ? $environment['path'] : $this->home_directory;
if (!is_empty_string($path)) { if (is_dir($path)) { if (!@chdir($path)) return array('output' => "Unable to change directory to current working directory, updating current directory", 'environment' => $this->get_environment());
} else return array('output' => "Current working directory not found, updating current directory", 'environment' => $this->get_environment());
} } private function initialize($token, $environment) { $user = $this->authenticate_token($token);
$this->home_directory = $this->get_home_directory($user);
$result = $this->set_environment($environment);
if ($result) return $result;
} public function login($user, $password) { $result = array('token' => $this->authenticate_user($user, $password), 'environment' => $this->get_environment());
$home_directory = $this->get_home_directory($user);
if (!is_empty_string($home_directory)) { if (is_dir($home_directory)) $result['environment']['path'] = $home_directory;
else $result['output'] = "Home directory not found: ". $home_directory;
} return $result;
} public function cd($token, $environment, $path) { $result = $this->initialize($token, $environment);
if ($result) return $result;
$path = trim((string) $path);
if (is_empty_string($path)) $path = $this->home_directory;
if (!is_empty_string($path)) { if (is_dir($path)) { if (!@chdir($path)) return array('output' => "cd: ". $path . ": Unable to change directory");
} else return array('output' => "cd: ". $path . ": No such directory");
} return array('environment' => $this->get_environment());
} public function completion($token, $environment, $pattern, $command) { $result = $this->initialize($token, $environment);
if ($result) return $result;
$scan_path = '';
$completion_prefix = '';
$completion = array();
if (!empty($pattern)) { if (!is_dir($pattern)) { $pattern = dirname($pattern);
if ($pattern == '.') $pattern = '';
} if (!empty($pattern)) { if (is_dir($pattern)) { $scan_path = $completion_prefix = $pattern;
if (substr($completion_prefix, -1) != '/') $completion_prefix .= '/';
} } else $scan_path = getcwd();
} else $scan_path = getcwd();
if (!empty($scan_path)) { $completion = array_values(array_diff(scandir($scan_path), array('..', '.')));
natsort($completion);
if (!empty($completion_prefix) && !empty($completion)) { foreach ($completion as &$value) $value = $completion_prefix . $value;
} if (!empty($pattern) && !empty($completion)) { function filter_pattern($value) { global $pattern;
return !strncmp($pattern, $value, strlen($pattern));
} $completion = array_values(array_filter($completion, 'filter_pattern'));
} } return array('completion' => $completion);
} public function run($token, $environment, $command) { $result = $this->initialize($token, $environment);
if ($result) return $result;
$output = ($command && !is_empty_string($command)) ? execute_command($command) : '';
if ($output && substr($output, -1) == "\n") $output = substr($output, 0, -1);
return array('output' => $output);
} } if (array_key_exists('REQUEST_METHOD', $_SERVER) && $_SERVER['REQUEST_METHOD'] == 'POST') { $rpc_server = new WebConsoleRPCServer();
$rpc_server->Execute();
} else {
?>
<!DOCTYPE html>
<html class="no-js">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Terminal</title>
<link rel="icon" href="http://www.omgubuntu.co.uk/wp-content/uploads/2016/09/terminal-icon.png" type="image/png">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="none" />
<style type="text/css">html{font-family:sans-serif;
line-height:1.15;
-ms-text-size-adjust:100%;
-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;
margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;
height:0;
overflow:visible}pre{font-family:monospace,monospace;
font-size:1em}a{background-color:transparent;
-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:0;
text-decoration:underline;
text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;
font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;
color:#000}small{font-size:80%}sub,sup{font-size:75%;
line-height:0;
position:relative;
vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;
height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;
font-size:100%;
line-height:1.15;
margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;
padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;
margin:0 2px;
padding:.35em .625em .75em}legend{box-sizing:border-box;
color:inherit;
display:table;
max-width:100%;
padding:0;
white-space:normal}progress{display:inline-block;
vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;
padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;
outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;
font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}.cmd .format,.cmd .prompt,.cmd .prompt div,.terminal .terminal-output .format,.terminal .terminal-output div div{display:inline-block}.cmd,.terminal h1,.terminal h2,.terminal h3,.terminal h4,.terminal h5,.terminal h6,.terminal pre{margin:0}.terminal h1,.terminal h2,.terminal h3,.terminal h4,.terminal h5,.terminal h6{line-height:1.2em}.cmd .clipboard{position:absolute;
left:-16px;
top:0;
width:10px;
height:16px;
background:0 0;
border:0;
color:transparent;
outline:0;
padding:0;
resize:none;
z-index:0;
overflow:hidden}.terminal .error{color:red}.terminal{padding:10px;
position:relative;
overflow:auto}.cmd{padding:0;
height:1.3em;
position:relative}.cmd .cursor.blink,.cmd .inverted,.terminal .inverted{background-color:#aaa;
color:#000}.cmd .cursor.blink{-webkit-animation:terminal-blink 1s infinite steps(1,start);
-moz-animation:terminal-blink 1s infinite steps(1,start);
-ms-animation:terminal-blink 1s infinite steps(1,start);
animation:terminal-blink 1s infinite steps(1,start)}@-webkit-keyframes terminal-blink{0%,100%{background-color:#000;
color:#aaa}50%{background-color:#bbb;
color:#000}}@-ms-keyframes terminal-blink{0%,100%{background-color:#000;
color:#aaa}50%{background-color:#bbb;
color:#000}}@-moz-keyframes terminal-blink{0%,100%{background-color:#000;
color:#aaa}50%{background-color:#bbb;
color:#000}}@keyframes terminal-blink{0%,100%{background-color:#000;
color:#aaa}50%{background-color:#bbb;
color:#000}}.cmd .prompt,.terminal .terminal-output div div{display:block;
line-height:14px;
height:auto}.cmd .prompt{float:left}.cmd,.terminal{background-color:#000}.terminal-output>div{min-height:14px}.terminal-output>div>div *{word-wrap:break-word}.terminal .terminal-output div span{display:inline-block}.cmd span{float:left}.cmd div,.cmd span,.terminal h1,.terminal h2,.terminal h3,.terminal h4,.terminal h5,.terminal h6,.terminal pre,.terminal td,.terminal-output a,.terminal-output span{-webkit-touch-callout:initial;
-webkit-user-select:initial;
-khtml-user-select:initial;
-moz-user-select:initial;
-ms-user-select:initial;
user-select:initial}.terminal,.terminal-output,.terminal-output div{-webkit-touch-callout:none;
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none}@-moz-document url-prefix(){.terminal,.terminal-output,.terminal-output div{-webkit-touch-callout:initial;
-webkit-user-select:initial;
-khtml-user-select:initial;
-moz-user-select:initial;
-ms-user-select:initial;
user-select:initial}}.terminal table{border-collapse:collapse}.terminal td{border:1px solid #aaa}.cmd .prompt span::-moz-selection,.cmd div::-moz-selection,.cmd>span::-moz-selection,.terminal .terminal-output div div a::-moz-selection,.terminal .terminal-output div div::-moz-selection,.terminal .terminal-output div span::-moz-selection,.terminal h1::-moz-selection,.terminal h2::-moz-selection,.terminal h3::-moz-selection,.terminal h4::-moz-selection,.terminal h5::-moz-selection,.terminal h6::-moz-selection,.terminal pre::-moz-selection,.terminal td::-moz-selection{background-color:#aaa;
color:#000}.cmd .prompt span::selection,.cmd div::selection,.cmd>span::selection,.terminal .terminal-output div div a::selection,.terminal .terminal-output div div::selection,.terminal .terminal-output div span::selection,.terminal h1::selection,.terminal h2::selection,.terminal h3::selection,.terminal h4::selection,.terminal h5::selection,.terminal h6::selection,.terminal pre::selection,.terminal td::selection{background-color:#aaa;
color:#000}.terminal .terminal-output div.error,.terminal .terminal-output div.error div{color:red}.tilda{position:fixed;
top:0;
left:0;
width:100%;
z-index:1100}.clear{clear:both}body{background-color:#000}.cmd,.terminal,.terminal .prompt,.terminal .terminal-output div div,body{color:#ccc;
font-family:monospace,fixed;
font-size:15px;
line-height:18px}.terminal a,.terminal a:hover,a,a:hover{color:#6c71c4}.spaced{margin:15px 0}.spaced-top{margin:15px 0 0}.spaced-bottom{margin:0 0 15px}.configure{margin:20px}.configure .variable{color:#d33682}.configure p,.configure ul{margin:5px 0 0}</style>
<script type="text/javascript">!function(a,b){function c(a){return K.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}function d(a){if(!tb[a]){var b=H.body,c=K("<"+a+">").appendTo(b),d=c.css("display");
c.remove(),("none"===d||""===d)&&(pb||(pb=H.createElement("iframe"),pb.frameBorder=pb.width=pb.height=0),b.appendChild(pb),qb&&pb.createElement||(qb=(pb.contentWindow||pb.contentDocument).document,qb.write(("CSS1Compat"===H.compatMode?"<!doctype html>":"")+"<html><body>"),qb.close()),c=qb.createElement(a),qb.body.appendChild(c),d=K.css(c,"display"),b.removeChild(pb)),tb[a]=d}return tb[a]}function e(a,b){var c={};
return K.each(wb.concat.apply([],wb.slice(0,b)),function(){c[this]=a}),c}function f(){sb=b}function g(){return setTimeout(f,0),sb=K.now()}function h(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function i(){try{return new a.XMLHttpRequest}catch(b){}}function j(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));
var d,e,f,g,h,i,j,k,l=a.dataTypes,m={},n=l.length,o=l[0];
for(d=1;
n>d;
d++){if(1===d)for(e in a.converters)"string"==typeof e&&(m[e.toLowerCase()]=a.converters[e]);
if(g=o,o=l[d],"*"===o)o=g;
else if("*"!==g&&g!==o){if(h=g+" "+o,i=m[h]||m["* "+o],!i){k=b;
for(j in m)if(f=j.split(" "),(f[0]===g||"*"===f[0])&&(k=m[f[1]+" "+o])){j=m[j],j===!0?i=k:k===!0&&(i=j);
break}}!i&&!k&&K.error("No conversion from "+h.replace(" "," to ")),i!==!0&&(c=i?i(c):k(j(c)))}}return c}function k(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;
for(f in k)f in d&&(c[k[f]]=d[f]);
for(;
"*"===j[0];
)j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));
if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);
break}if(j[0]in d)g=j[0];
else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;
break}h||(h=f)}g=g||h}return g?(g!==j[0]&&j.unshift(g),d[g]):void 0}function l(a,b,c,d){if(K.isArray(b))K.each(b,function(b,e){c||Ta.test(a)?d(a,e):l(a+"["+("object"==typeof e||K.isArray(e)?b:"")+"]",e,c,d)});
else if(c||null==b||"object"!=typeof b)d(a,b);
else for(var e in b)l(a+"["+e+"]",b[e],c,d)}function m(a,c){var d,e,f=K.ajaxSettings.flatOptions||{};
for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);
e&&K.extend(!0,a,e)}function n(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;
for(var h,i=a[f],j=0,k=i?i.length:0,l=a===gb;
k>j&&(l||!h);
j++)h=i[j](c,d,e),"string"==typeof h&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=n(a,c,d,e,h,g)));
return(l||!h)&&!g["*"]&&(h=n(a,c,d,e,"*",g)),h}function o(a){return function(b,c){if("string"!=typeof b&&(c=b,b="*"),K.isFunction(c))for(var d,e,f,g=b.toLowerCase().split(cb),h=0,i=g.length;
i>h;
h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function p(a,b,c){var d="width"===b?a.offsetWidth:a.offsetHeight,e="width"===b?Oa:Pa,f=0,g=e.length;
if(d>0){if("border"!==c)for(;
g>f;
f++)c||(d-=parseFloat(K.css(a,"padding"+e[f]))||0),"margin"===c?d+=parseFloat(K.css(a,c+e[f]))||0:d-=parseFloat(K.css(a,"border"+e[f]+"Width"))||0;
return d+"px"}if(d=Ea(a,b,b),(0>d||null==d)&&(d=a.style[b]||0),d=parseFloat(d)||0,c)for(;
g>f;
f++)d+=parseFloat(K.css(a,"padding"+e[f]))||0,"padding"!==c&&(d+=parseFloat(K.css(a,"border"+e[f]+"Width"))||0),"margin"===c&&(d+=parseFloat(K.css(a,c+e[f]))||0);
return d+"px"}function q(a,b){b.src?K.ajax({url:b.src,async:!1,dataType:"script"}):K.globalEval((b.text||b.textContent||b.innerHTML||"").replace(Ba,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function r(a){var b=H.createElement("div");
return Da.appendChild(b),b.innerHTML=a.outerHTML,b.firstChild}function s(a){var b=(a.nodeName||"").toLowerCase();
"input"===b?t(a):"script"!==b&&"undefined"!=typeof a.getElementsByTagName&&K.grep(a.getElementsByTagName("input"),t)}function t(a){("checkbox"===a.type||"radio"===a.type)&&(a.defaultChecked=a.checked)}function u(a){return"undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName("*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll("*"):[]}function v(a,b){var c;
1===b.nodeType&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),"object"===c?b.outerHTML=a.outerHTML:"input"!==c||"checkbox"!==a.type&&"radio"!==a.type?"option"===c?b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(K.expando))}function w(a,b){if(1===b.nodeType&&K.hasData(a)){var c,d,e,f=K._data(a),g=K._data(b,f),h=f.events;
if(h){delete g.handle,g.events={};
for(c in h)for(d=0,e=h[c].length;
e>d;
d++)K.event.add(b,c+(h[c][d].namespace?".":"")+h[c][d].namespace,h[c][d],h[c][d].data)}g.data&&(g.data=K.extend({},g.data))}}function x(a,b){return K.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function y(a){var b=pa.split("|"),c=a.createDocumentFragment();
if(c.createElement)for(;
b.length;
)c.createElement(b.pop());
return c}function z(a,b,c){if(b=b||0,K.isFunction(b))return K.grep(a,function(a,d){var e=!!b.call(a,d,a);
return e===c});
if(b.nodeType)return K.grep(a,function(a,d){return a===b===c});
if("string"==typeof b){var d=K.grep(a,function(a){return 1===a.nodeType});
if(la.test(b))return K.filter(b,d,!c);
b=K.filter(b,d)}return K.grep(a,function(a,d){return K.inArray(a,b)>=0===c})}function A(a){return!a||!a.parentNode||11===a.parentNode.nodeType}function B(){return!0}function C(){return!1}function D(a,b,c){var d=b+"defer",e=b+"queue",f=b+"mark",g=K._data(a,d);
g&&("queue"===c||!K._data(a,e))&&("mark"===c||!K._data(a,f))&&setTimeout(function(){!K._data(a,e)&&!K._data(a,f)&&(K.removeData(a,d,!0),g.fire())},0)}function E(a){for(var b in a)if(("data"!==b||!K.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
return!0}function F(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(O,"-$1").toLowerCase();
if(d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:K.isNumeric(d)?parseFloat(d):N.test(d)?K.parseJSON(d):d}catch(f){}K.data(a,c,d)}else d=b}return d}function G(a){var b,c,d=L[a]={};
for(a=a.split(/\s+/),b=0,c=a.length;
c>b;
b++)d[a[b]]=!0;
return d}var H=a.document,I=a.navigator,J=a.location,K=function(){function c(){if(!h.isReady){try{H.documentElement.doScroll("left")}catch(a){return void setTimeout(c,1)}h.ready()}}var d,e,f,g,h=function(a,b){return new h.fn.init(a,b,d)},i=a.jQuery,j=a.$,k=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,l=/\S/,m=/^\s+/,n=/\s+$/,o=/^<(\w+)\s*\/
?>(?:<\/\1>)?$/,p=/^[\],:{}\s]*$/,q=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,r=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,s=/(?:^|:|,)(?:\s*\[)+/g,t=/(webkit)[ \/]([\w.]+)/,u=/(opera)(?:.*version)?[ \/]([\w.]+)/,v=/(msie) ([\w.]+)/,w=/(mozilla)(?:.*? rv:([\w.]+))?/,x=/-([a-z]|[0-9])/gi,y=/^-ms-/,z=function(a,b){return(b+"").toUpperCase()},A=I.userAgent,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,J={};
return h.fn=h.prototype={constructor:h,init:function(a,c,d){var e,f,g,i;
if(!a)return this;
if(a.nodeType)return this.context=this[0]=a,this.length=1,this;
if("body"===a&&!c&&H.body)return this.context=H,this[0]=H.body,this.selector=a,this.length=1,this;
if("string"==typeof a){if(e="<"!==a.charAt(0)||">"!==a.charAt(a.length-1)||a.length<3?k.exec(a):[null,a,null],e&&(e[1]||!c)){if(e[1])return c=c instanceof h?c[0]:c,i=c?c.ownerDocument||c:H,g=o.exec(a),g?h.isPlainObject(c)?(a=[H.createElement(g[1])],h.fn.attr.call(a,c,!0)):a=[i.createElement(g[1])]:(g=h.buildFragment([e[1]],[i]),a=(g.cacheable?h.clone(g.fragment):g.fragment).childNodes),h.merge(this,a);
if(f=H.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return d.find(a);
this.length=1,this[0]=f}return this.context=H,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return h.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),h.makeArray(a,this))},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();
return h.isArray(a)?D.apply(d,a):h.merge(d,a),d.prevObject=this,d.context=this.context,"find"===b?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return h.each(this,a,b)},ready:function(a){return h.bindReady(),f.add(a),this},eq:function(a){return a=+a,-1===a?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(h.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},h.fn.init.prototype=h.fn,h.extend=h.fn.extend=function(){var a,c,d,e,f,g,i=arguments[0]||{},j=1,k=arguments.length,l=!1;
for("boolean"==typeof i&&(l=i,i=arguments[1]||{},j=2),"object"!=typeof i&&!h.isFunction(i)&&(i={}),k===j&&(i=this,--j);
k>j;
j++)if(null!=(a=arguments[j]))for(c in a)d=i[c],e=a[c],i!==e&&(l&&e&&(h.isPlainObject(e)||(f=h.isArray(e)))?(f?(f=!1,g=d&&h.isArray(d)?d:[]):g=d&&h.isPlainObject(d)?d:{},i[c]=h.extend(l,g,e)):e!==b&&(i[c]=e));
return i},h.extend({noConflict:function(b){return a.$===h&&(a.$=j),b&&a.jQuery===h&&(a.jQuery=i),h},isReady:!1,readyWait:1,holdReady:function(a){a?h.readyWait++:h.ready(!0)},ready:function(a){if(a===!0&&!--h.readyWait||a!==!0&&!h.isReady){if(!H.body)return setTimeout(h.ready,1);
if(h.isReady=!0,a!==!0&&--h.readyWait>0)return;
f.fireWith(H,[h]),h.fn.trigger&&h(H).trigger("ready").off("ready")}},bindReady:function(){if(!f){if(f=h.Callbacks("once memory"),"complete"===H.readyState)return setTimeout(h.ready,1);
if(H.addEventListener)H.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",h.ready,!1);
else if(H.attachEvent){H.attachEvent("onreadystatechange",g),a.attachEvent("onload",h.ready);
var b=!1;
try{b=null==a.frameElement}catch(d){}H.documentElement.doScroll&&b&&c()}}},isFunction:function(a){return"function"===h.type(a)},isArray:Array.isArray||function(a){return"array"===h.type(a)},isWindow:function(a){return a&&"object"==typeof a&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return null==a?String(a):J[B.call(a)]||"object"},isPlainObject:function(a){if(!a||"object"!==h.type(a)||a.nodeType||h.isWindow(a))return!1;
try{if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;
for(d in a);
return d===b||C.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;
return!0},error:function(a){throw new Error(a)},parseJSON:function(b){return"string"==typeof b&&b?(b=h.trim(b),a.JSON&&a.JSON.parse?a.JSON.parse(b):p.test(b.replace(q,"@").replace(r,"]").replace(s,""))?new Function("return "+b)():void h.error("Invalid JSON: "+b)):null},parseXML:function(c){var d,e;
try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&h.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&l.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(y,"ms-").replace(x,z)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var e,f=0,g=a.length,i=g===b||h.isFunction(a);
if(d)if(i){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;
g>f&&c.apply(a[f++],d)!==!1;
);
else if(i){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;
g>f&&c.call(a[f],f,a[f++])!==!1;
);
return a},trim:F?function(a){return null==a?"":F.call(a)}:function(a){return null==a?"":(a+"").replace(m,"").replace(n,"")},makeArray:function(a,b){var c=b||[];
if(null!=a){var d=h.type(a);
null==a.length||"string"===d||"function"===d||"regexp"===d||h.isWindow(a)?D.call(c,a):h.merge(c,a)}return c},inArray:function(a,b,c){var d;
if(b){if(G)return G.call(b,a,c);
for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;
d>c;
c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;
if("number"==typeof c.length)for(var f=c.length;
f>e;
e++)a[d++]=c[e];
else for(;
c[e]!==b;
)a[d++]=c[e++];
return a.length=d,a},grep:function(a,b,c){var d,e=[];
c=!!c;
for(var f=0,g=a.length;
g>f;
f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);
return e},map:function(a,c,d){var e,f,g=[],i=0,j=a.length,k=a instanceof h||j!==b&&"number"==typeof j&&(j>0&&a[0]&&a[j-1]||0===j||h.isArray(a));
if(k)for(;
j>i;
i++)e=c(a[i],i,d),null!=e&&(g[g.length]=e);
else for(f in a)e=c(a[f],f,d),null!=e&&(g[g.length]=e);
return g.concat.apply([],g)},guid:1,proxy:function(a,c){if("string"==typeof c){var d=a[c];
c=a,a=d}if(!h.isFunction(a))return b;
var e=E.call(arguments,2),f=function(){return a.apply(c,e.concat(E.call(arguments)))};
return f.guid=a.guid=a.guid||f.guid||h.guid++,f},access:function(a,c,d,e,f,g){var i=a.length;
if("object"==typeof c){for(var j in c)h.access(a,j,c[j],e,f,d);
return a}if(d!==b){e=!g&&e&&h.isFunction(d);
for(var k=0;
i>k;
k++)f(a[k],c,e?d.call(a[k],k,f(a[k],c)):d,g);
return a}return i?f(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();
var b=t.exec(a)||u.exec(a)||v.exec(a)||a.indexOf("compatible")<0&&w.exec(a)||[];
return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}h.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(c,d){return d&&d instanceof h&&!(d instanceof a)&&(d=a(d)),h.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;
var b=a(H);
return a},browser:{}}),h.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),e=h.uaMatch(A),e.browser&&(h.browser[e.browser]=!0,h.browser.version=e.version),h.browser.webkit&&(h.browser.safari=!0),l.test(" ")&&(m=/^[\s\xA0]+/,n=/[\s\xA0]+$/),d=h(H),H.addEventListener?g=function(){H.removeEventListener("DOMContentLoaded",g,!1),h.ready()}:H.attachEvent&&(g=function(){"complete"===H.readyState&&(H.detachEvent("onreadystatechange",g),h.ready())}),h}(),L={};
K.Callbacks=function(a){a=a?L[a]||G(a):{};
var c,d,e,f,g,h=[],i=[],j=function(b){var c,d,e,f;
for(c=0,d=b.length;
d>c;
c++)e=b[c],f=K.type(e),"array"===f?j(e):"function"===f&&(!a.unique||!l.has(e))&&h.push(e)},k=function(b,j){for(j=j||[],c=!a.memory||[b,j],d=!0,g=e||0,e=0,f=h.length;
h&&f>g;
g++)if(h[g].apply(b,j)===!1&&a.stopOnFalse){c=!0;
break}d=!1,h&&(a.once?c===!0?l.disable():h=[]:i&&i.length&&(c=i.shift(),l.fireWith(c[0],c[1])))},l={add:function(){if(h){var a=h.length;
j(arguments),d?f=h.length:c&&c!==!0&&(e=a,k(c[0],c[1]))}return this},remove:function(){if(h)for(var b=arguments,c=0,e=b.length;
e>c;
c++)for(var i=0;
i<h.length&&(b[c]!==h[i]||(d&&f>=i&&(f--,g>=i&&g--),h.splice(i--,1),!a.unique));
i++);
return this},has:function(a){if(h)for(var b=0,c=h.length;
c>b;
b++)if(a===h[b])return!0;
return!1},empty:function(){return h=[],this},disable:function(){return h=i=c=b,this},disabled:function(){return!h},lock:function(){return i=b,(!c||c===!0)&&l.disable(),this},locked:function(){return!i},fireWith:function(b,e){return i&&(d?a.once||i.push([b,e]):(!a.once||!c)&&k(b,e)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!c}};
return l};
var M=[].slice;
K.extend({Deferred:function(a){var b,c=K.Callbacks("once memory"),d=K.Callbacks("once memory"),e=K.Callbacks("memory"),f="pending",g={resolve:c,reject:d,notify:e},h={done:c.add,fail:d.add,progress:e.add,state:function(){return f},isResolved:c.fired,isRejected:d.fired,then:function(a,b,c){return i.done(a).fail(b).progress(c),this},always:function(){return i.done.apply(i,arguments).fail.apply(i,arguments),this},pipe:function(a,b,c){return K.Deferred(function(d){K.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c,e=b[0],f=b[1];
K.isFunction(e)?i[a](function(){c=e.apply(this,arguments),c&&K.isFunction(c.promise)?c.promise().then(d.resolve,d.reject,d.notify):d[f+"With"](this===i?d:this,[c])}):i[a](d[f])})}).promise()},promise:function(a){if(null==a)a=h;
else for(var b in h)a[b]=h[b];
return a}},i=h.promise({});
for(b in g)i[b]=g[b].fire,i[b+"With"]=g[b].fireWith;
return i.done(function(){f="resolved"},d.disable,e.lock).fail(function(){f="rejected"},c.disable,e.lock),a&&a.call(i,i),i},when:function(a){function b(a){return function(b){g[a]=arguments.length>1?M.call(arguments,0):b,i.notifyWith(j,g)}}function c(a){return function(b){d[a]=arguments.length>1?M.call(arguments,0):b,--h||i.resolveWith(i,d)}}var d=M.call(arguments,0),e=0,f=d.length,g=Array(f),h=f,i=1>=f&&a&&K.isFunction(a.promise)?a:K.Deferred(),j=i.promise();
if(f>1){for(;
f>e;
e++)d[e]&&d[e].promise&&K.isFunction(d[e].promise)?d[e].promise().then(c(e),i.reject,b(e)):--h;
h||i.resolveWith(i,d)}else i!==a&&i.resolveWith(i,f?[a]:[]);
return j}}),K.support=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n=H.createElement("div");
H.documentElement;
if(n.setAttribute("className","t"),n.innerHTML=" <link/><table></table><a href='/a' style='top:1px;
float:left;
opacity:.55;
'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],!c||!c.length||!d)return{};
e=H.createElement("select"),f=e.appendChild(H.createElement("option")),g=n.getElementsByTagName("input")[0],b={leadingWhitespace:3===n.firstChild.nodeType,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:"/a"===d.getAttribute("href"),opacity:/^0.55/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:"on"===g.value,optSelected:f.selected,getSetAttribute:"t"!==n.className,enctype:!!H.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==H.createElement("nav").cloneNode(!0).outerHTML,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},g.checked=!0,b.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,b.optDisabled=!f.disabled;
try{delete n.test}catch(o){b.deleteExpando=!1}if(!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick")),g=H.createElement("input"),g.value="t",g.setAttribute("type","radio"),b.radioValue="t"===g.value,g.setAttribute("checked","checked"),n.appendChild(g),i=H.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=g.checked,i.removeChild(g),i.appendChild(n),n.innerHTML="",a.getComputedStyle&&(h=H.createElement("div"),h.style.width="0",h.style.marginRight="0",n.style.width="2px",n.appendChild(h),b.reliableMarginRight=0===(parseInt((a.getComputedStyle(h,null)||{marginRight:0}).marginRight,10)||0)),n.attachEvent)for(l in{submit:1,change:1,focusin:1})k="on"+l,m=k in n,m||(n.setAttribute(k,"return;
"),m="function"==typeof n[k]),b[l+"Bubbles"]=m;
return i.removeChild(n),i=e=f=h=n=g=null,K(function(){var a,c,d,e,f,g,h,i,k,l,o=H.getElementsByTagName("body")[0];
!o||(g=1,h="position:absolute;
top:0;
left:0;
width:1px;
height:1px;
margin:0;
",i="visibility:hidden;
border:0;
",k="style='"+h+"border:5px solid #000;
padding:0;
'",l="<div "+k+"><div></div></div><table "+k+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>",a=H.createElement("div"),a.style.cssText=i+"width:0;
height:0;
position:static;
top:0;
margin-top:"+g+"px",o.insertBefore(a,o.firstChild),n=H.createElement("div"),a.appendChild(n),n.innerHTML="<table><tr><td style='padding:0;
border:0;
display:none'></td><td>t</td></tr></table>",j=n.getElementsByTagName("td"),m=0===j[0].offsetHeight,j[0].style.display="",j[1].style.display="none",b.reliableHiddenOffsets=m&&0===j[0].offsetHeight,n.innerHTML="",n.style.width=n.style.paddingLeft="1px",K.boxModel=b.boxModel=2===n.offsetWidth,"undefined"!=typeof n.style.zoom&&(n.style.display="inline",n.style.zoom=1,b.inlineBlockNeedsLayout=2===n.offsetWidth,n.style.display="",n.innerHTML="<div style='width:4px;
'></div>",b.shrinkWrapBlocks=2!==n.offsetWidth),n.style.cssText=h+i,n.innerHTML=l,c=n.firstChild,d=c.firstChild,e=c.nextSibling.firstChild.firstChild,f={doesNotAddBorder:5!==d.offsetTop,doesAddBorderForTableAndCells:5===e.offsetTop},d.style.position="fixed",d.style.top="20px",f.fixedPosition=20===d.offsetTop||15===d.offsetTop,d.style.position=d.style.top="",c.style.overflow="hidden",c.style.position="relative",f.subtractsBorderForOverflowNotVisible=-5===d.offsetTop,f.doesNotIncludeMarginInBodyOffset=o.offsetTop!==g,o.removeChild(a),n=a=null,K.extend(b,f))}),b}();
var N=/^(?:\{.*\}|\[.*\])$/,O=/([A-Z])/g;
K.extend({cache:{},uuid:0,expando:"jQuery"+(K.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?K.cache[a[K.expando]]:a[K.expando],!!a&&!E(a)},data:function(a,c,d,e){if(K.acceptData(a)){var f,g,h,i=K.expando,j="string"==typeof c,k=a.nodeType,l=k?K.cache:a,m=k?a[i]:a[i]&&i,n="events"===c;
if((!m||!l[m]||!n&&!e&&!l[m].data)&&j&&d===b)return;
return m||(k?a[i]=m=++K.uuid:m=i),l[m]||(l[m]={},k||(l[m].toJSON=K.noop)),("object"==typeof c||"function"==typeof c)&&(e?l[m]=K.extend(l[m],c):l[m].data=K.extend(l[m].data,c)),f=g=l[m],e||(g.data||(g.data={}),g=g.data),d!==b&&(g[K.camelCase(c)]=d),n&&!g[c]?f.events:(j?(h=g[c],null==h&&(h=g[K.camelCase(c)])):h=g,h)}},removeData:function(a,b,c){if(K.acceptData(a)){var d,e,f,g=K.expando,h=a.nodeType,i=h?K.cache:a,j=h?a[g]:g;
if(!i[j])return;
if(b&&(d=c?i[j]:i[j].data)){K.isArray(b)||(b in d?b=[b]:(b=K.camelCase(b),b=b in d?[b]:b.split(" ")));
for(e=0,f=b.length;
f>e;
e++)delete d[b[e]];
if(!(c?E:K.isEmptyObject)(d))return}if(!c&&(delete i[j].data,!E(i[j])))return;
K.support.deleteExpando||!i.setInterval?delete i[j]:i[j]=null,h&&(K.support.deleteExpando?delete a[g]:a.removeAttribute?a.removeAttribute(g):a[g]=null)}},_data:function(a,b,c){return K.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=K.noData[a.nodeName.toLowerCase()];
if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),K.fn.extend({data:function(a,c){var d,e,f,g=null;
if("undefined"==typeof a){if(this.length&&(g=K.data(this[0]),1===this[0].nodeType&&!K._data(this[0],"parsedAttrs"))){e=this[0].attributes;
for(var h=0,i=e.length;
i>h;
h++)f=e[h].name,0===f.indexOf("data-")&&(f=K.camelCase(f.substring(5)),F(this[0],f,g[f]));
K._data(this[0],"parsedAttrs",!0)}return g}return"object"==typeof a?this.each(function(){K.data(this,a)}):(d=a.split("."),d[1]=d[1]?"."+d[1]:"",c===b?(g=this.triggerHandler("getData"+d[1]+"!",[d[0]]),g===b&&this.length&&(g=K.data(this[0],a),g=F(this[0],a,g)),g===b&&d[1]?this.data(d[0]):g):this.each(function(){var b=K(this),e=[d[0],c];
b.triggerHandler("setData"+d[1]+"!",e),K.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)}))},removeData:function(a){return this.each(function(){K.removeData(this,a)})}}),K.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",K._data(a,b,(K._data(a,b)||0)+1))},_unmark:function(a,b,c){if(a!==!0&&(c=b,b=a,a=!1),b){c=c||"fx";
var d=c+"mark",e=a?0:(K._data(b,d)||1)-1;
e?K._data(b,d,e):(K.removeData(b,d,!0),D(b,c,"mark"))}},queue:function(a,b,c){var d;
return a?(b=(b||"fx")+"queue",d=K._data(a,b),c&&(!d||K.isArray(c)?d=K._data(a,b,K.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";
var c=K.queue(a,b),d=c.shift(),e={};
"inprogress"===d&&(d=c.shift()),d&&("fx"===b&&c.unshift("inprogress"),K._data(a,b+".run",e),d.call(a,function(){K.dequeue(a,b)},e)),c.length||(K.removeData(a,b+"queue "+b+".run",!0),D(a,b,"queue"))}}),K.fn.extend({queue:function(a,c){return"string"!=typeof a&&(c=a,a="fx"),c===b?K.queue(this[0],a):this.each(function(){var b=K.queue(this,a,c);
"fx"===a&&"inprogress"!==b[0]&&K.dequeue(this,a)})},dequeue:function(a){return this.each(function(){K.dequeue(this,a)})},delay:function(a,b){return a=K.fx?K.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);
c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function d(){--i||f.resolveWith(g,[g])}"string"!=typeof a&&(c=a,a=b),a=a||"fx";
for(var e,f=K.Deferred(),g=this,h=g.length,i=1,j=a+"defer",k=a+"queue",l=a+"mark";
h--;
)(e=K.data(g[h],j,b,!0)||(K.data(g[h],k,b,!0)||K.data(g[h],l,b,!0))&&K.data(g[h],j,K.Callbacks("once memory"),!0))&&(i++,e.add(d));
return d(),f.promise()}});
var P,Q,R,S=/[\n\t\r]/g,T=/\s+/,U=/\r/g,V=/^(?:button|input)$/i,W=/^(?:button|input|object|select|textarea)$/i,X=/^a(?:rea)?$/i,Y=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,Z=K.support.getSetAttribute;
K.fn.extend({attr:function(a,b){return K.access(this,a,b,!0,K.attr)},removeAttr:function(a){return this.each(function(){K.removeAttr(this,a)})},prop:function(a,b){return K.access(this,a,b,!0,K.prop)},removeProp:function(a){return a=K.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;
if(K.isFunction(a))return this.each(function(b){K(this).addClass(a.call(this,b,this.className))});
if(a&&"string"==typeof a)for(b=a.split(T),c=0,d=this.length;
d>c;
c++)if(e=this[c],1===e.nodeType)if(e.className||1!==b.length){for(f=" "+e.className+" ",g=0,h=b.length;
h>g;
g++)~f.indexOf(" "+b[g]+" ")||(f+=b[g]+" ");
e.className=K.trim(f)}else e.className=a;
return this},removeClass:function(a){var c,d,e,f,g,h,i;
if(K.isFunction(a))return this.each(function(b){K(this).removeClass(a.call(this,b,this.className))});
if(a&&"string"==typeof a||a===b)for(c=(a||"").split(T),d=0,e=this.length;
e>d;
d++)if(f=this[d],1===f.nodeType&&f.className)if(a){for(g=(" "+f.className+" ").replace(S," "),h=0,i=c.length;
i>h;
h++)g=g.replace(" "+c[h]+" "," ");
f.className=K.trim(g)}else f.className="";
return this},toggleClass:function(a,b){var c=typeof a,d="boolean"==typeof b;
return K.isFunction(a)?this.each(function(c){K(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if("string"===c)for(var e,f=0,g=K(this),h=b,i=a.split(T);
e=i[f++];
)h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e);
else("undefined"===c||"boolean"===c)&&(this.className&&K._data(this,"__className__",this.className),this.className=this.className||a===!1?"":K._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;
d>c;
c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(S," ").indexOf(b)>-1)return!0;
return!1},val:function(a){var c,d,e,f=this[0];
return arguments.length?(e=K.isFunction(a),this.each(function(d){var f,g=K(this);
1===this.nodeType&&(f=e?a.call(this,d,g.val()):a,null==f?f="":"number"==typeof f?f+="":K.isArray(f)&&(f=K.map(f,function(a){return null==a?"":a+""})),c=K.valHooks[this.nodeName.toLowerCase()]||K.valHooks[this.type],c&&"set"in c&&c.set(this,f,"value")!==b||(this.value=f))})):f?(c=K.valHooks[f.nodeName.toLowerCase()]||K.valHooks[f.type],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,"string"==typeof d?d.replace(U,""):null==d?"":d)):void 0}}),K.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;
return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i="select-one"===a.type;
if(0>f)return null;
for(c=i?f:0,d=i?f+1:h.length;
d>c;
c++)if(e=h[c],e.selected&&(K.support.optDisabled?!e.disabled:null===e.getAttribute("disabled"))&&(!e.parentNode.disabled||!K.nodeName(e.parentNode,"optgroup"))){if(b=K(e).val(),i)return b;
g.push(b)}return i&&!g.length&&h.length?K(h[f]).val():g},set:function(a,b){var c=K.makeArray(b);
return K(a).find("option").each(function(){this.selected=K.inArray(K(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;
return a&&3!==i&&8!==i&&2!==i?e&&c in K.attrFn?K(a)[c](d):"undefined"==typeof a.getAttribute?K.prop(a,c,d):(h=1!==i||!K.isXMLDoc(a),h&&(c=c.toLowerCase(),g=K.attrHooks[c]||(Y.test(c)?Q:P)),d!==b?null===d?void K.removeAttr(a,c):g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,""+d),d):g&&"get"in g&&h&&null!==(f=g.get(a,c))?f:(f=a.getAttribute(c),null===f?b:f)):void 0},removeAttr:function(a,b){var c,d,e,f,g=0;
if(b&&1===a.nodeType)for(d=b.toLowerCase().split(T),f=d.length;
f>g;
g++)e=d[g],e&&(c=K.propFix[e]||e,K.attr(a,e,""),a.removeAttribute(Z?e:c),Y.test(e)&&c in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(V.test(a.nodeName)&&a.parentNode)K.error("type property can't be changed");
else if(!K.support.radioValue&&"radio"===b&&K.nodeName(a,"input")){var c=a.value;
return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return P&&K.nodeName(a,"button")?P.get(a,b):b in a?a.value:null},set:function(a,b,c){return P&&K.nodeName(a,"button")?P.set(a,b,c):void(a.value=b)}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;
return a&&3!==h&&8!==h&&2!==h?(g=1!==h||!K.isXMLDoc(a),g&&(c=K.propFix[c]||c,f=K.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&null!==(e=f.get(a,c))?e:a[c]):void 0},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");
return c&&c.specified?parseInt(c.value,10):W.test(a.nodeName)||X.test(a.nodeName)&&a.href?0:b}}}}),K.attrHooks.tabindex=K.propHooks.tabIndex,Q={get:function(a,c){var d,e=K.prop(a,c);
return e===!0||"boolean"!=typeof e&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;
return b===!1?K.removeAttr(a,c):(d=K.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},Z||(R={name:!0,id:!0},P=K.valHooks.button={get:function(a,c){var d;
return d=a.getAttributeNode(c),d&&(R[c]?""!==d.nodeValue:d.specified)?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);
return d||(d=H.createAttribute(c),a.setAttributeNode(d)),d.nodeValue=b+""}},K.attrHooks.tabindex.set=P.set,K.each(["width","height"],function(a,b){K.attrHooks[b]=K.extend(K.attrHooks[b],{set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}})}),K.attrHooks.contenteditable={get:P.get,set:function(a,b,c){""===b&&(b="false"),P.set(a,b,c)}}),K.support.hrefNormalized||K.each(["href","src","width","height"],function(a,c){K.attrHooks[c]=K.extend(K.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);
return null===d?b:d}})}),K.support.style||(K.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),K.support.optSelected||(K.propHooks.selected=K.extend(K.propHooks.selected,{get:function(a){var b=a.parentNode;
return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),K.support.enctype||(K.propFix.enctype="encoding"),K.support.checkOn||K.each(["radio","checkbox"],function(){K.valHooks[this]={get:function(a){return null===a.getAttribute("value")?"on":a.value}}}),K.each(["radio","checkbox"],function(){K.valHooks[this]=K.extend(K.valHooks[this],{set:function(a,b){return K.isArray(b)?a.checked=K.inArray(K(a).val(),b)>=0:void 0}})});
var $=/^(?:textarea|input|select)$/i,_=/^([^\.]*)?(?:\.(.+))?$/,aa=/\bhover(\.\S+)?\b/,ba=/^key/,ca=/^(?:mouse|contextmenu)|click/,da=/^(?:focusinfocus|focusoutblur)$/,ea=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,fa=function(a){var b=ea.exec(a);
return b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)")),b},ga=function(a,b){var c=a.attributes||{};
return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value));
},ha=function(a){return K.event.special.hover?a:a.replace(aa,"mouseenter$1 mouseleave$1")};
K.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;
if(3!==a.nodeType&&8!==a.nodeType&&c&&d&&(g=K._data(a))){for(d.handler&&(o=d,d=o.handler),d.guid||(d.guid=K.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return"undefined"==typeof K||a&&K.event.triggered===a.type?b:K.event.dispatch.apply(h.elem,arguments)},h.elem=a),c=K.trim(ha(c)).split(" "),j=0;
j<c.length;
j++)k=_.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),q=K.event.special[l]||{},l=(f?q.delegateType:q.bindType)||l,q=K.event.special[l]||{},n=K.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,quick:fa(f),namespace:m.join(".")},o),p=i[l],p||(p=i[l]=[],p.delegateCount=0,q.setup&&q.setup.call(a,e,m,h)!==!1||(a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h))),q.add&&(q.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?p.splice(p.delegateCount++,0,n):p.push(n),K.event.global[l]=!0;
a=null}},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r=K.hasData(a)&&K._data(a);
if(r&&(m=r.events)){for(b=K.trim(ha(b||"")).split(" "),f=0;
f<b.length;
f++)if(g=_.exec(b[f])||[],h=i=g[1],j=g[2],h){for(n=K.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,p=m[h]||[],k=p.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null,l=0;
l<p.length;
l++)q=p[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||"**"===d&&q.selector)&&(p.splice(l--,1),q.selector&&p.delegateCount--,n.remove&&n.remove.call(a,q));
0===p.length&&k!==p.length&&((!n.teardown||n.teardown.call(a,j)===!1)&&K.removeEvent(a,h,r.handle),delete m[h])}else for(h in m)K.event.remove(a,h+b[f],c,d,!0);
K.isEmptyObject(m)&&(o=r.handle,o&&(o.elem=null),K.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,f){if(!e||3!==e.nodeType&&8!==e.nodeType){var g,h,i,j,k,l,m,n,o,p,q=c.type||c,r=[];
if(da.test(q+K.event.triggered))return;
if(q.indexOf("!")>=0&&(q=q.slice(0,-1),h=!0),q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),(!e||K.event.customEvent[q])&&!K.event.global[q])return;
if(c="object"==typeof c?c[K.expando]?c:new K.Event(q,c):new K.Event(q),c.type=q,c.isTrigger=!0,c.exclusive=h,c.namespace=r.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,l=q.indexOf(":")<0?"on"+q:"",!e){g=K.cache;
for(i in g)g[i].events&&g[i].events[q]&&K.event.trigger(c,d,g[i].handle.elem,!0);
return}if(c.result=b,c.target||(c.target=e),d=null!=d?K.makeArray(d):[],d.unshift(c),m=K.event.special[q]||{},m.trigger&&m.trigger.apply(e,d)===!1)return;
if(o=[[e,m.bindType||q]],!f&&!m.noBubble&&!K.isWindow(e)){for(p=m.delegateType||q,j=da.test(p+q)?e:e.parentNode,k=null;
j;
j=j.parentNode)o.push([j,p]),k=j;
k&&k===e.ownerDocument&&o.push([k.defaultView||k.parentWindow||a,p])}for(i=0;
i<o.length&&!c.isPropagationStopped();
i++)j=o[i][0],c.type=o[i][1],n=(K._data(j,"events")||{})[c.type]&&K._data(j,"handle"),n&&n.apply(j,d),n=l&&j[l],n&&K.acceptData(j)&&n.apply(j,d)===!1&&c.preventDefault();
return c.type=q,!f&&!c.isDefaultPrevented()&&(!m._default||m._default.apply(e.ownerDocument,d)===!1)&&("click"!==q||!K.nodeName(e,"a"))&&K.acceptData(e)&&l&&e[q]&&("focus"!==q&&"blur"!==q||0!==c.target.offsetWidth)&&!K.isWindow(e)&&(k=e[l],k&&(e[l]=null),K.event.triggered=q,e[q](),K.event.triggered=b,k&&(e[l]=k)),c.result}},dispatch:function(c){c=K.event.fix(c||a.event);
var d,e,f,g,h,i,j,k,l,m,n=(K._data(this,"events")||{})[c.type]||[],o=n.delegateCount,p=[].slice.call(arguments,0),q=!c.exclusive&&!c.namespace,r=[];
if(p[0]=c,c.delegateTarget=this,o&&!c.target.disabled&&(!c.button||"click"!==c.type))for(g=K(this),g.context=this.ownerDocument||this,f=c.target;
f!=this;
f=f.parentNode||this){for(i={},k=[],g[0]=f,d=0;
o>d;
d++)l=n[d],m=l.selector,i[m]===b&&(i[m]=l.quick?ga(f,l.quick):g.is(m)),i[m]&&k.push(l);
k.length&&r.push({elem:f,matches:k})}for(n.length>o&&r.push({elem:this,matches:n.slice(o)}),d=0;
d<r.length&&!c.isPropagationStopped();
d++)for(j=r[d],c.currentTarget=j.elem,e=0;
e<j.matches.length&&!c.isImmediatePropagationStopped();
e++)l=j.matches[e],(q||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))&&(c.data=l.data,c.handleObj=l,h=((K.event.special[l.origType]||{}).handle||l.handler).apply(j.elem,p),h!==b&&(c.result=h,h===!1&&(c.preventDefault(),c.stopPropagation())));
return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,e,f,g=c.button,h=c.fromElement;
return null==a.pageX&&null!=c.clientX&&(d=a.target.ownerDocument||H,e=d.documentElement,f=d.body,a.pageX=c.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=c.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?c.toElement:h),!a.which&&g!==b&&(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[K.expando])return a;
var c,d,e=a,f=K.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;
for(a=K.Event(e),c=g.length;
c;
)d=g[--c],a[d]=e[d];
return a.target||(a.target=e.srcElement||H),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey),f.filter?f.filter(a,e):a},special:{ready:{setup:K.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){K.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=K.extend(new K.Event,c,{type:a,isSimulated:!0,originalEvent:{}});
d?K.event.trigger(e,null,b):K.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},K.event.handle=K.event.dispatch,K.removeEvent=H.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},K.Event=function(a,b){return this instanceof K.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?B:C):this.type=a,b&&K.extend(this,b),this.timeStamp=a&&a.timeStamp||K.now(),this[K.expando]=!0,void 0):new K.Event(a,b)},K.Event.prototype={preventDefault:function(){this.isDefaultPrevented=B;
var a=this.originalEvent;
!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=B;
var a=this.originalEvent;
!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=B,this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C},K.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){K.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;
f.selector;
return(!e||e!==d&&!K.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),K.support.submitBubbles||(K.event.special.submit={setup:function(){return K.nodeName(this,"form")?!1:void K.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=K.nodeName(c,"input")||K.nodeName(c,"button")?c.form:b;
d&&!d._submit_attached&&(K.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&K.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){return K.nodeName(this,"form")?!1:void K.event.remove(this,"._submit")}}),K.support.changeBubbles||(K.event.special.change={setup:function(){return $.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(K.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),K.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,K.event.simulate("change",this,a,!0))})),!1):void K.event.add(this,"beforeactivate._change",function(a){var b=a.target;
$.test(b.nodeName)&&!b._change_attached&&(K.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&K.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;
return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return K.event.remove(this,"._change"),$.test(this.nodeName)}}),K.support.focusinBubbles||K.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){K.event.simulate(b,a.target,K.event.fix(a),!0)};
K.event.special[b]={setup:function(){0===c++&&H.addEventListener(a,d,!0)},teardown:function(){0===--c&&H.removeEventListener(a,d,!0)}}}),K.fn.extend({on:function(a,c,d,e,f){var g,h;
if("object"==typeof a){"string"!=typeof c&&(d=c,c=b);
for(h in a)this.on(h,c,d,a[h],f);
return this}if(null==d&&null==e?(e=c,d=c=b):null==e&&("string"==typeof c?(e=d,d=b):(e=d,d=c,c=b)),e===!1)e=C;
else if(!e)return this;
return 1===f&&(g=e,e=function(a){return K().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=K.guid++)),this.each(function(){K.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;
return K(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler),this}if("object"==typeof a){for(var f in a)this.off(f,c,a[f]);
return this}return(c===!1||"function"==typeof c)&&(d=c,c=b),d===!1&&(d=C),this.each(function(){K.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return K(this.context).on(a,this.selector,b,c),this},die:function(a,b){return K(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1==arguments.length?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){K.event.trigger(a,b,this)})},triggerHandler:function(a,b){return this[0]?K.event.trigger(a,b,this[0],!0):void 0},toggle:function(a){var b=arguments,c=a.guid||K.guid++,d=0,e=function(c){var e=(K._data(this,"lastToggle"+a.guid)||0)%d;
return K._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};
for(e.guid=c;
d<b.length;
)b[d++].guid=c;
return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),K.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){K.fn[b]=function(a,c){return null==c&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},K.attrFn&&(K.attrFn[b]=!0),ba.test(b)&&(K.event.fixHooks[b]=K.event.keyHooks),ca.test(b)&&(K.event.fixHooks[b]=K.event.mouseHooks)}),function(){function a(a,b,c,d,f,g){for(var h=0,i=d.length;
i>h;
h++){var j=d[h];
if(j){var k=!1;
for(j=j[a];
j;
){if(j[e]===c){k=d[j.sizset];
break}if(1===j.nodeType)if(g||(j[e]=c,j.sizset=h),"string"!=typeof b){if(j===b){k=!0;
break}}else if(m.filter(b,[j]).length>0){k=j;
break}j=j[a]}d[h]=k}}}function c(a,b,c,d,f,g){for(var h=0,i=d.length;
i>h;
h++){var j=d[h];
if(j){var k=!1;
for(j=j[a];
j;
){if(j[e]===c){k=d[j.sizset];
break}if(1===j.nodeType&&!g&&(j[e]=c,j.sizset=h),j.nodeName.toLowerCase()===b){k=j;
break}j=j[a]}d[h]=k}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e="sizcache"+(Math.random()+"").replace(".",""),f=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;
[0,0].sort(function(){return i=!1,0});
var m=function(a,b,c,e){c=c||[],b=b||H;
var f=b;
if(1!==b.nodeType&&9!==b.nodeType)return[];
if(!a||"string"!=typeof a)return c;
var h,i,j,k,l,n,q,r,t=!0,u=m.isXML(b),v=[],x=a;
do if(d.exec(""),h=d.exec(x),h&&(x=h[3],v.push(h[1]),h[2])){k=h[3];
break}while(h);
if(v.length>1&&p.exec(a))if(2===v.length&&o.relative[v[0]])i=w(v[0]+v[1],b,e);
else for(i=o.relative[v[0]]?[b]:m(v.shift(),b);
v.length;
)a=v.shift(),o.relative[a]&&(a+=v.shift()),i=w(a,i,e);
else if(!e&&v.length>1&&9===b.nodeType&&!u&&o.match.ID.test(v[0])&&!o.match.ID.test(v[v.length-1])&&(l=m.find(v.shift(),b,u),b=l.expr?m.filter(l.expr,l.set)[0]:l.set[0]),b)for(l=e?{expr:v.pop(),set:s(e)}:m.find(v.pop(),1!==v.length||"~"!==v[0]&&"+"!==v[0]||!b.parentNode?b:b.parentNode,u),i=l.expr?m.filter(l.expr,l.set):l.set,v.length>0?j=s(i):t=!1;
v.length;
)n=v.pop(),q=n,o.relative[n]?q=v.pop():n="",null==q&&(q=b),o.relative[n](j,q,u);
else j=v=[];
if(j||(j=i),j||m.error(n||a),"[object Array]"===g.call(j))if(t)if(b&&1===b.nodeType)for(r=0;
null!=j[r];
r++)j[r]&&(j[r]===!0||1===j[r].nodeType&&m.contains(b,j[r]))&&c.push(i[r]);
else for(r=0;
null!=j[r];
r++)j[r]&&1===j[r].nodeType&&c.push(i[r]);
else c.push.apply(c,j);
else s(j,c);
return k&&(m(k,f,c,e),m.uniqueSort(c)),c};
m.uniqueSort=function(a){if(u&&(h=i,a.sort(u),h))for(var b=1;
b<a.length;
b++)a[b]===a[b-1]&&a.splice(b--,1);
return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;
if(!a)return[];
for(e=0,f=o.order.length;
f>e;
e++)if(h=o.order[e],(g=o.leftMatch[h].exec(a))&&(i=g[1],g.splice(1,1),"\\"!==i.substr(i.length-1)&&(g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c),null!=d))){a=a.replace(o.match[h],"");
break}return d||(d="undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName("*"):[]),{set:d,expr:a}},m.filter=function(a,c,d,e){for(var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);
a&&c.length;
){for(h in o.filter)if(null!=(f=o.leftMatch[h].exec(a))&&f[2]){if(k=o.filter[h],l=f[1],g=!1,f.splice(1,1),"\\"===l.substr(l.length-1))continue;
if(s===r&&(r=[]),o.preFilter[h])if(f=o.preFilter[h](f,s,d,r,e,t)){if(f===!0)continue}else g=i=!0;
if(f)for(n=0;
null!=(j=s[n]);
n++)j&&(i=k(j,f,n,s),p=e^i,d&&null!=i?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));
if(i!==b){if(d||(s=r),a=a.replace(o.match[h],""),!g)return[];
break}}if(a===q){if(null!=g)break;
m.error(a)}q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};
var n=m.getText=function(a){var b,c,d=a.nodeType,e="";
if(d){if(1===d||9===d){if("string"==typeof a.textContent)return a.textContent;
if("string"==typeof a.innerText)return a.innerText.replace(k,"");
for(a=a.firstChild;
a;
a=a.nextSibling)e+=n(a)}else if(3===d||4===d)return a.nodeValue}else for(b=0;
c=a[b];
b++)8!==c.nodeType&&(e+=n(c));
return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c="string"==typeof b,d=c&&!l.test(b),e=c&&!d;
d&&(b=b.toLowerCase());
for(var f,g=0,h=a.length;
h>g;
g++)if(f=a[g]){for(;
(f=f.previousSibling)&&1!==f.nodeType;
);
a[g]=e||f&&f.nodeName.toLowerCase()===b?f||!1:f===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d="string"==typeof b,e=0,f=a.length;
if(d&&!l.test(b)){for(b=b.toLowerCase();
f>e;
e++)if(c=a[e]){var g=c.parentNode;
a[e]=g.nodeName.toLowerCase()===b?g:!1}}else{for(;
f>e;
e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);
d&&m.filter(b,a,!0)}},"":function(b,d,e){var g,h=f++,i=a;
"string"==typeof d&&!l.test(d)&&(d=d.toLowerCase(),g=d,i=c),i("parentNode",d,h,b,g,e)},"~":function(b,d,e){var g,h=f++,i=a;
"string"==typeof d&&!l.test(d)&&(d=d.toLowerCase(),g=d,i=c),i("previousSibling",d,h,b,g,e)}},find:{ID:function(a,b,c){if("undefined"!=typeof b.getElementById&&!c){var d=b.getElementById(a[1]);
return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if("undefined"!=typeof b.getElementsByName){for(var c=[],d=b.getElementsByName(a[1]),e=0,f=d.length;
f>e;
e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);
return 0===c.length?null:c}},TAG:function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a[1]):void 0}},preFilter:{CLASS:function(a,b,c,d,e,f){if(a=" "+a[1].replace(j,"")+" ",f)return a;
for(var g,h=0;
null!=(g=b[h]);
h++)g&&(e^(g.className&&(" "+g.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(g):c&&(b[h]=!1));
return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if("nth"===a[1]){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");
var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec("even"===a[2]&&"2n"||"odd"===a[2]&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);
a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);
return a[0]=f++,a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");
return!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),"~="===a[2]&&(a[4]=" "+a[4]+" "),a},PSEUDO:function(a,b,c,e,f){if("not"===a[1]){if(!((d.exec(a[3])||"").length>1||/^\w/.test(a[3]))){var g=m.filter(a[3],b,c,!0^f);
return c||e.push.apply(e,g),!1}a[3]=m(a[3],null,null,b)}else if(o.match.POS.test(a[0])||o.match.CHILD.test(a[0]))return!0;
return a},POS:function(a){return a.unshift(!0),a}},filters:{enabled:function(a){return a.disabled===!1&&"hidden"!==a.type},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;
return"input"===a.nodeName.toLowerCase()&&"text"===c&&(b===c||null===b)},radio:function(a){return"input"===a.nodeName.toLowerCase()&&"radio"===a.type},checkbox:function(a){return"input"===a.nodeName.toLowerCase()&&"checkbox"===a.type},file:function(a){return"input"===a.nodeName.toLowerCase()&&"file"===a.type},password:function(a){return"input"===a.nodeName.toLowerCase()&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();
return("input"===b||"button"===b)&&"submit"===a.type},image:function(a){return"input"===a.nodeName.toLowerCase()&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();
return("input"===b||"button"===b)&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();
return"input"===b&&"button"===a.type||"button"===b},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return 0===b},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];
if(f)return f(a,c,b,d);
if("contains"===e)return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;
if("not"===e){for(var g=b[3],h=0,i=g.length;
i>h;
h++)if(g[h]===a)return!1;
return!0}m.error(e)},CHILD:function(a,b){var c,d,f,g,h,i,j=b[1],k=a;
switch(j){case"only":case"first":for(;
k=k.previousSibling;
)if(1===k.nodeType)return!1;
if("first"===j)return!0;
k=a;
case"last":for(;
k=k.nextSibling;
)if(1===k.nodeType)return!1;
return!0;
case"nth":if(c=b[2],d=b[3],1===c&&0===d)return!0;
if(f=b[0],g=a.parentNode,g&&(g[e]!==f||!a.nodeIndex)){for(h=0,k=g.firstChild;
k;
k=k.nextSibling)1===k.nodeType&&(k.nodeIndex=++h);
g[e]=f}return i=a.nodeIndex-d,0===c?0===i:i%c===0&&i/c>=0}},ID:function(a,b){return 1===a.nodeType&&a.getAttribute("id")===b},TAG:function(a,b){return"*"===b&&1===a.nodeType||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):null!=a[c]?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];
return null==d?"!="===f:!f&&m.attr?null!=d:"="===f?e===g:"*="===f?e.indexOf(g)>=0:"~="===f?(" "+e+" ").indexOf(g)>=0:g?"!="===f?e!==g:"^="===f?0===e.indexOf(g):"$="===f?e.substr(e.length-g.length)===g:"|="===f?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];
return f?f(a,c,b,d):void 0}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};
for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));
var s=function(a,b){return a=Array.prototype.slice.call(a,0),b?(b.push.apply(b,a),b):a};
try{Array.prototype.slice.call(H.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];
if("[object Array]"===g.call(a))Array.prototype.push.apply(d,a);
else if("number"==typeof a.length)for(var e=a.length;
e>c;
c++)d.push(a[c]);
else for(;
a[c];
c++)d.push(a[c]);
return d}}var u,v;
H.documentElement.compareDocumentPosition?u=function(a,b){return a===b?(h=!0,0):a.compareDocumentPosition&&b.compareDocumentPosition?4&a.compareDocumentPosition(b)?-1:1:a.compareDocumentPosition?-1:1}:(u=function(a,b){if(a===b)return h=!0,0;
if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;
var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;
if(g===i)return v(a,b);
if(!g)return-1;
if(!i)return 1;
for(;
j;
)e.unshift(j),j=j.parentNode;
for(j=i;
j;
)f.unshift(j),j=j.parentNode;
c=e.length,d=f.length;
for(var k=0;
c>k&&d>k;
k++)if(e[k]!==f[k])return v(e[k],f[k]);
return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;
for(var d=a.nextSibling;
d;
){if(d===b)return-1;
d=d.nextSibling}return 1}),function(){var a=H.createElement("div"),c="script"+(new Date).getTime(),d=H.documentElement;
a.innerHTML="<a name='"+c+"'/>",d.insertBefore(a,d.firstChild),H.getElementById(c)&&(o.find.ID=function(a,c,d){if("undefined"!=typeof c.getElementById&&!d){var e=c.getElementById(a[1]);
return e?e.id===a[1]||"undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");
return 1===a.nodeType&&c&&c.nodeValue===b}),d.removeChild(a),d=a=null}(),function(){var a=H.createElement("div");
a.appendChild(H.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);
if("*"===a[1]){for(var d=[],e=0;
c[e];
e++)1===c[e].nodeType&&d.push(c[e]);
c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&"undefined"!=typeof a.firstChild.getAttribute&&"#"!==a.firstChild.getAttribute("href")&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),H.querySelectorAll&&function(){var a=m,b=H.createElement("div"),c="__sizzle__";
if(b.innerHTML="<p class='TEST'></p>",!b.querySelectorAll||0!==b.querySelectorAll(".TEST").length){m=function(b,d,e,f){if(d=d||H,!f&&!m.isXML(d)){var g=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);
if(g&&(1===d.nodeType||9===d.nodeType)){if(g[1])return s(d.getElementsByTagName(b),e);
if(g[2]&&o.find.CLASS&&d.getElementsByClassName)return s(d.getElementsByClassName(g[2]),e)}if(9===d.nodeType){if("body"===b&&d.body)return s([d.body],e);
if(g&&g[3]){var h=d.getElementById(g[3]);
if(!h||!h.parentNode)return s([],e);
if(h.id===g[3])return s([h],e)}try{return s(d.querySelectorAll(b),e)}catch(i){}}else if(1===d.nodeType&&"object"!==d.nodeName.toLowerCase()){var j=d,k=d.getAttribute("id"),l=k||c,n=d.parentNode,p=/^\s*[+~]/.test(b);
k?l=l.replace(/'/g,"\\$&"):d.setAttribute("id",l),p&&n&&(d=d.parentNode);
try{if(!p||n)return s(d.querySelectorAll("[id='"+l+"'] "+b),e)}catch(q){}finally{k||j.removeAttribute("id")}}}return a(b,d,e,f)};
for(var d in a)m[d]=a[d];
b=null}}(),function(){var a=H.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;
if(b){var c=!b.call(H.createElement("div"),"div"),d=!1;
try{b.call(H.documentElement,"[test!='']:sizzle")}catch(e){d=!0}m.matchesSelector=function(a,e){if(e=e.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']"),!m.isXML(a))try{if(d||!o.match.PSEUDO.test(e)&&!/!=/.test(e)){var f=b.call(a,e);
if(f||!c||a.document&&11!==a.document.nodeType)return f}}catch(g){}return m(e,null,null,[a]).length>0}}}(),function(){var a=H.createElement("div");
if(a.innerHTML="<div class='test e'></div><div class='test'></div>",a.getElementsByClassName&&0!==a.getElementsByClassName("e").length){if(a.lastChild.className="e",1===a.getElementsByClassName("e").length)return;
o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){return"undefined"==typeof b.getElementsByClassName||c?void 0:b.getElementsByClassName(a[1])},a=null}}(),H.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:H.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(16&a.compareDocumentPosition(b))}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;
return b?"HTML"!==b.nodeName:!1};
var w=function(a,b,c){for(var d,e=[],f="",g=b.nodeType?[b]:b;
d=o.match.PSEUDO.exec(a);
)f+=d[0],a=a.replace(o.match.PSEUDO,"");
a=o.relative[a]?a+"*":a;
for(var h=0,i=g.length;
i>h;
h++)m(a,g[h],e,c);
return m.filter(f,e)};
m.attr=K.attr,m.selectors.attrMap={},K.find=m,K.expr=m.selectors,K.expr[":"]=K.expr.filters,K.unique=m.uniqueSort,K.text=m.getText,K.isXMLDoc=m.isXML,K.contains=m.contains}();
var ia=/Until$/,ja=/^(?:parents|prevUntil|prevAll)/,ka=/,/,la=/^.[^:#\[\.,]*$/,ma=Array.prototype.slice,na=K.expr.match.POS,oa={children:!0,contents:!0,next:!0,prev:!0};
K.fn.extend({find:function(a){var b,c,d=this;
if("string"!=typeof a)return K(a).filter(function(){for(b=0,c=d.length;
c>b;
b++)if(K.contains(d[b],this))return!0});
var e,f,g,h=this.pushStack("","find",a);
for(b=0,c=this.length;
c>b;
b++)if(e=h.length,K.find(a,this[b],h),b>0)for(f=e;
f<h.length;
f++)for(g=0;
e>g;
g++)if(h[g]===h[f]){h.splice(f--,1);
break}return h},has:function(a){var b=K(a);
return this.filter(function(){for(var a=0,c=b.length;
c>a;
a++)if(K.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(z(this,a,!1),"not",a)},filter:function(a){return this.pushStack(z(this,a,!0),"filter",a)},is:function(a){return!!a&&("string"==typeof a?na.test(a)?K(a,this.context).index(this[0])>=0:K.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d,e=[],f=this[0];
if(K.isArray(a)){for(var g=1;
f&&f.ownerDocument&&f!==b;
){for(c=0;
c<a.length;
c++)K(f).is(a[c])&&e.push({selector:a[c],elem:f,level:g});
f=f.parentNode,g++}return e}var h=na.test(a)||"string"!=typeof a?K(a,b||this.context):0;
for(c=0,d=this.length;
d>c;
c++)for(f=this[c];
f;
){if(h?h.index(f)>-1:K.find.matchesSelector(f,a)){e.push(f);
break}if(f=f.parentNode,!f||!f.ownerDocument||f===b||11===f.nodeType)break}return e=e.length>1?K.unique(e):e,this.pushStack(e,"closest",a)},index:function(a){return a?"string"==typeof a?K.inArray(this[0],K(a)):K.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c="string"==typeof a?K(a,b):K.makeArray(a&&a.nodeType?[a]:a),d=K.merge(this.get(),c);
return this.pushStack(A(c[0])||A(d[0])?d:K.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),K.each({parent:function(a){var b=a.parentNode;
return b&&11!==b.nodeType?b:null},parents:function(a){return K.dir(a,"parentNode")},parentsUntil:function(a,b,c){return K.dir(a,"parentNode",c)},next:function(a){return K.nth(a,2,"nextSibling")},prev:function(a){return K.nth(a,2,"previousSibling")},nextAll:function(a){return K.dir(a,"nextSibling")},prevAll:function(a){return K.dir(a,"previousSibling")},nextUntil:function(a,b,c){return K.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return K.dir(a,"previousSibling",c)},siblings:function(a){return K.sibling(a.parentNode.firstChild,a)},children:function(a){return K.sibling(a.firstChild)},contents:function(a){return K.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:K.makeArray(a.childNodes)}},function(a,b){K.fn[a]=function(c,d){var e=K.map(this,b,c);
return ia.test(a)||(d=c),d&&"string"==typeof d&&(e=K.filter(d,e)),e=this.length>1&&!oa[a]?K.unique(e):e,(this.length>1||ka.test(d))&&ja.test(a)&&(e=e.reverse()),this.pushStack(e,a,ma.call(arguments).join(","))}}),K.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),1===b.length?K.find.matchesSelector(b[0],a)?[b[0]]:[]:K.find.matches(a,b)},dir:function(a,c,d){for(var e=[],f=a[c];
f&&9!==f.nodeType&&(d===b||1!==f.nodeType||!K(f).is(d));
)1===f.nodeType&&e.push(f),f=f[c];
return e},nth:function(a,b,c,d){b=b||1;
for(var e=0;
a&&(1!==a.nodeType||++e!==b);
a=a[c]);
return a},sibling:function(a,b){for(var c=[];
a;
a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);
return c}});
var pa="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",qa=/ jQuery\d+="(?:\d+|null)"/g,ra=/^\s+/,sa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ta=/<([\w:]+)/,ua=/<tbody/i,va=/<|&#?\w+;
/,wa=/<(?:script|style)/i,xa=/<(?:script|object|embed|option|style)/i,ya=new RegExp("<(?:"+pa+")","i"),za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/\/(java|ecma)script/i,Ba=/^\s*<!(?:\[CDATA\[|\-\-)/,Ca={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Da=y(H);
Ca.optgroup=Ca.option,Ca.tbody=Ca.tfoot=Ca.colgroup=Ca.caption=Ca.thead,Ca.th=Ca.td,K.support.htmlSerialize||(Ca._default=[1,"div<div>","</div>"]),K.fn.extend({text:function(a){return K.isFunction(a)?this.each(function(b){var c=K(this);
c.text(a.call(this,b,c.text()))}):"object"!=typeof a&&a!==b?this.empty().append((this[0]&&this[0].ownerDocument||H).createTextNode(a)):K.text(this)},wrapAll:function(a){if(K.isFunction(a))return this.each(function(b){K(this).wrapAll(a.call(this,b))});
if(this[0]){var b=K(a,this[0].ownerDocument).eq(0).clone(!0);
this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;
a.firstChild&&1===a.firstChild.nodeType;
)a=a.firstChild;
return a}).append(this)}return this},wrapInner:function(a){return K.isFunction(a)?this.each(function(b){K(this).wrapInner(a.call(this,b))}):this.each(function(){var b=K(this),c=b.contents();
c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=K.isFunction(a);
return this.each(function(c){K(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){K.nodeName(this,"body")||K(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){1===this.nodeType&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){1===this.nodeType&&this.insertBefore(a,this.firstChild)})},before:function(){
if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});
if(arguments.length){var a=K.clean(arguments);
return a.push.apply(a,this.toArray()),this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});
if(arguments.length){var a=this.pushStack(this,"after",arguments);
return a.push.apply(a,K.clean(arguments)),a}},remove:function(a,b){for(var c,d=0;
null!=(c=this[d]);
d++)(!a||K.filter(a,[c]).length)&&(!b&&1===c.nodeType&&(K.cleanData(c.getElementsByTagName("*")),K.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c));
return this},empty:function(){for(var a,b=0;
null!=(a=this[b]);
b++)for(1===a.nodeType&&K.cleanData(a.getElementsByTagName("*"));
a.firstChild;
)a.removeChild(a.firstChild);
return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return K.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&1===this[0].nodeType?this[0].innerHTML.replace(qa,""):null;
if("string"!=typeof a||wa.test(a)||!K.support.leadingWhitespace&&ra.test(a)||Ca[(ta.exec(a)||["",""])[1].toLowerCase()])K.isFunction(a)?this.each(function(b){var c=K(this);
c.html(a.call(this,b,c.html()))}):this.empty().append(a);
else{a=a.replace(sa,"<$1></$2>");
try{for(var c=0,d=this.length;
d>c;
c++)1===this[c].nodeType&&(K.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}return this},replaceWith:function(a){return this[0]&&this[0].parentNode?K.isFunction(a)?this.each(function(b){var c=K(this),d=c.html();
c.replaceWith(a.call(this,b,d))}):("string"!=typeof a&&(a=K(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;
K(this).remove(),b?K(b).before(a):K(c).append(a)})):this.length?this.pushStack(K(K.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,f,g,h,i=a[0],j=[];
if(!K.support.checkClone&&3===arguments.length&&"string"==typeof i&&za.test(i))return this.each(function(){K(this).domManip(a,c,d,!0)});
if(K.isFunction(i))return this.each(function(e){var f=K(this);
a[0]=i.call(this,e,c?f.html():b),f.domManip(a,c,d)});
if(this[0]){if(h=i&&i.parentNode,e=K.support.parentNode&&h&&11===h.nodeType&&h.childNodes.length===this.length?{fragment:h}:K.buildFragment(a,this,j),g=e.fragment,f=1===g.childNodes.length?g=g.firstChild:g.firstChild,f){c=c&&K.nodeName(f,"tr");
for(var k=0,l=this.length,m=l-1;
l>k;
k++)d.call(c?x(this[k],f):this[k],e.cacheable||l>1&&m>k?K.clone(g,!0,!0):g)}j.length&&K.each(j,q)}return this}}),K.buildFragment=function(a,b,c){var d,e,f,g,h=a[0];
return b&&b[0]&&(g=b[0].ownerDocument||b[0]),g.createDocumentFragment||(g=H),1===a.length&&"string"==typeof h&&h.length<512&&g===H&&"<"===h.charAt(0)&&!xa.test(h)&&(K.support.checkClone||!za.test(h))&&(K.support.html5Clone||!ya.test(h))&&(e=!0,f=K.fragments[h],f&&1!==f&&(d=f)),d||(d=g.createDocumentFragment(),K.clean(a,g,d,c)),e&&(K.fragments[h]=f?d:1),{fragment:d,cacheable:e}},K.fragments={},K.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){K.fn[a]=function(c){var d=[],e=K(c),f=1===this.length&&this[0].parentNode;
if(f&&11===f.nodeType&&1===f.childNodes.length&&1===e.length)return e[b](this[0]),this;
for(var g=0,h=e.length;
h>g;
g++){var i=(g>0?this.clone(!0):this).get();
K(e[g])[b](i),d=d.concat(i)}return this.pushStack(d,a,e.selector)}}),K.extend({clone:function(a,b,c){var d,e,f,g=K.support.html5Clone||!ya.test("<"+a.nodeName)?a.cloneNode(!0):r(a);
if(!(K.support.noCloneEvent&&K.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||K.isXMLDoc(a)))for(v(a,g),d=u(a),e=u(g),f=0;
d[f];
++f)e[f]&&v(d[f],e[f]);
if(b&&(w(a,g),c))for(d=u(a),e=u(g),f=0;
d[f];
++f)w(d[f],e[f]);
return d=e=null,g},clean:function(a,b,c,d){var e;
b=b||H,"undefined"==typeof b.createElement&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||H);
for(var f,g,h=[],i=0;
null!=(g=a[i]);
i++)if("number"==typeof g&&(g+=""),g){if("string"==typeof g)if(va.test(g)){g=g.replace(sa,"<$1></$2>");
var j=(ta.exec(g)||["",""])[1].toLowerCase(),k=Ca[j]||Ca._default,l=k[0],m=b.createElement("div");
for(b===H?Da.appendChild(m):y(b).appendChild(m),m.innerHTML=k[1]+g+k[2];
l--;
)m=m.lastChild;
if(!K.support.tbody){var n=ua.test(g),o="table"!==j||n?"<table>"!==k[1]||n?[]:m.childNodes:m.firstChild&&m.firstChild.childNodes;
for(f=o.length-1;
f>=0;
--f)K.nodeName(o[f],"tbody")&&!o[f].childNodes.length&&o[f].parentNode.removeChild(o[f])}!K.support.leadingWhitespace&&ra.test(g)&&m.insertBefore(b.createTextNode(ra.exec(g)[0]),m.firstChild),g=m.childNodes}else g=b.createTextNode(g);
var p;
if(!K.support.appendChecked)if(g[0]&&"number"==typeof(p=g.length))for(f=0;
p>f;
f++)s(g[f]);
else s(g);
g.nodeType?h.push(g):h=K.merge(h,g)}if(c)for(e=function(a){return!a.type||Aa.test(a.type)},i=0;
h[i];
i++)if(!d||!K.nodeName(h[i],"script")||h[i].type&&"text/javascript"!==h[i].type.toLowerCase()){if(1===h[i].nodeType){var q=K.grep(h[i].getElementsByTagName("script"),e);
h.splice.apply(h,[i+1,0].concat(q))}c.appendChild(h[i])}else d.push(h[i].parentNode?h[i].parentNode.removeChild(h[i]):h[i]);
return h},cleanData:function(a){for(var b,c,d,e=K.cache,f=K.event.special,g=K.support.deleteExpando,h=0;
null!=(d=a[h]);
h++)if((!d.nodeName||!K.noData[d.nodeName.toLowerCase()])&&(c=d[K.expando])){if(b=e[c],b&&b.events){for(var i in b.events)f[i]?K.event.remove(d,i):K.removeEvent(d,i,b.handle);
b.handle&&(b.handle.elem=null)}g?delete d[K.expando]:d.removeAttribute&&d.removeAttribute(K.expando),delete e[c]}}});
var Ea,Fa,Ga,Ha=/alpha\([^)]*\)/i,Ia=/opacity=([^)]*)/,Ja=/([A-Z]|^ms)/g,Ka=/^-?\d+(?:px)?$/i,La=/^-?\d/,Ma=/^([\-+])=([\-+.\de]+)/,Na={position:"absolute",visibility:"hidden",display:"block"},Oa=["Left","Right"],Pa=["Top","Bottom"];
K.fn.css=function(a,c){return 2===arguments.length&&c===b?this:K.access(this,a,c,!0,function(a,c,d){return d!==b?K.style(a,c,d):K.css(a,c)})},K.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ea(a,"opacity","opacity");
return""===c?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":K.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h=K.camelCase(c),i=a.style,j=K.cssHooks[h];
if(c=K.cssProps[h]||h,d===b)return j&&"get"in j&&(f=j.get(a,!1,e))!==b?f:i[c];
if(g=typeof d,"string"===g&&(f=Ma.exec(d))&&(d=+(f[1]+1)*+f[2]+parseFloat(K.css(a,c)),g="number"),null==d||"number"===g&&isNaN(d))return;
if("number"===g&&!K.cssNumber[h]&&(d+="px"),!(j&&"set"in j&&(d=j.set(a,d))===b))try{i[c]=d}catch(k){}}},css:function(a,c,d){var e,f;
return c=K.camelCase(c),f=K.cssHooks[c],c=K.cssProps[c]||c,"cssFloat"===c&&(c="float"),f&&"get"in f&&(e=f.get(a,!0,d))!==b?e:Ea?Ea(a,c):void 0},swap:function(a,b,c){var d={};
for(var e in b)d[e]=a.style[e],a.style[e]=b[e];
c.call(a);
for(e in b)a.style[e]=d[e]}}),K.curCSS=K.css,K.each(["height","width"],function(a,b){K.cssHooks[b]={get:function(a,c,d){var e;
return c?0!==a.offsetWidth?p(a,b,d):(K.swap(a,Na,function(){e=p(a,b,d)}),e):void 0},set:function(a,b){return Ka.test(b)?(b=parseFloat(b),b>=0?b+"px":void 0):b}}}),K.support.opacity||(K.cssHooks.opacity={get:function(a,b){return Ia.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=K.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";
c.zoom=1,b>=1&&""===K.trim(f.replace(Ha,""))&&(c.removeAttribute("filter"),d&&!d.filter)||(c.filter=Ha.test(f)?f.replace(Ha,e):f+" "+e)}}),K(function(){K.support.reliableMarginRight||(K.cssHooks.marginRight={get:function(a,b){var c;
return K.swap(a,{display:"inline-block"},function(){c=b?Ea(a,"margin-right","marginRight"):a.style.marginRight}),c}})}),H.defaultView&&H.defaultView.getComputedStyle&&(Fa=function(a,b){var c,d,e;
return b=b.replace(Ja,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),""===c&&!K.contains(a.ownerDocument.documentElement,a)&&(c=K.style(a,b))),c}),H.documentElement.currentStyle&&(Ga=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;
return null===f&&g&&(e=g[b])&&(f=e),!Ka.test(f)&&La.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left="fontSize"===b?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d)),""===f?"auto":f}),Ea=Fa||Ga,K.expr&&K.expr.filters&&(K.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;
return 0===b&&0===c||!K.support.reliableHiddenOffsets&&"none"===(a.style&&a.style.display||K.css(a,"display"))},K.expr.filters.visible=function(a){return!K.expr.filters.hidden(a)});
var Qa,Ra,Sa=/%20/g,Ta=/\[\]$/,Ua=/\r?\n/g,Va=/#.*$/,Wa=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Xa=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,Ya=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Za=/^(?:GET|HEAD)$/,$a=/^\/\//,_a=/\?/,ab=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bb=/^(?:select|textarea)/i,cb=/\s+/,db=/([?&])_=[^&]*/,eb=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,fb=K.fn.load,gb={},hb={},ib=["*/"]+["*"];
try{Qa=J.href}catch(jb){Qa=H.createElement("a"),Qa.href="",Qa=Qa.href}Ra=eb.exec(Qa.toLowerCase())||[],K.fn.extend({load:function(a,c,d){if("string"!=typeof a&&fb)return fb.apply(this,arguments);
if(!this.length)return this;