pearmut 0.2.7__tar.gz → 0.2.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. {pearmut-0.2.7 → pearmut-0.2.9}/PKG-INFO +13 -3
  2. {pearmut-0.2.7 → pearmut-0.2.9}/README.md +13 -3
  3. {pearmut-0.2.7 → pearmut-0.2.9}/pearmut.egg-info/PKG-INFO +13 -3
  4. {pearmut-0.2.7 → pearmut-0.2.9}/pyproject.toml +1 -1
  5. {pearmut-0.2.7 → pearmut-0.2.9}/server/app.py +55 -0
  6. {pearmut-0.2.7 → pearmut-0.2.9}/server/cli.py +22 -24
  7. pearmut-0.2.9/server/static/dashboard.bundle.js +1 -0
  8. {pearmut-0.2.7 → pearmut-0.2.9}/server/static/dashboard.html +28 -1
  9. pearmut-0.2.9/server/static/listwise.bundle.js +1 -0
  10. pearmut-0.2.9/server/static/pointwise.bundle.js +1 -0
  11. pearmut-0.2.7/server/static/dashboard.bundle.js +0 -1
  12. pearmut-0.2.7/server/static/listwise.bundle.js +0 -1
  13. pearmut-0.2.7/server/static/pointwise.bundle.js +0 -1
  14. {pearmut-0.2.7 → pearmut-0.2.9}/LICENSE +0 -0
  15. {pearmut-0.2.7 → pearmut-0.2.9}/pearmut.egg-info/SOURCES.txt +0 -0
  16. {pearmut-0.2.7 → pearmut-0.2.9}/pearmut.egg-info/dependency_links.txt +0 -0
  17. {pearmut-0.2.7 → pearmut-0.2.9}/pearmut.egg-info/entry_points.txt +0 -0
  18. {pearmut-0.2.7 → pearmut-0.2.9}/pearmut.egg-info/requires.txt +0 -0
  19. {pearmut-0.2.7 → pearmut-0.2.9}/pearmut.egg-info/top_level.txt +0 -0
  20. {pearmut-0.2.7 → pearmut-0.2.9}/server/assignment.py +0 -0
  21. {pearmut-0.2.7 → pearmut-0.2.9}/server/static/assets/favicon.svg +0 -0
  22. {pearmut-0.2.7 → pearmut-0.2.9}/server/static/assets/style.css +0 -0
  23. {pearmut-0.2.7 → pearmut-0.2.9}/server/static/index.html +0 -0
  24. {pearmut-0.2.7 → pearmut-0.2.9}/server/static/listwise.html +0 -0
  25. {pearmut-0.2.7 → pearmut-0.2.9}/server/static/pointwise.html +0 -0
  26. {pearmut-0.2.7 → pearmut-0.2.9}/server/utils.py +0 -0
  27. {pearmut-0.2.7 → pearmut-0.2.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pearmut
3
- Version: 0.2.7
3
+ Version: 0.2.9
4
4
  Summary: A tool for evaluation of model outputs, primarily MT.
5
5
  Author-email: Vilém Zouhar <vilem.zouhar@gmail.com>
6
6
  License: MIT
@@ -278,12 +278,22 @@ Management link (shown when adding campaigns or running server) provides:
278
278
  - Task progress reset (data preserved)
279
279
  - Download progress and annotations
280
280
 
281
- <img width="800" alt="Management dashboard" src="https://github.com/user-attachments/assets/800a1741-5f41-47ac-9d5d-5cbf6abfc0e6" />
281
+ <img width="1000" alt="Management dashboard" src="https://github.com/user-attachments/assets/8953252c-d7b1-428c-a974-5bc7501457c7" />
282
282
 
283
283
  Completion tokens are shown at annotation end for verification (download correct tokens from dashboard). Incorrect tokens can be shown if quality control fails.
284
284
 
285
285
  <img width="500" alt="Token on completion" src="https://github.com/user-attachments/assets/40eb904c-f47a-4011-aa63-9a4f1c501549" />
286
286
 
287
+ ### Model Results Display
288
+
289
+ Add `&results` to dashboard URL to show model rankings (requires valid token).
290
+ Items need `model` field (pointwise) or `models` field (listwise) and the `protocol_score` needs to be enable such that the `score` can be used for the ranking:
291
+ ```python
292
+ {"doc_id": "1", "model": "CommandA", "src": "...", "tgt": "..."}
293
+ {"doc_id": "2", "models": ["CommandA", "Claude"], "src": "...", "tgt": ["...", "..."]}
294
+ ```
295
+ See an example in [Campaign Management](#campaign-management)
296
+
287
297
  ## Development
288
298
 
289
299
  Server responds to data-only requests from frontend (no template coupling). Frontend served from pre-built `static/` on install.
@@ -295,7 +305,7 @@ cd pearmut
295
305
  npm install web/ --prefix web/
296
306
  npm run build --prefix web/
297
307
  # optionally keep running indefinitely to auto-rebuild
298
- npm watch build --prefix web/
308
+ npm run watch --prefix web/
299
309
 
300
310
  # Install as editable
301
311
  pip3 install -e .
@@ -258,12 +258,22 @@ Management link (shown when adding campaigns or running server) provides:
258
258
  - Task progress reset (data preserved)
259
259
  - Download progress and annotations
260
260
 
261
- <img width="800" alt="Management dashboard" src="https://github.com/user-attachments/assets/800a1741-5f41-47ac-9d5d-5cbf6abfc0e6" />
261
+ <img width="1000" alt="Management dashboard" src="https://github.com/user-attachments/assets/8953252c-d7b1-428c-a974-5bc7501457c7" />
262
262
 
263
263
  Completion tokens are shown at annotation end for verification (download correct tokens from dashboard). Incorrect tokens can be shown if quality control fails.
264
264
 
265
265
  <img width="500" alt="Token on completion" src="https://github.com/user-attachments/assets/40eb904c-f47a-4011-aa63-9a4f1c501549" />
266
266
 
267
+ ### Model Results Display
268
+
269
+ Add `&results` to dashboard URL to show model rankings (requires valid token).
270
+ Items need `model` field (pointwise) or `models` field (listwise) and the `protocol_score` needs to be enable such that the `score` can be used for the ranking:
271
+ ```python
272
+ {"doc_id": "1", "model": "CommandA", "src": "...", "tgt": "..."}
273
+ {"doc_id": "2", "models": ["CommandA", "Claude"], "src": "...", "tgt": ["...", "..."]}
274
+ ```
275
+ See an example in [Campaign Management](#campaign-management)
276
+
267
277
  ## Development
268
278
 
269
279
  Server responds to data-only requests from frontend (no template coupling). Frontend served from pre-built `static/` on install.
@@ -275,7 +285,7 @@ cd pearmut
275
285
  npm install web/ --prefix web/
276
286
  npm run build --prefix web/
277
287
  # optionally keep running indefinitely to auto-rebuild
278
- npm watch build --prefix web/
288
+ npm run watch --prefix web/
279
289
 
280
290
  # Install as editable
281
291
  pip3 install -e .
@@ -307,4 +317,4 @@ If you use this work in your paper, please cite as following.
307
317
  }
308
318
  ```
309
319
 
310
- Contributions are welcome! Please reach out to [Vilém Zouhar](mailto:vilem.zouhar@gmail.com).
320
+ Contributions are welcome! Please reach out to [Vilém Zouhar](mailto:vilem.zouhar@gmail.com).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pearmut
3
- Version: 0.2.7
3
+ Version: 0.2.9
4
4
  Summary: A tool for evaluation of model outputs, primarily MT.
5
5
  Author-email: Vilém Zouhar <vilem.zouhar@gmail.com>
6
6
  License: MIT
@@ -278,12 +278,22 @@ Management link (shown when adding campaigns or running server) provides:
278
278
  - Task progress reset (data preserved)
279
279
  - Download progress and annotations
280
280
 
281
- <img width="800" alt="Management dashboard" src="https://github.com/user-attachments/assets/800a1741-5f41-47ac-9d5d-5cbf6abfc0e6" />
281
+ <img width="1000" alt="Management dashboard" src="https://github.com/user-attachments/assets/8953252c-d7b1-428c-a974-5bc7501457c7" />
282
282
 
283
283
  Completion tokens are shown at annotation end for verification (download correct tokens from dashboard). Incorrect tokens can be shown if quality control fails.
284
284
 
285
285
  <img width="500" alt="Token on completion" src="https://github.com/user-attachments/assets/40eb904c-f47a-4011-aa63-9a4f1c501549" />
286
286
 
287
+ ### Model Results Display
288
+
289
+ Add `&results` to dashboard URL to show model rankings (requires valid token).
290
+ Items need `model` field (pointwise) or `models` field (listwise) and the `protocol_score` needs to be enable such that the `score` can be used for the ranking:
291
+ ```python
292
+ {"doc_id": "1", "model": "CommandA", "src": "...", "tgt": "..."}
293
+ {"doc_id": "2", "models": ["CommandA", "Claude"], "src": "...", "tgt": ["...", "..."]}
294
+ ```
295
+ See an example in [Campaign Management](#campaign-management)
296
+
287
297
  ## Development
288
298
 
289
299
  Server responds to data-only requests from frontend (no template coupling). Frontend served from pre-built `static/` on install.
@@ -295,7 +305,7 @@ cd pearmut
295
305
  npm install web/ --prefix web/
296
306
  npm run build --prefix web/
297
307
  # optionally keep running indefinitely to auto-rebuild
298
- npm watch build --prefix web/
308
+ npm run watch --prefix web/
299
309
 
300
310
  # Install as editable
301
311
  pip3 install -e .
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pearmut"
3
- version = "0.2.7"
3
+ version = "0.2.9"
4
4
  description = "A tool for evaluation of model outputs, primarily MT."
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -1,5 +1,7 @@
1
+ import collections
1
2
  import json
2
3
  import os
4
+ import statistics
3
5
  from typing import Any
4
6
 
5
7
  from fastapi import FastAPI, Query
@@ -12,6 +14,7 @@ from .assignment import get_i_item, get_next_item, reset_task, update_progress
12
14
  from .utils import (
13
15
  ROOT,
14
16
  check_validation_threshold,
17
+ get_db_log,
15
18
  load_progress_data,
16
19
  save_db_payload,
17
20
  save_progress_data,
@@ -191,6 +194,58 @@ async def _dashboard_data(request: DashboardDataRequest):
191
194
  )
192
195
 
193
196
 
197
+ class DashboardResultsRequest(BaseModel):
198
+ campaign_id: str
199
+ token: str
200
+
201
+
202
+ @app.post("/dashboard-results")
203
+ async def _dashboard_results(request: DashboardResultsRequest):
204
+ campaign_id = request.campaign_id
205
+ token = request.token
206
+
207
+ if campaign_id not in progress_data:
208
+ return JSONResponse(content="Unknown campaign ID", status_code=400)
209
+
210
+ # Check if token is valid
211
+ if token != tasks_data[campaign_id]["token"]:
212
+ return JSONResponse(content="Invalid token", status_code=400)
213
+
214
+ # Compute model scores from annotations
215
+ model_scores = collections.defaultdict(dict)
216
+
217
+ # Iterate through all tasks to find items with 'model' field
218
+ log = get_db_log(campaign_id)
219
+ for entry in log:
220
+ if "item" not in entry or "annotations" not in entry:
221
+ continue
222
+ for item, annotation in zip(entry["item"], entry["annotations"]):
223
+ if "model" in item:
224
+ # pointwise
225
+ if "score" in annotation:
226
+ # make sure to only keep the latest score for each item
227
+ # json.dumps(item) creates a unique item key
228
+ model_scores[item["model"]][json.dumps(item)] = annotation["score"]
229
+ elif "models" in item:
230
+ # listwise
231
+ for model, annotation_cand in zip(item["models"], annotation):
232
+ if "score" in annotation_cand:
233
+ model_scores[model][json.dumps(item)] = (
234
+ annotation_cand["score"]
235
+ )
236
+
237
+ results = [
238
+ {
239
+ "model": model,
240
+ "score": statistics.mean(scores.values()),
241
+ "count": len(scores),
242
+ }
243
+ for model, scores in model_scores.items()
244
+ ]
245
+ results.sort(key=lambda x: x["score"], reverse=True)
246
+ return JSONResponse(content=results, status_code=200)
247
+
248
+
194
249
  class ResetTaskRequest(BaseModel):
195
250
  campaign_id: str
196
251
  user_id: str
@@ -41,7 +41,9 @@ def _run(args_unknown):
41
41
  args.server + "/dashboard.html?" + "&".join([
42
42
  f"campaign_id={urllib.parse.quote_plus(campaign_id)}&token={campaign_data["token"]}"
43
43
  for campaign_id, campaign_data in tasks_data.items()
44
- ])
44
+ ]),
45
+ # this is important to flush
46
+ flush=True,
45
47
  )
46
48
 
47
49
  uvicorn.run(
@@ -278,26 +280,24 @@ def _add_single_campaign(data_file, overwrite, server):
278
280
  )
279
281
 
280
282
  # Symlink path is based on the destination, stripping the 'assets/' prefix
281
- symlink_path = f"{STATIC_DIR}/{assets_destination}"
283
+ symlink_path = f"{STATIC_DIR}/{assets_destination}".rstrip("/")
282
284
 
283
285
  # Remove existing symlink if present and we are overriding the same campaign
284
286
  if os.path.lexists(symlink_path):
285
287
  # Check if any other campaign is using this destination
286
288
  current_campaign_id = campaign_data['campaign_id']
287
- tasks_dir = f"{ROOT}/data/tasks"
288
- if os.path.exists(tasks_dir):
289
- for task_file in os.listdir(tasks_dir):
290
- if task_file.endswith('.json'):
291
- other_campaign_id = task_file[:-5]
292
- if other_campaign_id != current_campaign_id:
293
- with open(f"{tasks_dir}/{task_file}", "r") as f:
294
- other_campaign = json.load(f)
295
- other_assets = other_campaign.get("info", {}).get("assets")
296
- if other_assets and isinstance(other_assets, dict):
297
- if other_assets.get("destination") == assets_destination:
298
- raise ValueError(
299
- f"Assets destination '{assets_destination}' is already used by campaign '{other_campaign_id}'."
300
- )
289
+
290
+ for other_campaign_id in progress_data.keys():
291
+ if other_campaign_id == current_campaign_id:
292
+ continue
293
+ with open(f"{ROOT}/data/tasks/{other_campaign_id}.json", "r") as f:
294
+ other_campaign = json.load(f)
295
+ other_assets = other_campaign.get("info", {}).get("assets")
296
+ if other_assets:
297
+ if other_assets.get("destination") == assets_destination:
298
+ raise ValueError(
299
+ f"Assets destination '{assets_destination}' is already used by campaign '{other_campaign_id}'."
300
+ )
301
301
  # Only allow overwrite if it's the same campaign
302
302
  if overwrite:
303
303
  os.remove(symlink_path)
@@ -305,7 +305,8 @@ def _add_single_campaign(data_file, overwrite, server):
305
305
  raise ValueError(f"Assets destination '{assets_destination}' is already taken.")
306
306
 
307
307
  # Ensure the assets directory exists
308
- os.makedirs(f"{STATIC_DIR}/assets", exist_ok=True)
308
+ # get parent of symlink_path dir
309
+ os.makedirs(os.path.dirname(symlink_path), exist_ok=True)
309
310
 
310
311
  os.symlink(assets_real_path, symlink_path, target_is_directory=True)
311
312
  print(f"Assets symlinked: {symlink_path} -> {assets_real_path}")
@@ -391,7 +392,7 @@ def main():
391
392
  campaign_data = json.load(f)
392
393
  destination = campaign_data.get("info", {}).get("assets", {}).get("destination")
393
394
  if destination:
394
- symlink_path = f"{STATIC_DIR}/{destination}"
395
+ symlink_path = f"{STATIC_DIR}/{destination}".rstrip("/")
395
396
  if os.path.islink(symlink_path):
396
397
  os.remove(symlink_path)
397
398
  print(f"Assets symlink removed: {symlink_path}")
@@ -436,12 +437,9 @@ def main():
436
437
  )
437
438
  if confirm.lower() == 'y':
438
439
  # Unlink all assets first
439
- tasks_dir = f"{ROOT}/data/tasks"
440
- if os.path.exists(tasks_dir):
441
- for task_file in os.listdir(tasks_dir):
442
- if task_file.endswith('.json'):
443
- campaign_id = task_file[:-5]
444
- _unlink_assets(campaign_id)
440
+ progress_data = load_progress_data()
441
+ for campaign_id in progress_data.keys():
442
+ _unlink_assets(campaign_id)
445
443
  shutil.rmtree(f"{ROOT}/data/tasks", ignore_errors=True)
446
444
  shutil.rmtree(f"{ROOT}/data/outputs", ignore_errors=True)
447
445
  if os.path.exists(f"{ROOT}/data/progress.json"):
@@ -0,0 +1 @@
1
+ (()=>{var e={185:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MQM_ERROR_CATEGORIES=void 0,t.notify=function(e){const t=(0,o.default)("<div></div>").html(e).css({position:"fixed",top:"10px",left:"50%",transform:"translateX(-50%)",backgroundColor:"rgba(0, 0, 0, 0.8)",color:"white",padding:"10px 20px",borderRadius:"5px",zIndex:"1000"}).appendTo("body");setTimeout(()=>{t.remove()},4e3)},t.isSpanComplete=function(e,t){return null!=e.severity&&!(t&&(null==e.category||!e.category.includes("/")))},t.redrawProgress=i,t.createSpanToolbox=function(e,n,r,i,a,s,l=!1){let u=(0,o.default)('\n <div class=\'span_toolbox_parent\'>\n <div class=\'span_toolbox\'>\n <div class="span_toolbox_esa" style="display: inline-block; width: 70px; padding-right: 5px;">\n <input type="button" class="error_delete" style="border-radius: 8px;" value="Remove">\n <input type="button" class="error_neutral" style="margin-top: 3px;" value="Neutral">\n <input type="button" class="error_minor" style="margin-top: 3px;" value="Minor">\n <input type="button" class="error_major" style="margin-top: 3px;" value="Major">\n </div>\n <div class="span_toolbox_mqm" style="display: inline-block; width: 140px; vertical-align: top;">\n <select style="height: 2em; width: 100%;"></select><br>\n <select style="height: 2em; width: 100%; margin-top: 3px;" disabled></select>\n </div>\n </div>\n </div>\n ');for(let e of Object.keys(t.MQM_ERROR_CATEGORIES))u.find("select").eq(0).append(`<option value="${e}">${e}</option>`);u.find("select").eq(0).on("change",function(){if(l)return;let e=this.value;n.category=e;let r=u.find("select").eq(1);r.empty();let o=t.MQM_ERROR_CATEGORIES[e];r.prop("disabled",!1);for(let e of o)r.append(`<option value="${e}">${e}</option>`);""==e?(r.prop("disabled",!0),n.category=""):"Other"==e?(r.prop("disabled",!0),n.category="Other/Other"):n.category=`${e}`}),u.find("select").eq(1).on("change",function(){if(l)return;let e=u.find("select").eq(0).val(),t=this.value;n.category=""==t&&"Other"!=e?`${e}`:`${e}/${t}`}),e||(u.find(".error_neutral").remove(),u.find(".span_toolbox_mqm").remove(),u.find(".span_toolbox_esa").css("border-right",""),u.find(".span_toolbox_esa").css("margin-right","-5px"));l&&(u.find(".error_delete").prop("disabled",!0),u.find(".error_neutral").prop("disabled",!0),u.find(".error_minor").prop("disabled",!0),u.find(".error_major").prop("disabled",!0),u.find("select").prop("disabled",!0));if(u.find(".error_delete").on("click",()=>{if(!l){u.remove();for(let e=i;e<=a;e++)(0,o.default)(r[e].el).removeClass("error_unknown"),(0,o.default)(r[e].el).removeClass("error_neutral"),(0,o.default)(r[e].el).removeClass("error_minor"),(0,o.default)(r[e].el).removeClass("error_major"),r[e].toolbox=null,r[e].error_span=null;s()}}),u.find(".error_neutral").on("click",()=>{if(!l){for(let e=i;e<=a;e++)(0,o.default)(r[e].el).removeClass("error_unknown"),(0,o.default)(r[e].el).removeClass("error_minor"),(0,o.default)(r[e].el).removeClass("error_major"),(0,o.default)(r[e].el).addClass("error_neutral");n.severity="neutral"}}),u.find(".error_minor").on("click",()=>{if(!l){for(let e=i;e<=a;e++)(0,o.default)(r[e].el).removeClass("error_unknown"),(0,o.default)(r[e].el).removeClass("error_neutral"),(0,o.default)(r[e].el).removeClass("error_major"),(0,o.default)(r[e].el).addClass("error_minor");n.severity="minor"}}),u.find(".error_major").on("click",()=>{if(!l){for(let e=i;e<=a;e++)(0,o.default)(r[e].el).removeClass("error_unknown"),(0,o.default)(r[e].el).removeClass("error_neutral"),(0,o.default)(r[e].el).removeClass("error_minor"),(0,o.default)(r[e].el).addClass("error_major");n.severity="major"}}),e&&n.category&&n.category.includes("/")){const[e,r]=n.category.split("/"),o=u.find("select").eq(0),i=u.find("select").eq(1);o.val(e),i.empty();const a=t.MQM_ERROR_CATEGORIES[e];if(a){i.prop("disabled",!1);for(let e of a)i.append(`<option value="${e}">${e}</option>`);i.val(r)}}else if(e&&n.category&&""!==n.category){u.find("select").eq(0).val(n.category);const e=u.find("select").eq(1);e.empty();const r=t.MQM_ERROR_CATEGORIES[n.category];if(r&&"Other"!==n.category){e.prop("disabled",!1);for(let t of r)e.append(`<option value="${t}">${t}</option>`)}}return u},t.updateToolboxPosition=function(e,t){const n=t.position();if(!n)return;const r=e.innerHeight()||0,i=e.innerWidth()||0,a=(0,o.default)(window).width()||900;let s=n.top-r,l=n.left;l=Math.min(l,Math.max(a,900)-i+10),e.css({top:s,left:l-25})},t.validateResponse=function(e,t){if(!t)return!0;if(void 0!==t.score){const[n,r]=t.score;if(null===e.score||e.score<n||e.score>r)return!1}if(void 0!==t.error_spans&&t.error_spans.length>0)for(const n of t.error_spans){if(!e.error_spans.some(e=>s(e,n)))return!1}return!0},t.hasAllowSkip=function(e){for(const t of e)if(t)if(Array.isArray(t)){if(t.some(e=>!0===(null==e?void 0:e.allow_skip)))return!0}else if(!0===t.allow_skip)return!0;return!1},t.displayCompletionScreen=function(e,t){(0,o.default)("#output_div").html(`\n <div class='white-box' style='width: max-content'>\n <h2>🎉 All done, thank you for your annotations!</h2>\n\n If someone asks you for a token of completion, show them\n <span style="font-family: monospace; font-size: 11pt; padding: 5px;">${e.token}</span>\n <br>\n <br>\n </div>\n `),i(null,e.progress,t),(0,o.default)("#time").text(`Time: ${Math.round(e.time/60)}m`),(0,o.default)("#button_next").prop("disabled",!0),(0,o.default)("#button_next").val("Next 💯")},t.isMediaContent=function(e){return e.startsWith("<audio ")||e.startsWith("<video ")||e.startsWith("<img ")||e.startsWith("<iframe ")},t.contentToCharSpans=function(e,t){return e.split("").map(e=>"\n"==e?"<br>":`<span class="${t}">${e}</span>`).join("")},t.computeWordBoundaries=function(e){const t=[];for(let n=0;n<e.length;n++)if(l.test(e[n])){let r=n;for(;n<e.length-1&&l.test(e[n+1]);)n++;for(let e=r;e<=n;e++)t.push([r,n])}else t.push([n,n]);return t};const o=r(n(692));function i(e,t,n){let r=t.map((t,n)=>n===e?`<span class="progress_current" data-index="${n}">${n+1}</span>`:t?`<span class="progress_complete" data-index="${n}">${n+1}</span>`:`<span class="progress_incomplete" data-index="${n}">${n+1}</span>`).join("");(0,o.default)("#progress").html(r),n&&(0,o.default)("#progress span").on("click",function(){const e=parseInt((0,o.default)(this).data("index"));n(e)})}function a(e,t){return Array.isArray(t)?e>=t[0]&&e<=t[1]:e===t}function s(e,t){return!(void 0!==t.start_i&&!a(e.start_i,t.start_i))&&(!(void 0!==t.end_i&&!a(e.end_i,t.end_i))&&(void 0===t.severity||e.severity===t.severity))}t.MQM_ERROR_CATEGORIES={"":[],Terminology:["","Inconsistent with terminology resource","Inconsistent use of terminology","Wrong term"],Accuracy:["","Mistranslation","Overtranslation","Undertranslation","Addition","Omission","Do not translate","Untranslated"],"Linguistic conventions":["","Grammar","Punctuation","Spelling","Unintelligible","Character encoding","Textual conventions"],Style:["","Organization style","Third-party style","Inconsistent with external reference","Language register","Awkward style","Unidiomatic style","Inconsistent style"],"Locale convention":["","Number format","Currency format","Measurement format","Time format","Date format","Address format","Telephone format","Shortcut key"],"Audience appropriateness":["","Culture-specific reference","Offensive"],"Design and markup":["","Layout","Markup tag","Truncation/text expansion","Missing text","Link/cross-reference"],Other:[]};const l=/^\p{L}|\p{N}$/u},320:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(185),a=o(n(692));let s=new URLSearchParams(window.location.search),l=s.getAll("campaign_id"),u=s.getAll("token"),c=s.has("results");if(0!=u.length&&u.length!=l.length)throw(0,a.default)("#main_div").html('\n <div class="white-box">\n ⛔ Either no tokens should be provided or the same number as campaign IDs.\n </div>\n '),new Error("Mismatched number of tokens and campaign IDs");function f(e){return e<60?`${Math.round(e)}s`:e<3600?`${Math.round(e/60)}m`:e<86400?`${Math.round(e/60/60)}h`:`${Math.round(e/60/60/24)}d`}function d(e,t){return r(this,void 0,void 0,function*(){let n=(yield a.default.ajax({url:"/dashboard-data",method:"POST",data:JSON.stringify({campaign_id:e,token:t}),contentType:"application/json",dataType:"json"})).data,r=null;if(c&&null!=t)try{r=yield a.default.ajax({url:"/dashboard-results",method:"POST",data:JSON.stringify({campaign_id:e,token:t}),contentType:"application/json",dataType:"json"})}catch(e){console.error("Error fetching results:",e)}let o="";o+='\n <table class="dashboard-table">\n <thead><tr>\n <th style="min-width: 300px;">User ID</th>\n <th style="min-width: 50px;">Progress</th>\n <th style="min-width: 80px;">First</th>\n <th style="min-width: 80px;">Last</th>\n <th style="min-width: 80px;">Time</th>\n <th style="min-width: 70px;">Checks</th>\n <th style="min-width: 50px;">Actions</th>\n </tr></thead>\n <tbody>';for(let e in n){let r=n[e].progress.reduce((e,t)=>e+(t?1:0),0),i=n[e].progress.length,a=(n[e].failed_checks,n[e].threshold_passed),s="";s=0==n[e].time?"💤":0!=n[e].time&&r==i?!1===a?"❌":"✅":"✍️",o+="<tr>",o+=`<td>${s} ${e}</td>`,o+=`<td>${r}/${i}</td>`,null==n[e].time_start?o+='<td title="N/A"></td>':o+=`<td title="${new Date(1e3*n[e].time_start).toLocaleString()}">${f(Date.now()/1e3-n[e].time_start)} ago</td>`,null==n[e].time_end?o+='<td title="N/A"></td>':o+=`<td title="${new Date(1e3*n[e].time_end).toLocaleString()}">${f(Date.now()/1e3-n[e].time_end)} ago</td>`,o+=`<td>${Math.round(n[e].time/60)}m</td>`;let l=n[e].validations.reduce((e,t)=>e+(t?1:0),0),u=n[e].validations.length;o+=`<td><span style="${l!=u?"color: #c75050;":""}">${l}</span><span style="color: #333;">/${u}</span></td>`,o+=`<td>\n <a href="${n[e].url}">🔗</a>\n &nbsp;&nbsp;\n <a href="${n[e].url}&frozen" title="View only (frozen)">👁️</a>\n &nbsp;&nbsp;\n <span class="reset-task" user_id="${e}" ${null==t?"disabled":""}>🗑️</span>\n </td>`,o+="</tr>"}o+="</tbody></table>";let s="";if(r&&r.length>0){s='\n <div class="results-section">\n <h4 style="margin-top: -2.5em;">Intermediate results</h4>\n <table class="results-table">\n <thead><tr>\n <th>Model</th>\n <th>Score</th>\n <th>Count</th>\n </tr></thead>\n <tbody>';for(let e of r)s+=`\n <tr>\n <td>${e.model}</td>\n <td>${e.score.toFixed(1)}</td>\n <td>${e.count}</td>\n </tr>`;s+="\n </tbody>\n </table>\n </div>"}let l=`${window.location.origin}/dashboard.html?campaign_id=${encodeURIComponent(e)}${null!=t?`&token=${encodeURIComponent(t)}`:""}${c?"&results":""}`,u=(0,a.default)(`\n <div class="white-box">\n <h3>${e} <a href="${l}">🔗</a></h3>\n <div class="dashboard-content">\n ${o}\n ${s}\n </div>\n </div>`);(0,a.default)("#dashboard_div").append(u),null!=t&&u.find(".reset-task").on("click",function(){let n=(0,a.default)(this).attr("user_id");confirm(`Are you sure you want to reset progress for user ${(0,a.default)(this).attr("user_id")} in ${e}?\n\nThe user will annotate new data which will be stored alongside the already-collected data. This action cannot be undone.`)&&a.default.ajax({url:"/reset-task",method:"POST",data:JSON.stringify({campaign_id:e,user_id:n,token:t}),contentType:"application/json",dataType:"json",success:e=>{(0,i.notify)(`Task for user ${n} has been reset.`),location.reload()},error:e=>{var t;const n=(null===(t=e.responseJSON)||void 0===t?void 0:t.error)||e.responseText||e.statusText||"An unknown error occurred";(0,i.notify)("Error resetting task: "+n)}})})})}r(void 0,void 0,void 0,function*(){var e;for(let t=0;t<l.length;t++){let n=l[t],r=u[t]||null;try{yield d(n,r)}catch(t){const n=(null===(e=null==t?void 0:t.responseJSON)||void 0===e?void 0:e.error)||(null==t?void 0:t.responseText)||(null==t?void 0:t.statusText)||"An unknown error occurred";(0,i.notify)("Error fetching data: "+n)}}}),0==u.length?(0,a.default)("#download_progress").attr("disabled","true"):(0,a.default)("#download_progress").attr("href",`/download-progress?${l.map((e,t)=>`campaign_id=${encodeURIComponent(e)}&${u[t]?`token=${encodeURIComponent(u[t])}`:""}`).join("&")}`),(0,a.default)("#download_annotations").attr("href",`/download-annotations?${l.map((e,t)=>`campaign_id=${encodeURIComponent(e)}&${u[t]?`token=${encodeURIComponent(u[t])}`:""}`).join("&")}`)},692:function(e,t){var n;!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(r,o){"use strict";var i=[],a=Object.getPrototypeOf,s=i.slice,l=i.flat?function(e){return i.flat.call(e)}:function(e){return i.concat.apply([],e)},u=i.push,c=i.indexOf,f={},d=f.toString,p=f.hasOwnProperty,h=p.toString,g=h.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},x=r.document,b={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var r,o,i=(n=n||x).createElement("script");if(i.text=e,t)for(r in b)(o=t[r]||t.getAttribute&&t.getAttribute(r))&&i.setAttribute(r,o);n.head.appendChild(i).parentNode.removeChild(i)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[d.call(e)]||"object":typeof e}var C="3.7.1",k=/HTML$/i,S=function(e,t){return new S.fn.init(e,t)};function E(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!m(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function j(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}S.fn=S.prototype={jquery:C,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(e){return this.pushStack(S.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:i.sort,splice:i.splice},S.extend=S.fn.extend=function(){var e,t,n,r,o,i,a=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===l&&(a=this,s--);s<l;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(u&&r&&(S.isPlainObject(r)||(o=Array.isArray(r)))?(n=a[t],i=o&&!Array.isArray(n)?[]:o||S.isPlainObject(n)?n:{},o=!1,a[t]=S.extend(u,i,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(C+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==d.call(e))&&(!(t=a(e))||"function"==typeof(n=p.call(t,"constructor")&&t.constructor)&&h.call(n)===g)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){w(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(E(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,o=e.nodeType;if(!o)for(;t=e[r++];)n+=S.text(t);return 1===o||11===o?e.textContent:9===o?e.documentElement.textContent:3===o||4===o?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(E(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:c.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!k.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r=[],o=0,i=e.length,a=!n;o<i;o++)!t(e[o],o)!==a&&r.push(e[o]);return r},map:function(e,t,n){var r,o,i=0,a=[];if(E(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&a.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&a.push(o);return l(a)},guid:1,support:v}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=i[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){f["[object "+t+"]"]=t.toLowerCase()});var A=i.pop,D=i.sort,_=i.splice,N="[\\x20\\t\\r\\n\\f]",O=new RegExp("^"+N+"+|((?:^|[^\\\\])(?:\\\\.)*)"+N+"+$","g");S.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var q=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function $(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}S.escapeSelector=function(e){return(e+"").replace(q,$)};var L=x,R=u;!function(){var e,t,n,o,a,l,u,f,d,h,g=R,m=S.expando,y=0,x=0,b=ee(),w=ee(),T=ee(),C=ee(),k=function(e,t){return e===t&&(a=!0),0},E="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",q="(?:\\\\[\\da-fA-F]{1,6}"+N+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",$="\\["+N+"*("+q+")(?:"+N+"*([*^$|!~]?=)"+N+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+q+"))|)"+N+"*\\]",M=":("+q+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+$+")*)|.*)\\)|)",H=new RegExp(N+"+","g"),P=new RegExp("^"+N+"*,"+N+"*"),I=new RegExp("^"+N+"*([>+~]|"+N+")"+N+"*"),W=new RegExp(N+"|>"),F=new RegExp(M),B=new RegExp("^"+q+"$"),U={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+$),PSEUDO:new RegExp("^"+M),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+N+"*(even|odd|(([+-]|)(\\d*)n|)"+N+"*(?:([+-]|)"+N+"*(\\d+)|))"+N+"*\\)|)","i"),bool:new RegExp("^(?:"+E+")$","i"),needsContext:new RegExp("^"+N+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+N+"*((?:-\\d)?\\d*)"+N+"*\\)|)(?=[^-]|$)","i")},z=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,G=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,V=/[+~]/,Q=new RegExp("\\\\[\\da-fA-F]{1,6}"+N+"?|\\\\([^\\r\\n\\f])","g"),J=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},Y=function(){le()},K=de(function(e){return!0===e.disabled&&j(e,"fieldset")},{dir:"parentNode",next:"legend"});try{g.apply(i=s.call(L.childNodes),L.childNodes),i[L.childNodes.length].nodeType}catch(e){g={apply:function(e,t){R.apply(e,s.call(t))},call:function(e){R.apply(e,s.call(arguments,1))}}}function Z(e,t,n,r){var o,i,a,s,u,c,p,h=t&&t.ownerDocument,y=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==y&&9!==y&&11!==y)return n;if(!r&&(le(t),t=t||l,f)){if(11!==y&&(u=G.exec(e)))if(o=u[1]){if(9===y){if(!(a=t.getElementById(o)))return n;if(a.id===o)return g.call(n,a),n}else if(h&&(a=h.getElementById(o))&&Z.contains(t,a)&&a.id===o)return g.call(n,a),n}else{if(u[2])return g.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&t.getElementsByClassName)return g.apply(n,t.getElementsByClassName(o)),n}if(!(C[e+" "]||d&&d.test(e))){if(p=e,h=t,1===y&&(W.test(e)||I.test(e))){for((h=V.test(e)&&se(t.parentNode)||t)==t&&v.scope||((s=t.getAttribute("id"))?s=S.escapeSelector(s):t.setAttribute("id",s=m)),i=(c=ce(e)).length;i--;)c[i]=(s?"#"+s:":scope")+" "+fe(c[i]);p=c.join(",")}try{return g.apply(n,h.querySelectorAll(p)),n}catch(t){C(e,!0)}finally{s===m&&t.removeAttribute("id")}}}return ye(e.replace(O,"$1"),t,n,r)}function ee(){var e=[];return function n(r,o){return e.push(r+" ")>t.cacheLength&&delete n[e.shift()],n[r+" "]=o}}function te(e){return e[m]=!0,e}function ne(e){var t=l.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function re(e){return function(t){return j(t,"input")&&t.type===e}}function oe(e){return function(t){return(j(t,"input")||j(t,"button"))&&t.type===e}}function ie(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&K(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ae(e){return te(function(t){return t=+t,te(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function se(e){return e&&void 0!==e.getElementsByTagName&&e}function le(e){var n,r=e?e.ownerDocument||e:L;return r!=l&&9===r.nodeType&&r.documentElement?(u=(l=r).documentElement,f=!S.isXMLDoc(l),h=u.matches||u.webkitMatchesSelector||u.msMatchesSelector,u.msMatchesSelector&&L!=l&&(n=l.defaultView)&&n.top!==n&&n.addEventListener("unload",Y),v.getById=ne(function(e){return u.appendChild(e).id=S.expando,!l.getElementsByName||!l.getElementsByName(S.expando).length}),v.disconnectedMatch=ne(function(e){return h.call(e,"*")}),v.scope=ne(function(){return l.querySelectorAll(":scope")}),v.cssHas=ne(function(){try{return l.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),v.getById?(t.filter.ID=function(e){var t=e.replace(Q,J);return function(e){return e.getAttribute("id")===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&f){var n=t.getElementById(e);return n?[n]:[]}}):(t.filter.ID=function(e){var t=e.replace(Q,J);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&f){var n,r,o,i=t.getElementById(e);if(i){if((n=i.getAttributeNode("id"))&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if((n=i.getAttributeNode("id"))&&n.value===e)return[i]}return[]}}),t.find.TAG=function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},t.find.CLASS=function(e,t){if(void 0!==t.getElementsByClassName&&f)return t.getElementsByClassName(e)},d=[],ne(function(e){var t;u.appendChild(e).innerHTML="<a id='"+m+"' href='' disabled='disabled'></a><select id='"+m+"-\r\\' disabled='disabled'><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+N+"*(?:value|"+E+")"),e.querySelectorAll("[id~="+m+"-]").length||d.push("~="),e.querySelectorAll("a#"+m+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=l.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),u.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=l.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+N+"*name"+N+"*="+N+"*(?:''|\"\")")}),v.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),k=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!v.sortDetached&&t.compareDocumentPosition(e)===n?e===l||e.ownerDocument==L&&Z.contains(L,e)?-1:t===l||t.ownerDocument==L&&Z.contains(L,t)?1:o?c.call(o,e)-c.call(o,t):0:4&n?-1:1)},l):l}for(e in Z.matches=function(e,t){return Z(e,null,null,t)},Z.matchesSelector=function(e,t){if(le(e),f&&!C[t+" "]&&(!d||!d.test(t)))try{var n=h.call(e,t);if(n||v.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){C(t,!0)}return Z(t,l,null,[e]).length>0},Z.contains=function(e,t){return(e.ownerDocument||e)!=l&&le(e),S.contains(e,t)},Z.attr=function(e,n){(e.ownerDocument||e)!=l&&le(e);var r=t.attrHandle[n.toLowerCase()],o=r&&p.call(t.attrHandle,n.toLowerCase())?r(e,n,!f):void 0;return void 0!==o?o:e.getAttribute(n)},Z.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},S.uniqueSort=function(e){var t,n=[],r=0,i=0;if(a=!v.sortStable,o=!v.sortStable&&s.call(e,0),D.call(e,k),a){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)_.call(e,n[r],1)}return o=null,e},S.fn.uniqueSort=function(){return this.pushStack(S.uniqueSort(s.apply(this)))},t=S.expr={cacheLength:50,createPseudo:te,match:U,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Q,J),e[3]=(e[3]||e[4]||e[5]||"").replace(Q,J),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||Z.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&Z.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return U.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&F.test(n)&&(t=ce(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Q,J).toLowerCase();return"*"===e?function(){return!0}:function(e){return j(e,t)}},CLASS:function(e){var t=b[e+" "];return t||(t=new RegExp("(^|"+N+")"+e+"("+N+"|$)"))&&b(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var o=Z.attr(r,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o.replace(H," ")+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,l){var u,c,f,d,p,h=i!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),x=!l&&!s,b=!1;if(g){if(i){for(;h;){for(f=t;f=f[h];)if(s?j(f,v):1===f.nodeType)return!1;p=h="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?g.firstChild:g.lastChild],a&&x){for(b=(d=(u=(c=g[m]||(g[m]={}))[e]||[])[0]===y&&u[1])&&u[2],f=d&&g.childNodes[d];f=++d&&f&&f[h]||(b=d=0)||p.pop();)if(1===f.nodeType&&++b&&f===t){c[e]=[y,d,b];break}}else if(x&&(b=d=(u=(c=t[m]||(t[m]={}))[e]||[])[0]===y&&u[1]),!1===b)for(;(f=++d&&f&&f[h]||(b=d=0)||p.pop())&&(!(s?j(f,v):1===f.nodeType)||!++b||(x&&((c=f[m]||(f[m]={}))[e]=[y,b]),f!==t)););return(b-=o)===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,n){var r,o=t.pseudos[e]||t.setFilters[e.toLowerCase()]||Z.error("unsupported pseudo: "+e);return o[m]?o(n):o.length>1?(r=[e,e,"",n],t.setFilters.hasOwnProperty(e.toLowerCase())?te(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)e[r=c.call(e,i[a])]=!(t[r]=i[a])}):function(e){return o(e,0,r)}):o}},pseudos:{not:te(function(e){var t=[],n=[],r=me(e.replace(O,"$1"));return r[m]?te(function(e,t,n,o){for(var i,a=r(e,null,o,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:te(function(e){return function(t){return Z(e,t).length>0}}),contains:te(function(e){return e=e.replace(Q,J),function(t){return(t.textContent||S.text(t)).indexOf(e)>-1}}),lang:te(function(e){return B.test(e||"")||Z.error("unsupported lang: "+e),e=e.replace(Q,J).toLowerCase(),function(t){var n;do{if(n=f?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(e){var t=r.location&&r.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===u},focus:function(e){return e===function(){try{return l.activeElement}catch(e){}}()&&l.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:ie(!1),disabled:ie(!0),checked:function(e){return j(e,"input")&&!!e.checked||j(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!t.pseudos.empty(e)},header:function(e){return X.test(e.nodeName)},input:function(e){return z.test(e.nodeName)},button:function(e){return j(e,"input")&&"button"===e.type||j(e,"button")},text:function(e){var t;return j(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ae(function(){return[0]}),last:ae(function(e,t){return[t-1]}),eq:ae(function(e,t,n){return[n<0?n+t:n]}),even:ae(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ae(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ae(function(e,t,n){var r;for(r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:ae(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},t.pseudos.nth=t.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})t.pseudos[e]=re(e);for(e in{submit:!0,reset:!0})t.pseudos[e]=oe(e);function ue(){}function ce(e,n){var r,o,i,a,s,l,u,c=w[e+" "];if(c)return n?0:c.slice(0);for(s=e,l=[],u=t.preFilter;s;){for(a in r&&!(o=P.exec(s))||(o&&(s=s.slice(o[0].length)||s),l.push(i=[])),r=!1,(o=I.exec(s))&&(r=o.shift(),i.push({value:r,type:o[0].replace(O," ")}),s=s.slice(r.length)),t.filter)!(o=U[a].exec(s))||u[a]&&!(o=u[a](o))||(r=o.shift(),i.push({value:r,type:a,matches:o}),s=s.slice(r.length));if(!r)break}return n?s.length:s?Z.error(e):w(e,l).slice(0)}function fe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function de(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=x++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,o);return!1}:function(t,n,l){var u,c,f=[y,s];if(l){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,l))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=t[m]||(t[m]={}),o&&j(t,o))t=t[r]||t;else{if((u=c[i])&&u[0]===y&&u[1]===s)return f[2]=u[2];if(c[i]=f,f[2]=e(t,n,l))return!0}return!1}}function pe(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function he(e,t,n,r,o){for(var i,a=[],s=0,l=e.length,u=null!=t;s<l;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),u&&t.push(s)));return a}function ge(e,t,n,r,o,i){return r&&!r[m]&&(r=ge(r)),o&&!o[m]&&(o=ge(o,i)),te(function(i,a,s,l){var u,f,d,p,h=[],v=[],m=a.length,y=i||function(e,t,n){for(var r=0,o=t.length;r<o;r++)Z(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),x=!e||!i&&t?y:he(y,h,e,s,l);if(n?n(x,p=o||(i?e:m||r)?[]:a,s,l):p=x,r)for(u=he(p,v),r(u,[],s,l),f=u.length;f--;)(d=u[f])&&(p[v[f]]=!(x[v[f]]=d));if(i){if(o||e){if(o){for(u=[],f=p.length;f--;)(d=p[f])&&u.push(x[f]=d);o(null,p=[],u,l)}for(f=p.length;f--;)(d=p[f])&&(u=o?c.call(i,d):h[f])>-1&&(i[u]=!(a[u]=d))}}else p=he(p===a?p.splice(m,p.length):p),o?o(null,a,p,l):g.apply(a,p)})}function ve(e){for(var r,o,i,a=e.length,s=t.relative[e[0].type],l=s||t.relative[" "],u=s?1:0,f=de(function(e){return e===r},l,!0),d=de(function(e){return c.call(r,e)>-1},l,!0),p=[function(e,t,o){var i=!s&&(o||t!=n)||((r=t).nodeType?f(e,t,o):d(e,t,o));return r=null,i}];u<a;u++)if(o=t.relative[e[u].type])p=[de(pe(p),o)];else{if((o=t.filter[e[u].type].apply(null,e[u].matches))[m]){for(i=++u;i<a&&!t.relative[e[i].type];i++);return ge(u>1&&pe(p),u>1&&fe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(O,"$1"),o,u<i&&ve(e.slice(u,i)),i<a&&ve(e=e.slice(i)),i<a&&fe(e))}p.push(o)}return pe(p)}function me(e,r){var o,i=[],a=[],s=T[e+" "];if(!s){for(r||(r=ce(e)),o=r.length;o--;)(s=ve(r[o]))[m]?i.push(s):a.push(s);s=T(e,function(e,r){var o=r.length>0,i=e.length>0,a=function(a,s,u,c,d){var p,h,v,m=0,x="0",b=a&&[],w=[],T=n,C=a||i&&t.find.TAG("*",d),k=y+=null==T?1:Math.random()||.1,E=C.length;for(d&&(n=s==l||s||d);x!==E&&null!=(p=C[x]);x++){if(i&&p){for(h=0,s||p.ownerDocument==l||(le(p),u=!f);v=e[h++];)if(v(p,s||l,u)){g.call(c,p);break}d&&(y=k)}o&&((p=!v&&p)&&m--,a&&b.push(p))}if(m+=x,o&&x!==m){for(h=0;v=r[h++];)v(b,w,s,u);if(a){if(m>0)for(;x--;)b[x]||w[x]||(w[x]=A.call(c));w=he(w)}g.apply(c,w),d&&!a&&w.length>0&&m+r.length>1&&S.uniqueSort(c)}return d&&(y=k,n=T),b};return o?te(a):a}(a,i)),s.selector=e}return s}function ye(e,n,r,o){var i,a,s,l,u,c="function"==typeof e&&e,d=!o&&ce(e=c.selector||e);if(r=r||[],1===d.length){if((a=d[0]=d[0].slice(0)).length>2&&"ID"===(s=a[0]).type&&9===n.nodeType&&f&&t.relative[a[1].type]){if(!(n=(t.find.ID(s.matches[0].replace(Q,J),n)||[])[0]))return r;c&&(n=n.parentNode),e=e.slice(a.shift().value.length)}for(i=U.needsContext.test(e)?0:a.length;i--&&(s=a[i],!t.relative[l=s.type]);)if((u=t.find[l])&&(o=u(s.matches[0].replace(Q,J),V.test(a[0].type)&&se(n.parentNode)||n))){if(a.splice(i,1),!(e=o.length&&fe(a)))return g.apply(r,o),r;break}}return(c||me(e,d))(o,n,!f,r,!n||V.test(e)&&se(n.parentNode)||n),r}ue.prototype=t.filters=t.pseudos,t.setFilters=new ue,v.sortStable=m.split("").sort(k).join("")===m,le(),v.sortDetached=ne(function(e){return 1&e.compareDocumentPosition(l.createElement("fieldset"))}),S.find=Z,S.expr[":"]=S.expr.pseudos,S.unique=S.uniqueSort,Z.compile=me,Z.select=ye,Z.setDocument=le,Z.tokenize=ce,Z.escape=S.escapeSelector,Z.getText=S.text,Z.isXML=S.isXMLDoc,Z.selectors=S.expr,Z.support=S.support,Z.uniqueSort=S.uniqueSort}();var M=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&S(e).is(n))break;r.push(e)}return r},H=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},P=S.expr.match.needsContext,I=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function W(e,t,n){return m(t)?S.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?S.grep(e,function(e){return e===t!==n}):"string"!=typeof t?S.grep(e,function(e){return c.call(t,e)>-1!==n}):S.filter(t,e,n)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,o[t],n);return r>1?S.uniqueSort(n):n},filter:function(e){return this.pushStack(W(this,e||[],!1))},not:function(e){return this.pushStack(W(this,e||[],!0))},is:function(e){return!!W(this,"string"==typeof e&&P.test(e)?S(e):e||[],!1).length}});var F,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||F,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:B.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:x,!0)),I.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(o=x.getElementById(r[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,F=S(x);var U=/^(?:parents|prev(?:Until|All))/,z={children:!0,contents:!0,next:!0,prev:!0};function X(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],a="string"!=typeof e&&S(e);if(!P.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&S.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?S.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?c.call(S(e),this[0]):c.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return M(e,"parentNode")},parentsUntil:function(e,t,n){return M(e,"parentNode",n)},next:function(e){return X(e,"nextSibling")},prev:function(e){return X(e,"previousSibling")},nextAll:function(e){return M(e,"nextSibling")},prevAll:function(e){return M(e,"previousSibling")},nextUntil:function(e,t,n){return M(e,"nextSibling",n)},prevUntil:function(e,t,n){return M(e,"previousSibling",n)},siblings:function(e){return H((e.parentNode||{}).firstChild,e)},children:function(e){return H(e.firstChild)},contents:function(e){return null!=e.contentDocument&&a(e.contentDocument)?e.contentDocument:(j(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(e,t){S.fn[e]=function(n,r){var o=S.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=S.filter(r,o)),this.length>1&&(z[e]||S.uniqueSort(o),U.test(e)&&o.reverse()),this.pushStack(o)}});var G=/[^\x20\t\r\n\f]+/g;function V(e){return e}function Q(e){throw e}function J(e,t,n,r){var o;try{e&&m(o=e.promise)?o.call(e).done(t).fail(n):e&&m(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return S.each(e.match(G)||[],function(e,n){t[n]=!0}),t}(e):S.extend({},e);var t,n,r,o,i=[],a=[],s=-1,l=function(){for(o=o||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<i.length;)!1===i[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},u={add:function(){return i&&(n&&!t&&(s=i.length-1,a.push(n)),function t(n){S.each(n,function(n,r){m(r)?e.unique&&u.has(r)||i.push(r):r&&r.length&&"string"!==T(r)&&t(r)})}(arguments),n&&!t&&l()),this},remove:function(){return S.each(arguments,function(e,t){for(var n;(n=S.inArray(t,i,n))>-1;)i.splice(n,1),n<=s&&s--}),this},has:function(e){return e?S.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!r}};return u},S.extend({Deferred:function(e){var t=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],n="pending",o={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return S.Deferred(function(n){S.each(t,function(t,r){var o=m(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&m(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(e,n,o){var i=0;function a(e,t,n,o){return function(){var s=this,l=arguments,u=function(){var r,u;if(!(e<i)){if((r=n.apply(s,l))===t.promise())throw new TypeError("Thenable self-resolution");u=r&&("object"==typeof r||"function"==typeof r)&&r.then,m(u)?o?u.call(r,a(i,t,V,o),a(i,t,Q,o)):(i++,u.call(r,a(i,t,V,o),a(i,t,Q,o),a(i,t,V,t.notifyWith))):(n!==V&&(s=void 0,l=[r]),(o||t.resolveWith)(s,l))}},c=o?u:function(){try{u()}catch(r){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(r,c.error),e+1>=i&&(n!==Q&&(s=void 0,l=[r]),t.rejectWith(s,l))}};e?c():(S.Deferred.getErrorHook?c.error=S.Deferred.getErrorHook():S.Deferred.getStackHook&&(c.error=S.Deferred.getStackHook()),r.setTimeout(c))}}return S.Deferred(function(r){t[0][3].add(a(0,r,m(o)?o:V,r.notifyWith)),t[1][3].add(a(0,r,m(e)?e:V)),t[2][3].add(a(0,r,m(n)?n:Q))}).promise()},promise:function(e){return null!=e?S.extend(e,o):o}},i={};return S.each(t,function(e,r){var a=r[2],s=r[5];o[r[1]]=a.add,s&&a.add(function(){n=s},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(r[3].fire),i[r[0]]=function(){return i[r[0]+"With"](this===i?void 0:this,arguments),this},i[r[0]+"With"]=a.fireWith}),o.promise(i),e&&e.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=s.call(arguments),i=S.Deferred(),a=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?s.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(J(e,i.done(a(n)).resolve,i.reject,!t),"pending"===i.state()||m(o[n]&&o[n].then)))return i.then();for(;n--;)J(o[n],a(n),i.reject);return i.promise()}});var Y=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){r.console&&r.console.warn&&e&&Y.test(e.name)&&r.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){r.setTimeout(function(){throw e})};var K=S.Deferred();function Z(){x.removeEventListener("DOMContentLoaded",Z),r.removeEventListener("load",Z),S.ready()}S.fn.ready=function(e){return K.then(e).catch(function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0,!0!==e&&--S.readyWait>0||K.resolveWith(x,[S]))}}),S.ready.then=K.then,"complete"===x.readyState||"loading"!==x.readyState&&!x.documentElement.doScroll?r.setTimeout(S.ready):(x.addEventListener("DOMContentLoaded",Z),r.addEventListener("load",Z));var ee=function(e,t,n,r,o,i,a){var s=0,l=e.length,u=null==n;if("object"===T(n))for(s in o=!0,n)ee(e,t,s,n[s],!0,i,a);else if(void 0!==r&&(o=!0,m(r)||(a=!0),u&&(a?(t.call(e,r),t=null):(u=t,t=function(e,t,n){return u.call(S(e),n)})),t))for(;s<l;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return o?e:u?t.call(e):l?t(e[0],n):i},te=/^-ms-/,ne=/-([a-z])/g;function re(e,t){return t.toUpperCase()}function oe(e){return e.replace(te,"ms-").replace(ne,re)}var ie=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function ae(){this.expando=S.expando+ae.uid++}ae.uid=1,ae.prototype={cache:function(e){var t=e[this.expando];return t||(t={},ie(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[oe(t)]=n;else for(r in t)o[oe(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][oe(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(oe):(t=oe(t))in r?[t]:t.match(G)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var se=new ae,le=new ae,ue=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ce=/[A-Z]/g;function fe(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ce,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:ue.test(e)?JSON.parse(e):e)}(n)}catch(e){}le.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return le.hasData(e)||se.hasData(e)},data:function(e,t,n){return le.access(e,t,n)},removeData:function(e,t){le.remove(e,t)},_data:function(e,t,n){return se.access(e,t,n)},_removeData:function(e,t){se.remove(e,t)}}),S.fn.extend({data:function(e,t){var n,r,o,i=this[0],a=i&&i.attributes;if(void 0===e){if(this.length&&(o=le.get(i),1===i.nodeType&&!se.get(i,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=oe(r.slice(5)),fe(i,r,o[r]));se.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){le.set(this,e)}):ee(this,function(t){var n;if(i&&void 0===t)return void 0!==(n=le.get(i,e))||void 0!==(n=fe(i,e))?n:void 0;this.each(function(){le.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){le.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=se.get(e,t),n&&(!r||Array.isArray(n)?r=se.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,o=n.shift(),i=S._queueHooks(e,t);"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,function(){S.dequeue(e,t)},i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return se.get(e,n)||se.access(e,n,{empty:S.Callbacks("once memory").add(function(){se.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?S.queue(this[0],e):void 0===t?this:this.each(function(){var n=S.queue(this,e,t);S._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&S.dequeue(this,e)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=S.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=se.get(i[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var de=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,pe=new RegExp("^(?:([+-])=|)("+de+")([a-z%]*)$","i"),he=["Top","Right","Bottom","Left"],ge=x.documentElement,ve=function(e){return S.contains(e.ownerDocument,e)},me={composed:!0};ge.getRootNode&&(ve=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(me)===e.ownerDocument});var ye=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ve(e)&&"none"===S.css(e,"display")};function xe(e,t,n,r){var o,i,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},l=s(),u=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==u&&+l)&&pe.exec(S.css(e,t));if(c&&c[3]!==u){for(l/=2,u=u||c[3],c=+l||1;a--;)S.style(e,t,c+u),(1-i)*(1-(i=s()/l||.5))<=0&&(a=0),c/=i;c*=2,S.style(e,t,c+u),n=n||[]}return n&&(c=+c||+l||0,o=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=u,r.start=c,r.end=o)),o}var be={};function we(e){var t,n=e.ownerDocument,r=e.nodeName,o=be[r];return o||(t=n.body.appendChild(n.createElement(r)),o=S.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),be[r]=o,o)}function Te(e,t){for(var n,r,o=[],i=0,a=e.length;i<a;i++)(r=e[i]).style&&(n=r.style.display,t?("none"===n&&(o[i]=se.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&ye(r)&&(o[i]=we(r))):"none"!==n&&(o[i]="none",se.set(r,"display",n)));for(i=0;i<a;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}S.fn.extend({show:function(){return Te(this,!0)},hide:function(){return Te(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ye(this)?S(this).show():S(this).hide()})}});var Ce,ke,Se=/^(?:checkbox|radio)$/i,Ee=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,je=/^$|^module$|\/(?:java|ecma)script/i;Ce=x.createDocumentFragment().appendChild(x.createElement("div")),(ke=x.createElement("input")).setAttribute("type","radio"),ke.setAttribute("checked","checked"),ke.setAttribute("name","t"),Ce.appendChild(ke),v.checkClone=Ce.cloneNode(!0).cloneNode(!0).lastChild.checked,Ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!Ce.cloneNode(!0).lastChild.defaultValue,Ce.innerHTML="<option></option>",v.option=!!Ce.lastChild;var Ae={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function De(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&j(e,t)?S.merge([e],n):n}function _e(e,t){for(var n=0,r=e.length;n<r;n++)se.set(e[n],"globalEval",!t||se.get(t[n],"globalEval"))}Ae.tbody=Ae.tfoot=Ae.colgroup=Ae.caption=Ae.thead,Ae.th=Ae.td,v.option||(Ae.optgroup=Ae.option=[1,"<select multiple='multiple'>","</select>"]);var Ne=/<|&#?\w+;/;function Oe(e,t,n,r,o){for(var i,a,s,l,u,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((i=e[p])||0===i)if("object"===T(i))S.merge(d,i.nodeType?[i]:i);else if(Ne.test(i)){for(a=a||f.appendChild(t.createElement("div")),s=(Ee.exec(i)||["",""])[1].toLowerCase(),l=Ae[s]||Ae._default,a.innerHTML=l[1]+S.htmlPrefilter(i)+l[2],c=l[0];c--;)a=a.lastChild;S.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(i));for(f.textContent="",p=0;i=d[p++];)if(r&&S.inArray(i,r)>-1)o&&o.push(i);else if(u=ve(i),a=De(f.appendChild(i),"script"),u&&_e(a),n)for(c=0;i=a[c++];)je.test(i.type||"")&&n.push(i);return f}var qe=/^([^.]*)(?:\.(.+)|)/;function $e(){return!0}function Le(){return!1}function Re(e,t,n,r,o,i){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Re(e,s,n,r,t[s],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),!1===o)o=Le;else if(!o)return e;return 1===i&&(a=o,o=function(e){return S().off(e),a.apply(this,arguments)},o.guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,o,r,n)})}function Me(e,t,n){n?(se.set(e,t,!1),S.event.add(e,t,{namespace:!1,handler:function(e){var n,r=se.get(this,t);if(1&e.isTrigger&&this[t]){if(r)(S.event.special[t]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),se.set(this,t,r),this[t](),n=se.get(this,t),se.set(this,t,!1),r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n}else r&&(se.set(this,t,S.event.trigger(r[0],r.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=$e)}})):void 0===se.get(e,t)&&S.event.add(e,t,$e)}S.event={global:{},add:function(e,t,n,r,o){var i,a,s,l,u,c,f,d,p,h,g,v=se.get(e);if(ie(e))for(n.handler&&(n=(i=n).handler,o=i.selector),o&&S.find.matchesSelector(ge,o),n.guid||(n.guid=S.guid++),(l=v.events)||(l=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==S&&S.event.triggered!==t.type?S.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(G)||[""]).length;u--;)p=g=(s=qe.exec(t[u])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=S.event.special[p]||{},p=(o?f.delegateType:f.bindType)||p,f=S.event.special[p]||{},c=S.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&S.expr.match.needsContext.test(o),namespace:h.join(".")},i),(d=l[p])||((d=l[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),o?d.splice(d.delegateCount++,0,c):d.push(c),S.event.global[p]=!0)},remove:function(e,t,n,r,o){var i,a,s,l,u,c,f,d,p,h,g,v=se.hasData(e)&&se.get(e);if(v&&(l=v.events)){for(u=(t=(t||"").match(G)||[""]).length;u--;)if(p=g=(s=qe.exec(t[u])||[])[1],h=(s[2]||"").split(".").sort(),p){for(f=S.event.special[p]||{},d=l[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=d.length;i--;)c=d[i],!o&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(i,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,p,v.handle),delete l[p])}else for(p in l)S.event.remove(e,p+t[u],n,r,!0);S.isEmptyObject(l)&&se.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,a,s=new Array(arguments.length),l=S.event.fix(e),u=(se.get(this,"events")||Object.create(null))[l.type]||[],c=S.event.special[l.type]||{};for(s[0]=l,t=1;t<arguments.length;t++)s[t]=arguments[t];if(l.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,l)){for(a=S.event.handlers.call(this,l,u),t=0;(o=a[t++])&&!l.isPropagationStopped();)for(l.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!l.isImmediatePropagationStopped();)l.rnamespace&&!1!==i.namespace&&!l.rnamespace.test(i.namespace)||(l.handleObj=i,l.data=i.data,void 0!==(r=((S.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,s))&&!1===(l.result=r)&&(l.preventDefault(),l.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,l),l.result}},handlers:function(e,t){var n,r,o,i,a,s=[],l=t.delegateCount,u=e.target;if(l&&u.nodeType&&!("click"===e.type&&e.button>=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(i=[],a={},n=0;n<l;n++)void 0===a[o=(r=t[n]).selector+" "]&&(a[o]=r.needsContext?S(o,this).index(u)>-1:S.find(o,this,null,[u]).length),a[o]&&i.push(r);i.length&&s.push({elem:u,handlers:i})}return u=this,l<t.length&&s.push({elem:u,handlers:t.slice(l)}),s},addProp:function(e,t){Object.defineProperty(S.Event.prototype,e,{enumerable:!0,configurable:!0,get:m(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return Se.test(t.type)&&t.click&&j(t,"input")&&Me(t,"click",!0),!1},trigger:function(e){var t=this||e;return Se.test(t.type)&&t.click&&j(t,"input")&&Me(t,"click"),!0},_default:function(e){var t=e.target;return Se.test(t.type)&&t.click&&j(t,"input")&&se.get(t,"click")||j(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?$e:Le,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Le,isPropagationStopped:Le,isImmediatePropagationStopped:Le,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=$e,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=$e,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=$e,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){function n(e){if(x.documentMode){var n=se.get(this,"handle"),r=S.event.fix(e);r.type="focusin"===e.type?"focus":"blur",r.isSimulated=!0,n(e),r.target===r.currentTarget&&n(r)}else S.event.simulate(t,e.target,S.event.fix(e))}S.event.special[e]={setup:function(){var r;if(Me(this,e,!0),!x.documentMode)return!1;(r=se.get(this,t))||this.addEventListener(t,n),se.set(this,t,(r||0)+1)},trigger:function(){return Me(this,e),!0},teardown:function(){var e;if(!x.documentMode)return!1;(e=se.get(this,t)-1)?se.set(this,t,e):(this.removeEventListener(t,n),se.remove(this,t))},_default:function(t){return se.get(t.target,e)},delegateType:t},S.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,o=x.documentMode?this:r,i=se.get(o,t);i||(x.documentMode?this.addEventListener(t,n):r.addEventListener(e,n,!0)),se.set(o,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,o=x.documentMode?this:r,i=se.get(o,t)-1;i?se.set(o,t,i):(x.documentMode?this.removeEventListener(t,n):r.removeEventListener(e,n,!0),se.remove(o,t))}}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){S.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,o=e.handleObj;return r&&(r===this||S.contains(this,r))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),S.fn.extend({on:function(e,t,n,r){return Re(this,e,t,n,r)},one:function(e,t,n,r){return Re(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Le),this.each(function(){S.event.remove(this,e,n,t)})}});var He=/<script|<style|<link/i,Pe=/checked\s*(?:[^=]|=\s*.checked.)/i,Ie=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function We(e,t){return j(e,"table")&&j(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Fe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Be(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ue(e,t){var n,r,o,i,a,s;if(1===t.nodeType){if(se.hasData(e)&&(s=se.get(e).events))for(o in se.remove(t,"handle events"),s)for(n=0,r=s[o].length;n<r;n++)S.event.add(t,o,s[o][n]);le.hasData(e)&&(i=le.access(e),a=S.extend({},i),le.set(t,a))}}function ze(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Se.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Xe(e,t,n,r){t=l(t);var o,i,a,s,u,c,f=0,d=e.length,p=d-1,h=t[0],g=m(h);if(g||d>1&&"string"==typeof h&&!v.checkClone&&Pe.test(h))return e.each(function(o){var i=e.eq(o);g&&(t[0]=h.call(this,o,i.html())),Xe(i,t,n,r)});if(d&&(i=(o=Oe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===o.childNodes.length&&(o=i),i||r)){for(s=(a=S.map(De(o,"script"),Fe)).length;f<d;f++)u=o,f!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,De(u,"script"))),n.call(e[f],u,f);if(s)for(c=a[a.length-1].ownerDocument,S.map(a,Be),f=0;f<s;f++)u=a[f],je.test(u.type||"")&&!se.access(u,"globalEval")&&S.contains(c,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},c):w(u.textContent.replace(Ie,""),u,c))}return e}function Ge(e,t,n){for(var r,o=t?S.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||S.cleanData(De(r)),r.parentNode&&(n&&ve(r)&&_e(De(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),l=ve(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=De(s),r=0,o=(i=De(e)).length;r<o;r++)ze(i[r],a[r]);if(t)if(n)for(i=i||De(e),a=a||De(s),r=0,o=i.length;r<o;r++)Ue(i[r],a[r]);else Ue(e,s);return(a=De(s,"script")).length>0&&_e(a,!l&&De(e,"script")),s},cleanData:function(e){for(var t,n,r,o=S.event.special,i=0;void 0!==(n=e[i]);i++)if(ie(n)){if(t=n[se.expando]){if(t.events)for(r in t.events)o[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[se.expando]=void 0}n[le.expando]&&(n[le.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Ge(this,e,!0)},remove:function(e){return Ge(this,e)},text:function(e){return ee(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Xe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||We(this,e).appendChild(e)})},prepend:function(){return Xe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=We(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Xe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Xe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(De(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return ee(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!He.test(e)&&!Ae[(Ee.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(De(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Xe(this,arguments,function(t){var n=this.parentNode;S.inArray(this,e)<0&&(S.cleanData(De(this)),n&&n.replaceChild(t,this))},e)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){S.fn[e]=function(e){for(var n,r=[],o=S(e),i=o.length-1,a=0;a<=i;a++)n=a===i?this:this.clone(!0),S(o[a])[t](n),u.apply(r,n.get());return this.pushStack(r)}});var Ve=new RegExp("^("+de+")(?!px)[a-z%]+$","i"),Qe=/^--/,Je=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=r),t.getComputedStyle(e)},Ye=function(e,t,n){var r,o,i={};for(o in t)i[o]=e.style[o],e.style[o]=t[o];for(o in r=n.call(e),t)e.style[o]=i[o];return r},Ke=new RegExp(he.join("|"),"i");function Ze(e,t,n){var r,o,i,a,s=Qe.test(t),l=e.style;return(n=n||Je(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace(O,"$1")||void 0),""!==a||ve(e)||(a=S.style(e,t)),!v.pixelBoxStyles()&&Ve.test(a)&&Ke.test(t)&&(r=l.width,o=l.minWidth,i=l.maxWidth,l.minWidth=l.maxWidth=l.width=a,a=n.width,l.width=r,l.minWidth=o,l.maxWidth=i)),void 0!==a?a+"":a}function et(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(c){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ge.appendChild(u).appendChild(c);var e=r.getComputedStyle(c);n="1%"!==e.top,l=12===t(e.marginLeft),c.style.right="60%",a=36===t(e.right),o=36===t(e.width),c.style.position="absolute",i=12===t(c.offsetWidth/3),ge.removeChild(u),c=null}}function t(e){return Math.round(parseFloat(e))}var n,o,i,a,s,l,u=x.createElement("div"),c=x.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===c.style.backgroundClip,S.extend(v,{boxSizingReliable:function(){return e(),o},pixelBoxStyles:function(){return e(),a},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),l},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,o;return null==s&&(e=x.createElement("table"),t=x.createElement("tr"),n=x.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="box-sizing:content-box;border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",ge.appendChild(e).appendChild(t).appendChild(n),o=r.getComputedStyle(t),s=parseInt(o.height,10)+parseInt(o.borderTopWidth,10)+parseInt(o.borderBottomWidth,10)===t.offsetHeight,ge.removeChild(e)),s}}))}();var tt=["Webkit","Moz","ms"],nt=x.createElement("div").style,rt={};function ot(e){var t=S.cssProps[e]||rt[e];return t||(e in nt?e:rt[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=tt.length;n--;)if((e=tt[n]+t)in nt)return e}(e)||e)}var it=/^(none|table(?!-c[ea]).+)/,at={position:"absolute",visibility:"hidden",display:"block"},st={letterSpacing:"0",fontWeight:"400"};function lt(e,t,n){var r=pe.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function ut(e,t,n,r,o,i){var a="width"===t?1:0,s=0,l=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+he[a],!0,o)),r?("content"===n&&(l-=S.css(e,"padding"+he[a],!0,o)),"margin"!==n&&(l-=S.css(e,"border"+he[a]+"Width",!0,o))):(l+=S.css(e,"padding"+he[a],!0,o),"padding"!==n?l+=S.css(e,"border"+he[a]+"Width",!0,o):s+=S.css(e,"border"+he[a]+"Width",!0,o));return!r&&i>=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-i-l-s-.5))||0),l+u}function ct(e,t,n){var r=Je(e),o=(!v.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),i=o,a=Ze(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ve.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&o||!v.reliableTrDimensions()&&j(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(o="border-box"===S.css(e,"boxSizing",!1,r),(i=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+ut(e,t,n||(o?"border":"content"),i,r,a)+"px"}function ft(e,t,n,r,o){return new ft.prototype.init(e,t,n,r,o)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ze(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,a,s=oe(t),l=Qe.test(t),u=e.style;if(l||(t=ot(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(o=a.get(e,!1,r))?o:u[t];"string"===(i=typeof n)&&(o=pe.exec(n))&&o[1]&&(n=xe(e,t,o),i="number"),null!=n&&n==n&&("number"!==i||l||(n+=o&&o[3]||(S.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(l?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,r){var o,i,a,s=oe(t);return Qe.test(t)||(t=ot(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=Ze(e,t,r)),"normal"===o&&t in st&&(o=st[t]),""===n||n?(i=parseFloat(o),!0===n||isFinite(i)?i||0:o):o}}),S.each(["height","width"],function(e,t){S.cssHooks[t]={get:function(e,n,r){if(n)return!it.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?ct(e,t,r):Ye(e,at,function(){return ct(e,t,r)})},set:function(e,n,r){var o,i=Je(e),a=!v.scrollboxSize()&&"absolute"===i.position,s=(a||r)&&"border-box"===S.css(e,"boxSizing",!1,i),l=r?ut(e,t,r,s,i):0;return s&&a&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(i[t])-ut(e,t,"border",!1,i)-.5)),l&&(o=pe.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=S.css(e,t)),lt(0,n,l)}}}),S.cssHooks.marginLeft=et(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ze(e,"marginLeft"))||e.getBoundingClientRect().left-Ye(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(e,t){S.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+he[r]+t]=i[r]||i[r-2]||i[0];return o}},"margin"!==e&&(S.cssHooks[e+t].set=lt)}),S.fn.extend({css:function(e,t){return ee(this,function(e,t,n){var r,o,i={},a=0;if(Array.isArray(t)){for(r=Je(e),o=t.length;a<o;a++)i[t[a]]=S.css(e,t[a],!1,r);return i}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,arguments.length>1)}}),S.Tween=ft,ft.prototype={constructor:ft,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(S.cssNumber[n]?"":"px")},cur:function(){var e=ft.propHooks[this.prop];return e&&e.get?e.get(this):ft.propHooks._default.get(this)},run:function(e){var t,n=ft.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):ft.propHooks._default.set(this),this}},ft.prototype.init.prototype=ft.prototype,ft.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ot(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}},ft.propHooks.scrollTop=ft.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=ft.prototype.init,S.fx.step={};var dt,pt,ht=/^(?:toggle|show|hide)$/,gt=/queueHooks$/;function vt(){pt&&(!1===x.hidden&&r.requestAnimationFrame?r.requestAnimationFrame(vt):r.setTimeout(vt,S.fx.interval),S.fx.tick())}function mt(){return r.setTimeout(function(){dt=void 0}),dt=Date.now()}function yt(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)o["margin"+(n=he[r])]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function xt(e,t,n){for(var r,o=(bt.tweeners[t]||[]).concat(bt.tweeners["*"]),i=0,a=o.length;i<a;i++)if(r=o[i].call(n,t,e))return r}function bt(e,t,n){var r,o,i=0,a=bt.prefilters.length,s=S.Deferred().always(function(){delete l.elem}),l=function(){if(o)return!1;for(var t=dt||mt(),n=Math.max(0,u.startTime+u.duration-t),r=1-(n/u.duration||0),i=0,a=u.tweens.length;i<a;i++)u.tweens[i].run(r);return s.notifyWith(e,[u,r,n]),r<1&&a?n:(a||s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:S.extend({},t),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},n),originalProperties:t,originalOptions:n,startTime:dt||mt(),duration:n.duration,tweens:[],createTween:function(t,n){var r=S.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)u.tweens[n].run(1);return t?(s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u,t])):s.rejectWith(e,[u,t]),this}}),c=u.props;for(!function(e,t){var n,r,o,i,a;for(n in e)if(o=t[r=oe(n)],i=e[n],Array.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in i=a.expand(i),delete e[r],i)n in e||(e[n]=i[n],t[n]=o);else t[r]=o}(c,u.opts.specialEasing);i<a;i++)if(r=bt.prefilters[i].call(u,e,c,u.opts))return m(r.stop)&&(S._queueHooks(u.elem,u.opts.queue).stop=r.stop.bind(r)),r;return S.map(c,xt,u),m(u.opts.start)&&u.opts.start.call(e,u),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always),S.fx.timer(S.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u}S.Animation=S.extend(bt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return xe(n.elem,e,pe.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(G);for(var n,r=0,o=e.length;r<o;r++)n=e[r],bt.tweeners[n]=bt.tweeners[n]||[],bt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,o,i,a,s,l,u,c,f="width"in t||"height"in t,d=this,p={},h=e.style,g=e.nodeType&&ye(e),v=se.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,d.always(function(){d.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(o=t[r],ht.test(o)){if(delete t[r],i=i||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!v||void 0===v[r])continue;g=!0}p[r]=v&&v[r]||S.style(e,r)}if((l=!S.isEmptyObject(t))||!S.isEmptyObject(p))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(u=v&&v.display)&&(u=se.get(e,"display")),"none"===(c=S.css(e,"display"))&&(u?c=u:(Te([e],!0),u=e.style.display||u,c=S.css(e,"display"),Te([e]))),("inline"===c||"inline-block"===c&&null!=u)&&"none"===S.css(e,"float")&&(l||(d.done(function(){h.display=u}),null==u&&(c=h.display,u="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",d.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),l=!1,p)l||(v?"hidden"in v&&(g=v.hidden):v=se.access(e,"fxshow",{display:u}),i&&(v.hidden=!g),g&&Te([e],!0),d.done(function(){for(r in g||Te([e]),se.remove(e,"fxshow"),p)S.style(e,r,p[r])})),l=xt(g?v[r]:0,r,d),r in v||(v[r]=l.start,g&&(l.end=l.start,l.start=0))}],prefilter:function(e,t){t?bt.prefilters.unshift(e):bt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ye).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var o=S.isEmptyObject(e),i=S.speed(t,n,r),a=function(){var t=bt(this,S.extend({},e),i);(o||se.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||!1===i.queue?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=S.timers,a=se.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&gt.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||S.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=se.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=S.timers,a=r?r.length:0;for(n.finish=!0,S.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),S.each(["toggle","show","hide"],function(e,t){var n=S.fn[t];S.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(yt(t,!0),e,r,o)}}),S.each({slideDown:yt("show"),slideUp:yt("hide"),slideToggle:yt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){S.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(dt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),dt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){pt||(pt=!0,vt())},S.fx.stop=function(){pt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(e,t){return e=S.fx&&S.fx.speeds[e]||e,t=t||"fx",this.queue(t,function(t,n){var o=r.setTimeout(t,e);n.stop=function(){r.clearTimeout(o)}})},function(){var e=x.createElement("input"),t=x.createElement("select").appendChild(x.createElement("option"));e.type="checkbox",v.checkOn=""!==e.value,v.optSelected=t.selected,(e=x.createElement("input")).value="t",e.type="radio",v.radioValue="t"===e.value}();var wt,Tt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return ee(this,S.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?S.prop(e,t,n):(1===i&&S.isXMLDoc(e)||(o=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?wt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&j(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(G);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),wt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var n=Tt[t]||S.find.attr;Tt[t]=function(e,t,r){var o,i,a=t.toLowerCase();return r||(i=Tt[a],Tt[a]=o,o=null!=n(e,t,r)?a:null,Tt[a]=i),o}});var Ct=/^(?:input|select|textarea|button)$/i,kt=/^(?:a|area)$/i;function St(e){return(e.match(G)||[]).join(" ")}function Et(e){return e.getAttribute&&e.getAttribute("class")||""}function jt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(G)||[]}S.fn.extend({prop:function(e,t){return ee(this,S.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&S.isXMLDoc(e)||(t=S.propFix[t]||t,o=S.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):Ct.test(e.nodeName)||kt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),v.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(e){var t,n,r,o,i,a;return m(e)?this.each(function(t){S(this).addClass(e.call(this,t,Et(this)))}):(t=jt(e)).length?this.each(function(){if(r=Et(this),n=1===this.nodeType&&" "+St(r)+" "){for(i=0;i<t.length;i++)o=t[i],n.indexOf(" "+o+" ")<0&&(n+=o+" ");a=St(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(e){var t,n,r,o,i,a;return m(e)?this.each(function(t){S(this).removeClass(e.call(this,t,Et(this)))}):arguments.length?(t=jt(e)).length?this.each(function(){if(r=Et(this),n=1===this.nodeType&&" "+St(r)+" "){for(i=0;i<t.length;i++)for(o=t[i];n.indexOf(" "+o+" ")>-1;)n=n.replace(" "+o+" "," ");a=St(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(e,t){var n,r,o,i,a=typeof e,s="string"===a||Array.isArray(e);return m(e)?this.each(function(n){S(this).toggleClass(e.call(this,n,Et(this),t),t)}):"boolean"==typeof t&&s?t?this.addClass(e):this.removeClass(e):(n=jt(e),this.each(function(){if(s)for(i=S(this),o=0;o<n.length;o++)r=n[o],i.hasClass(r)?i.removeClass(r):i.addClass(r);else void 0!==e&&"boolean"!==a||((r=Et(this))&&se.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===e?"":se.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+St(Et(n))+" ").indexOf(t)>-1)return!0;return!1}});var At=/\r/g;S.fn.extend({val:function(e){var t,n,r,o=this[0];return arguments.length?(r=m(e),this.each(function(n){var o;1===this.nodeType&&(null==(o=r?e.call(this,n,S(this).val()):e)?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=S.map(o,function(e){return null==e?"":e+""})),(t=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))})):o?(t=S.valHooks[o.type]||S.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:"string"==typeof(n=o.value)?n.replace(At,""):null==n?"":n:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:St(S.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,a="select-one"===e.type,s=a?null:[],l=a?i+1:o.length;for(r=i<0?l:a?i:0;r<l;r++)if(((n=o[r]).selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!j(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,o=e.options,i=S.makeArray(t),a=o.length;a--;)((r=o[a]).selected=S.inArray(S.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=S.inArray(S(e).val(),t)>-1}},v.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Dt=r.location,_t={guid:Date.now()},Nt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new r.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ot=/^(?:focusinfocus|focusoutblur)$/,qt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,o){var i,a,s,l,u,c,f,d,h=[n||x],g=p.call(e,"type")?e.type:e,v=p.call(e,"namespace")?e.namespace.split("."):[];if(a=d=s=n=n||x,3!==n.nodeType&&8!==n.nodeType&&!Ot.test(g+S.event.triggered)&&(g.indexOf(".")>-1&&(v=g.split("."),g=v.shift(),v.sort()),u=g.indexOf(":")<0&&"on"+g,(e=e[S.expando]?e:new S.Event(g,"object"==typeof e&&e)).isTrigger=o?2:3,e.namespace=v.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),f=S.event.special[g]||{},o||!f.trigger||!1!==f.trigger.apply(n,t))){if(!o&&!f.noBubble&&!y(n)){for(l=f.delegateType||g,Ot.test(l+g)||(a=a.parentNode);a;a=a.parentNode)h.push(a),s=a;s===(n.ownerDocument||x)&&h.push(s.defaultView||s.parentWindow||r)}for(i=0;(a=h[i++])&&!e.isPropagationStopped();)d=a,e.type=i>1?l:f.bindType||g,(c=(se.get(a,"events")||Object.create(null))[e.type]&&se.get(a,"handle"))&&c.apply(a,t),(c=u&&a[u])&&c.apply&&ie(a)&&(e.result=c.apply(a,t),!1===e.result&&e.preventDefault());return e.type=g,o||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(h.pop(),t)||!ie(n)||u&&m(n[g])&&!y(n)&&((s=n[u])&&(n[u]=null),S.event.triggered=g,e.isPropagationStopped()&&d.addEventListener(g,qt),n[g](),e.isPropagationStopped()&&d.removeEventListener(g,qt),S.event.triggered=void 0,s&&(n[u]=s)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}});var $t=/\[\]$/,Lt=/\r?\n/g,Rt=/^(?:submit|button|image|reset|file)$/i,Mt=/^(?:input|select|textarea|keygen)/i;function Ht(e,t,n,r){var o;if(Array.isArray(t))S.each(t,function(t,o){n||$t.test(e)?r(e,o):Ht(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==T(t))r(e,t);else for(o in t)Ht(e+"["+o+"]",t[o],n,r)}S.param=function(e,t){var n,r=[],o=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){o(this.name,this.value)});else for(n in e)Ht(n,e[n],t,o);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Mt.test(this.nodeName)&&!Rt.test(e)&&(this.checked||!Se.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Lt,"\r\n")}}):{name:t.name,value:n.replace(Lt,"\r\n")}}).get()}});var Pt=/%20/g,It=/#.*$/,Wt=/([?&])_=[^&]*/,Ft=/^(.*?):[ \t]*([^\r\n]*)$/gm,Bt=/^(?:GET|HEAD)$/,Ut=/^\/\//,zt={},Xt={},Gt="*/".concat("*"),Vt=x.createElement("a");function Qt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(G)||[];if(m(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Jt(e,t,n,r){var o={},i=e===Xt;function a(s){var l;return o[s]=!0,S.each(e[s]||[],function(e,s){var u=s(t,n,r);return"string"!=typeof u||i||o[u]?i?!(l=u):void 0:(t.dataTypes.unshift(u),a(u),!1)}),l}return a(t.dataTypes[0])||!o["*"]&&a("*")}function Yt(e,t){var n,r,o=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Vt.href=Dt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Dt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Dt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Gt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Yt(Yt(e,S.ajaxSettings),t):Yt(S.ajaxSettings,e)},ajaxPrefilter:Qt(zt),ajaxTransport:Qt(Xt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,o,i,a,s,l,u,c,f,d,p=S.ajaxSetup({},t),h=p.context||p,g=p.context&&(h.nodeType||h.jquery)?S(h):S.event,v=S.Deferred(),m=S.Callbacks("once memory"),y=p.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(u){if(!a)for(a={};t=Ft.exec(i);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?i:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==u&&(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)C.always(e[C.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||T;return n&&n.abort(t),k(0,t),this}};if(v.promise(C),p.url=((e||p.url||Dt.href)+"").replace(Ut,Dt.protocol+"//"),p.type=t.method||t.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(G)||[""],null==p.crossDomain){l=x.createElement("a");try{l.href=p.url,l.href=l.href,p.crossDomain=Vt.protocol+"//"+Vt.host!=l.protocol+"//"+l.host}catch(e){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=S.param(p.data,p.traditional)),Jt(zt,p,t,C),u)return C;for(f in(c=S.event&&p.global)&&0===S.active++&&S.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Bt.test(p.type),o=p.url.replace(It,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Pt,"+")):(d=p.url.slice(o.length),p.data&&(p.processData||"string"==typeof p.data)&&(o+=(Nt.test(o)?"&":"?")+p.data,delete p.data),!1===p.cache&&(o=o.replace(Wt,"$1"),d=(Nt.test(o)?"&":"?")+"_="+_t.guid+++d),p.url=o+d),p.ifModified&&(S.lastModified[o]&&C.setRequestHeader("If-Modified-Since",S.lastModified[o]),S.etag[o]&&C.setRequestHeader("If-None-Match",S.etag[o])),(p.data&&p.hasContent&&!1!==p.contentType||t.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Gt+"; q=0.01":""):p.accepts["*"]),p.headers)C.setRequestHeader(f,p.headers[f]);if(p.beforeSend&&(!1===p.beforeSend.call(h,C,p)||u))return C.abort();if(T="abort",m.add(p.complete),C.done(p.success),C.fail(p.error),n=Jt(Xt,p,t,C)){if(C.readyState=1,c&&g.trigger("ajaxSend",[C,p]),u)return C;p.async&&p.timeout>0&&(s=r.setTimeout(function(){C.abort("timeout")},p.timeout));try{u=!1,n.send(b,k)}catch(e){if(u)throw e;k(-1,e)}}else k(-1,"No Transport");function k(e,t,a,l){var f,d,x,b,w,T=t;u||(u=!0,s&&r.clearTimeout(s),n=void 0,i=l||"",C.readyState=e>0?4:0,f=e>=200&&e<300||304===e,a&&(b=function(e,t,n){for(var r,o,i,a,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){l.unshift(o);break}if(l[0]in n)i=l[0];else{for(o in n){if(!l[0]||e.converters[o+" "+l[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==l[0]&&l.unshift(i),n[i]}(p,C,a)),!f&&S.inArray("script",p.dataTypes)>-1&&S.inArray("json",p.dataTypes)<0&&(p.converters["text script"]=function(){}),b=function(e,t,n,r){var o,i,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];for(i=c.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=i,i=c.shift())if("*"===i)i=l;else if("*"!==l&&l!==i){if(!(a=u[l+" "+i]||u["* "+i]))for(o in u)if((s=o.split(" "))[1]===i&&(a=u[l+" "+s[0]]||u["* "+s[0]])){!0===a?a=u[o]:!0!==u[o]&&(i=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+l+" to "+i}}}return{state:"success",data:t}}(p,b,C,f),f?(p.ifModified&&((w=C.getResponseHeader("Last-Modified"))&&(S.lastModified[o]=w),(w=C.getResponseHeader("etag"))&&(S.etag[o]=w)),204===e||"HEAD"===p.type?T="nocontent":304===e?T="notmodified":(T=b.state,d=b.data,f=!(x=b.error))):(x=T,!e&&T||(T="error",e<0&&(e=0))),C.status=e,C.statusText=(t||T)+"",f?v.resolveWith(h,[d,T,C]):v.rejectWith(h,[C,T,x]),C.statusCode(y),y=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[C,p,f?d:x]),m.fireWith(h,[C,T]),c&&(g.trigger("ajaxComplete",[C,p]),--S.active||S.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,t){S[t]=function(e,n,r,o){return m(n)&&(o=o||r,r=n,n=void 0),S.ajax(S.extend({url:e,type:t,dataType:o,data:n,success:r},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return m(e)?this.each(function(t){S(this).wrapInner(e.call(this,t))}):this.each(function(){var t=S(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=m(e);return this.each(function(n){S(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new r.XMLHttpRequest}catch(e){}};var Kt={0:200,1223:204},Zt=S.ajaxSettings.xhr();v.cors=!!Zt&&"withCredentials"in Zt,v.ajax=Zt=!!Zt,S.ajaxTransport(function(e){var t,n;if(v.cors||Zt&&!e.crossDomain)return{send:function(o,i){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest"),o)s.setRequestHeader(a,o[a]);t=function(e){return function(){t&&(t=n=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Kt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),n=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=n:s.onreadystatechange=function(){4===s.readyState&&r.setTimeout(function(){t&&n()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,o){t=S("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),x.head.appendChild(t[0])},abort:function(){n&&n()}}});var en,tn=[],nn=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=tn.pop()||S.expando+"_"+_t.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var o,i,a,s=!1!==e.jsonp&&(nn.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&nn.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return o=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(nn,"$1"+o):!1!==e.jsonp&&(e.url+=(Nt.test(e.url)?"&":"?")+e.jsonp+"="+o),e.converters["script json"]=function(){return a||S.error(o+" was not called"),a[0]},e.dataTypes[0]="json",i=r[o],r[o]=function(){a=arguments},n.always(function(){void 0===i?S(r).removeProp(o):r[o]=i,e[o]&&(e.jsonpCallback=t.jsonpCallback,tn.push(o)),a&&m(i)&&i(a[0]),a=i=void 0}),"script"}),v.createHTMLDocument=((en=x.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===en.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=x.implementation.createHTMLDocument("")).createElement("base")).href=x.location.href,t.head.appendChild(r)):t=x),i=!n&&[],(o=I.exec(e))?[t.createElement(o[1])]:(o=Oe([e],t,i),i&&i.length&&S(i).remove(),S.merge([],o.childNodes)));var r,o,i},S.fn.load=function(e,t,n){var r,o,i,a=this,s=e.indexOf(" ");return s>-1&&(r=St(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),a.length>0&&S.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(e){return S.grep(S.timers,function(t){return e===t.elem}).length},S.offset={setOffset:function(e,t,n){var r,o,i,a,s,l,u=S.css(e,"position"),c=S(e),f={};"static"===u&&(e.style.position="relative"),s=c.offset(),i=S.css(e,"top"),l=S.css(e,"left"),("absolute"===u||"fixed"===u)&&(i+l).indexOf("auto")>-1?(a=(r=c.position()).top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(l)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+o),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){S.offset.setOffset(this,e,t)});var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],o={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((o=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),o.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-o.top-S.css(r,"marginTop",!0),left:t.left-o.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===S.css(e,"position");)e=e.offsetParent;return e||ge})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;S.fn[e]=function(r){return ee(this,function(e,r,o){var i;if(y(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===o)return i?i[t]:e[r];i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o},e,r,arguments.length)}}),S.each(["top","left"],function(e,t){S.cssHooks[t]=et(v.pixelPosition,function(e,n){if(n)return n=Ze(e,t),Ve.test(n)?S(e).position()[t]+"px":n})}),S.each({Height:"height",Width:"width"},function(e,t){S.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){S.fn[r]=function(o,i){var a=arguments.length&&(n||"boolean"!=typeof o),s=n||(!0===o||!0===i?"margin":"border");return ee(this,function(t,n,o){var i;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?S.css(t,n,s):S.style(t,n,o,s)},t,a?o:void 0,a)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){S.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}});var rn=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),o=function(){return e.apply(t||this,r.concat(s.call(arguments)))},o.guid=e.guid=e.guid||S.guid++,o},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=j,S.isFunction=m,S.isWindow=y,S.camelCase=oe,S.type=T,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(rn,"$1")},void 0===(n=function(){return S}.apply(t,[]))||(e.exports=n);var on=r.jQuery,an=r.$;return S.noConflict=function(e){return r.$===S&&(r.$=an),e&&r.jQuery===S&&(r.jQuery=on),S},void 0===o&&(r.jQuery=r.$=S),S})}},t={};(function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports})(320)})();
@@ -51,4 +51,31 @@
51
51
  .reset-task[disabled] {
52
52
  pointer-events: none;
53
53
  opacity: 0.4;
54
- }</style><script defer="defer" src="dashboard.bundle.js"></script></head><body style="padding-top: 50px; padding-bottom: 50px;"><div id="main_div" style="width: calc(100% - 200px); min-width: 1000px; margin-left: auto; margin-right: auto;"><div style="margin-bottom: 15px; font-size: 0.9em; color: #555;">💤not started &nbsp;&nbsp; ✍️in progress &nbsp;&nbsp; ✅completed & passed &nbsp;&nbsp;❌completed & failed &nbsp;&nbsp;&nbsp;&nbsp; 🔗annotator link &nbsp;&nbsp; 👁️anotator link (view-only) &nbsp;&nbsp; 🗑️reset annotator progress</div><div id="dashboard_div"></div><br><a class="abutton" id="download_progress" style="width: 300px; margin-right: 20px;">Download progress metadata 💾</a> <a class="abutton" id="download_annotations" style="width: 300px; margin-right: 20px;">Download all annotations 💾</a></div></body></html>
54
+ }
55
+
56
+ .dashboard-content {
57
+ display: flex;
58
+ gap: 30px;
59
+ align-items: flex-start;
60
+ }
61
+
62
+ .dashboard-table {
63
+ flex-shrink: 0;
64
+ }
65
+
66
+ .results-section {
67
+ flex-shrink: 0;
68
+ min-width: 300px;
69
+ }
70
+
71
+ .results-table th:not(:first-child),
72
+ .results-table td:not(:first-child) {
73
+ padding-left: 5px;
74
+ text-align: right;
75
+ }
76
+
77
+ @media (max-width: 1400px) {
78
+ .white-box {
79
+ overflow-x: auto;
80
+ }
81
+ }</style><script defer="defer" src="dashboard.bundle.js"></script></head><body style="padding-top: 50px; padding-bottom: 50px;"><div id="main_div" style="width: calc(100% - 200px); min-width: 1300px; margin-left: auto; margin-right: auto;"><div style="margin-bottom: 15px; font-size: 0.9em; color: #555;">💤not started &nbsp;&nbsp; ✍️in progress &nbsp;&nbsp; ✅completed & passed &nbsp;&nbsp;❌completed & failed &nbsp;&nbsp;&nbsp;&nbsp; 🔗annotator link &nbsp;&nbsp; 👁️anotator link (view-only) &nbsp;&nbsp; 🗑️reset annotator progress</div><div id="dashboard_div"></div><br><a class="abutton" id="download_progress" style="width: 300px; margin-right: 20px;">Download progress metadata 💾</a> <a class="abutton" id="download_annotations" style="width: 300px; margin-right: 20px;">Download all annotations 💾</a></div></body></html>